Monitoring 에이전트 설치하기

이 가이드에서는 Compute Engine 및 Amazon Elastic Compute Cloud(EC2) 가상 머신(VM) 인스턴스에 모니터링용 Stackdriver Monitoring 에이전트를 설치하는 방법을 설명합니다. 자세한 내용은 지원되는 VM 인스턴스를 참조하세요.

Monitoring 에이전트 사용은 선택사항이지만 권장됩니다. Monitoring은 에이전트 없이도 CPU 사용률, 일부 디스크 트래픽 측정항목, 네트워크 트래픽, 가동시간 등의 몇 가지 측정항목에 액세스할 수 있습니다.

Microsoft Windows를 실행하는 인스턴스에서는 에이전트가 CPU 사용률 및 메모리, 페이지 파일, 볼륨 사용량을 기록합니다. IIS 또는 SQL 서버를 실행하는 경우 에이전트가 기본적으로 이러한 서비스에서 측정항목을 수집합니다.

시작하기 전에

에이전트를 설치하려면 다음 중 하나가 있는지 확인하세요.

  • Google Cloud Platform(GCP) 프로젝트 또는 Amazon Web Services(AWS) 계정의 지원되는 VM 인스턴스
    • Monitoring 에이전트를 실행하려면 최소 250MiB의 상주(RSS) 메모리가 권장됩니다.
  • VM 인스턴스가 포함된 GCP 프로젝트 또는 AWS 계정을 모니터링하는 작업공간
  • Stackdriver와의 통신을 승인하는 VM 인스턴스의 사용자 인증 정보

    • 대개 GCP VM 인스턴스에는 기본적으로 올바른 사용자 인증 정보가 있습니다.

    • AWS 인스턴스의 경우 에이전트를 설치하기 전에 VM에 승인 사용자 인증 정보를 설치해야 합니다.

AWS VM 인스턴스용 GCP 프로젝트

Stackdriver 문서에서 'VM 인스턴스와 연결된 GCP 프로젝트'를 지칭하는 경우가 많습니다. AWS VM 인스턴스의 경우 이는 AWS 계정에 연결된 AWS 커넥터 프로젝트를 가리킵니다.

Stackdriver는 사용자가 AWS 계정을 작업공간에 연결할 때 AWS 커넥터 프로젝트를 만듭니다. 커넥터 프로젝트는 다음과 같은 속성을 갖고 있습니다.

  • AWS Link로 시작하는 이름
  • aws-로 시작하는 ID

이 ID를 'VM 인스턴스와 연결된 GCP 프로젝트'의 ID로 사용합니다.

자세한 내용은 Stackdriver Monitoring 빠른 시작(AWS)을 참조하세요.

원격 패키지 액세스가 없는 VM

Monitoring 에이전트를 설치하려면 에이전트 패키지 및 (Linux의 경우) 종속 항목의 원격 패키지 저장소에 대한 액세스가 필요합니다. VM 호스트의 보안 정책에 따라 원격 패키지 저장소에 대한 액세스가 거부되는 경우 이미지에서 에이전트가 사전 설치된 커스텀 VM 이미지를 만들고 패키지 관리를 사용 중지하는 것이 좋습니다.

에이전트 승인하기

Monitoring 에이전트를 설치하기 전에 VM 인스턴스에 에이전트를 사용하는 데 필요한 사용자 인증 정보가 있는지 확인합니다. 에이전트가 Monitoring에 모니터링 정보를 전송할 수 있는 권한을 갖고 있어야 합니다. 권한은 VM 인스턴스에 저장된 서비스 계정 사용자 인증 정보를 사용하여 부여되며 에이전트의 애플리케이션 기본 사용자 인증 정보 역할을 합니다.

  • Compute Engine VM 인스턴스에 에이전트를 설치하는 경우 인스턴스의 기본 서비스 계정에 에이전트를 사용하는 데 필요한 사용자 인증 정보가 있어야 합니다. 그러나 매우 오래된 인스턴스나 기본 사용자 인증 정보 없이 생성된 인스턴스에는 비공개 키 사용자 인증 정보가 필요합니다. 사용자 인증 정보를 확인하려면 다음 섹션인 Compute Engine 사용자 인증 정보 확인하기를 참조하세요.

  • Amazon EC2 VM 인스턴스에 에이전트를 설치하는 경우 기본 서비스 계정이 없습니다. 대신 AWS 커넥터 프로젝트의 서비스 계정에서 비공개 키 사용자 인증 정보를 수동으로 가져와야 합니다. 인스턴스에 비공개 키 사용자 인증 정보가 이미 있다고 생각되는 경우 비공개 키 사용자 인증 정보 확인하기를 참조하여 확인하세요. 비공개 키 사용자 인증 정보를 추가하려면 사용자 인증 정보 추가하기로 건너뜁니다.

사용자 인증 정보 추가하기

Compute Engine VM 인스턴스에 에이전트를 설치하고 기본 사용자 인증 정보로 인스턴스를 만든 경우 이 섹션을 건너뛰고 Linux에 설치하기Windows에 설치하기로 바로 이동할 수 있습니다. 올바른 사용자 인증 정보를 갖고 있는지 확실하지 않은 경우 Compute Engine 사용자 인증 정보 확인하기를 참조하세요.

다음 섹션에서는 Compute Engine 인스턴스에 올바른 사용자 인증 정보가 없거나 Amazon EC2 인스턴스에 에이전트를 설치하는 경우 어떻게 해야 하는지를 설명합니다.

  1. 필요한 권한과 비공개 키 사용자 인증 정보로 서비스 계정을 만듭니다.
  2. VM 인스턴스에 비공개 키 사용자 인증 정보를 복사합니다. 이 정보는 인스턴스에서 실행되는 소프트웨어의 애플리케이션 기본 사용자 인증 정보로 사용됩니다.

서비스 계정 만들기

GCP Console의 IAM 및 관리자 > 서비스 계정 페이지를 사용하여 VM 인스턴스와 연결된 GCP 프로젝트의 서비스 계정과 비공개 키를 만듭니다.

IAM 서비스 계정 페이지 열기

  1. 프로젝트 선택을 클릭하고 서비스 계정을 만들 GCP 프로젝트를 선택합니다.

    • Compute Engine 인스턴스의 경우 인스턴스를 만든 프로젝트를 선택합니다. 작업공간 호스팅 프로젝트에 인스턴스를 만든 경우 해당 작업공간을 선택합니다.

    • Amazon EC2 인스턴스의 경우 AWS 계정에 Monitoring을 연결할 때 생성된 AWS 커넥터 프로젝트를 선택합니다. 커넥터 프로젝트의 이름은 대개 AWS Link로 시작합니다. 작업공간 프로젝트에 서비스 계정을 만들지 마세요.

    열기를 클릭합니다. 기존 서비스 계정이 없으면 서비스 계정을 만들라는 대화상자가 나타납니다. 그렇지 않으면 다음 서비스 계정 페이지가 표시됩니다.

    서비스 계정

  2. 서비스 계정 페이지에서 서비스 계정 만들기를 클릭합니다.

  3. 서비스 계정 세부정보 창에서 다음 정보를 입력합니다.

    1. 서비스 계정 이름을 입력합니다(예: Agent service account).
    2. 서비스 계정 설명을 입력합니다.
    3. 만들기를 클릭합니다.
  4. 서비스 계정 권한 창에서 다음 정보를 입력합니다.

    1. 역할 선택 드롭다운 메뉴에서 Monitoring > 모니터링 측정항목 작성자를 선택합니다. 이 역할은 Monitoring 에이전트에 권한을 부여합니다.
    2. 다른 역할 추가를 클릭합니다.
    3. 새로운 역할 선택 드롭다운 메뉴에서 Logging > 로그 작성자를 선택합니다. 이 역할은 Stackdriver Logging 에이전트에 권한을 부여합니다. 이 역할을 추가하면 이 서비스 계정으로 두 가지 Stackdriver 에이전트를 모두 실행할 수 있습니다.
    4. 계속을 클릭합니다.
  5. 사용자에게 이 서비스 계정에 대한 액세스 권한 부여 창에서 다음 안내를 따릅니다.

    1. 키 만들기를 클릭합니다.
    2. 키 유형으로 JSON을 선택합니다.
    3. 만들기를 클릭합니다.

    키가 생성되면 GCP Console에서 비공개 키 파일을 워크스테이션의 다운로드 디렉토리에 기록하고 다음과 유사한 팝업 대화상자를 표시합니다.

    비공개 키 저장됨

  6. 팝업 창에서 닫기를 클릭합니다.

  7. 기본 서비스 계정 만들기 페이지에서 완료를 클릭합니다.

인스턴스에 비공개 키 복사하기

추가된 서비스 계정 사용자 인증 정보가 인식되도록 원하는 파일 복사 도구를 사용하여 비공개 키 파일을 VM 인스턴스의 다음 위치 중 하나에 복사해야 합니다.

  • Linux에만 해당: /etc/google/auth/application_default_credentials.json
  • Windows에만 해당: C:\ProgramData\Google\Auth\application_default_credentials.json
  • 변수 GOOGLE_APPLICATION_CREDENTIALS에 저장하는 모든 위치. 변수가 에이전트의 프로세스에 노출되어야 합니다.

다음 명령어는 편의상 환경 변수 CREDS가 사용자 인증 정보 파일을 가리키도록 설정합니다. 예를 들면 다음과 같습니다.

`CREDS="~/Downloads/{project_name}-{key_id}.json"`

다음 파일 복사 안내에서는 워크스테이션과 인스턴스 모두에 Linux 환경이 있다고 가정합니다. 다른 구성을 사용하는 경우 클라우드 제공업체의 문서에서 비공개 키 파일 복사 방법을 확인하세요. 이전 단계인 서비스 계정 만들기에서 변수 CREDS에 저장한 워크스테이션상 위치에 비공개 키 사용자 인증 정보를 저장해야 합니다.

Compute Engine

워크스테이션에서 gcloud 명령줄 도구를 사용합니다.

REMOTE_USER="$USER"
INSTANCE="{your-instance-id}"
ZONE="{your-instance-zone}"
gcloud compute scp "$CREDS" "$REMOTE_USER@$INSTANCE:~/temp.json" --zone "$ZONE"

Compute Engine 인스턴스에서 다음 명령어를 실행합니다.

APPLICATION_DEFAULT_CREDS="/etc/google/auth/application_default_credentials.json"
sudo mkdir -p /etc/google/auth
sudo mv "$HOME/temp.json" "$APPLICATION_DEFAULT_CREDS"
sudo chown root:root "$APPLICATION_DEFAULT_CREDS"
sudo chmod 0400 "$APPLICATION_DEFAULT_CREDS"

Amazon EC2

워크스테이션에서 scp를 사용합니다.

KEY="{your-ssh-key-pair-file}"
INSTANCE="ec2-{your-instance's-public-ip}.{your-zone}.compute.amazonaws.com"
# The remote user depends on the installed OS: ec2-user, ubuntu, root, etc.
REMOTE_USER="ec2-user"
scp -i "$KEY" "$CREDS" "$REMOTE_USER@$INSTANCE:~/temp.json"

EC2 인스턴스에서 다음 명령어를 실행합니다.

APPLICATION_DEFAULT_CREDS="/etc/google/auth/application_default_credentials.json"
sudo mkdir -p /etc/google/auth
sudo mv "$HOME/temp.json" "$APPLICATION_DEFAULT_CREDS"
sudo chown root:root "$APPLICATION_DEFAULT_CREDS"
sudo chmod 0400 "$APPLICATION_DEFAULT_CREDS"

다음 단계

이제 에이전트에 필요한 사용자 인증 정보가 VM 인스턴스에 있습니다.

  • 사용자 인증 정보를 다시 한 번 확인하려면 이 페이지의 비공개 키 사용자 인증 정보 확인하기를 참조합니다.

  • Monitoring 에이전트를 아직 설치하지 않은 경우 Linux에 설치하기Windows에 설치하기로 이동합니다.

  • 에이전트를 이미 설치한 경우 새 사용자 인증 정보를 사용하도록 에이전트를 다시 시작합니다. VM 인스턴스에서 다음 Linux 명령어를 사용합니다.

    sudo service stackdriver-agent restart
    

Linux에 설치하기

이 단계에서는 작업공간에서 모니터링 중인 Linux를 실행하는 VM 인스턴스가 있으며 에이전트에 적합한 사용자 인증 정보가 인스턴스에 있다고 가정합니다. 자세한 내용은 사용자 인증 정보 추가하기를 참조하세요. 다음 안내는 Google Compute Engine 인스턴스와 Amazon EC2 인스턴스 모두에 적용됩니다.

  1. VM 인스턴스에서 다음 명령어를 실행하여 모니터링 에이전트를 설치합니다.

    curl -sSO https://dl.google.com/cloudagents/install-monitoring-agent.sh
    sudo bash install-monitoring-agent.sh
    

    설치가 끝나면 다음과 같은 메시지가 나타납니다.

    Restarting services
    [ ok ] Restarting stackdriver-agent (via systemctl): stackdriver-agent.service.
    
  2. HTTP 프록시를 사용하는 경우 다음을 수행합니다.

    1. Monitoring 에이전트의 시스템 기본값 파일을 수정하여 PROXY_URL을 HTTP 프록시의 URL로 설정합니다. 이 URL은 Google에서 제공하는 값이 아닌 사용자 구성에서 가져옵니다. 구성 파일의 이름은 사용 중인 Linux 버전에 따라 다릅니다.

      • Debian 및 Ubuntu의 경우 /etc/default/stackdriver-agent를 수정합니다.
      • Amazon Linux, Red Hat, CentOS, SUSE의 경우 /etc/sysconfig/stackdriver를 수정합니다.
    2. VM 인스턴스에서 다음 명령어를 실행하여 Monitoring 에이전트를 다시 시작합니다.

      sudo service stackdriver-agent restart
      

에이전트 설치가 완료되었습니다. 문제가 있는 경우 문제해결을 참조하세요.

Windows에 설치하기

Windows를 실행하는 VM 인스턴스에 에이전트를 설치하려면 인스턴스로의 RDP 또는 유사한 연결을 설정하고 Windows에 로그인한 후 다음 단계를 수행하세요.

  1. HTTP 프록시를 사용하는 경우 관리자 명령 프롬프트에서 다음 명령어를 실행하여 에이전트가 아웃바운드 HTTPS로 Monitoring에 데이터를 전송할 수 있도록 https_proxy 환경 변수를 설정합니다.

    setx https_proxy https://[YOUR_PROXY_SERVER_URI] /m
    

    셸을 다시 시작하여 이 설정을 적용합니다.

  2. 다음 URL로 이동하여 에이전트 설치 프로그램을 다운로드하고 실행합니다.

    https://repo.stackdriver.com/windows/StackdriverMonitoring-GCM-46.exe

    다음 PowerShell 명령어로도 이 작업을 수행할 수 있습니다.

    cd $env:UserProfile;
    Invoke-WebRequest https://repo.stackdriver.com/windows/StackdriverMonitoring-GCM-46.exe -OutFile StackdriverMonitoring-GCM-46.exe;
    .\StackdriverMonitoring-GCM-46.exe
    

이제 에이전트 설치가 완료되었습니다.

에이전트를 자동으로 설치하려면 설치 프로그램 호출에 /S 옵션을 추가하세요.

.\StackdriverMonitoring-GCM-46.exe /S

'자동' 모드에서는 /D 옵션을 사용하여 설치 디렉토리를 지정합니다. 예를 들면 다음과 같습니다.

.\StackdriverMonitoring-GCM-46.exe /S /D="C:\Stackdriver\Monitoring\"

자동 설치

Ansible, Chef, Puppet을 포함한 인기 구성 관리자용 설치 스크립트는 공급업체 및 기타 커뮤니티 회원이 제공합니다. 새 스크립트를 사용할 수 있게 되면 해당 링크가 게시됩니다.

에이전트 버전 확인하기

시스템에서 실행 중인 Monitoring 에이전트의 버전을 확인하려면 VM 인스턴스에서 다음 명령어를 실행합니다.

Debian 및 Ubuntu

dpkg-query --show --showformat \
    '${Package} ${Version} ${Architecture} ${Status}\n' \
    stackdriver-agent

Amazon Linux

rpm --query --queryformat '%{NAME} %{VERSION} %{RELEASE} %{ARCH}\n' \
    stackdriver-agent

Red Hat 및 CentOS

rpm --query --queryformat '%{NAME} %{VERSION} %{RELEASE} %{ARCH}\n' \
    stackdriver-agent

SUSE

rpm --query --queryformat '%{NAME} %{VERSION} %{RELEASE} %{ARCH}\n' \
    stackdriver-agent

Microsoft Windows

현재는 Windows에서 실행 중인 Monitoring 에이전트의 버전을 확인할 수 있는 방법이 없습니다.

에이전트 업데이트하기

다음 표의 명령어를 사용하여 에이전트를 업데이트하세요.

Debian 및 Ubuntu

Debian 또는 Ubuntu Linux에서 다음 명령어를 실행합니다.

sudo apt-get update
sudo apt-get install stackdriver-agent

Amazon Linux

Amazon Linux에서 다음 명령어를 실행합니다.

sudo yum update stackdriver-agent

Red Hat 및 CentOS

Red Hat 또는 CentOS Linux에서 다음 명령어를 실행합니다.

sudo yum update stackdriver-agent

SUSE

SUSE Linux에서 다음 명령어를 실행합니다.

sudo zypper update stackdriver-agent

Microsoft Windows

Microsoft Windows 에이전트를 업그레이드하려면 Microsoft Windows에 설치하기의 설명에 따라 새 에이전트 버전을 설치합니다. 설치되어 있는 이전 에이전트는 삭제됩니다.

에이전트 삭제하기

다음 표의 명령어를 사용하여 에이전트를 제거하세요.

Debian 및 Ubuntu

Debian 또는 Ubuntu Linux에서 다음 명령어를 실행합니다.

sudo apt-get purge stackdriver-agent

Amazon Linux

Amazon Linux에서 다음 명령어를 실행합니다.

sudo yum remove stackdriver-agent

Red Hat 및 CentOS

Red Hat 또는 CentOS Linux에서 다음 명령어를 실행합니다.

sudo yum remove stackdriver-agent

SUSE

SUSE Linux에서 다음 명령어를 실행합니다.

sudo zypper remove stackdriver-agent

Microsoft Windows

Windows 제어판에서 프로그램 제거를 선택합니다. 제거할 수 있는 프로그램 목록에 Monitoring 에이전트가 표시되어야 합니다.

문제해결

문제해결 페이지를 참조하세요.

이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

Stackdriver Monitoring
도움이 필요하시나요? 지원 페이지를 방문하세요.