개별 VM에 Cloud Logging 에이전트 설치

Logging 에이전트는 VM 인스턴스와 선택된 타사 소프트웨어 패키지의 로그를 Cloud Logging으로 스트리밍합니다. 모든 VM 인스턴스에서 Logging 에이전트를 실행하는 것이 가장 좋습니다.

Compute Engine 및 Amazon Elastic Compute Cloud(EC2)용 VM 이미지에는 Logging 에이전트가 없으므로 이 단계를 완료하여 해당 인스턴스에 설치해야 합니다. 이 에이전트는 Linux와 Windows 모두에서 실행됩니다.

Google Kubernetes Engine 또는 App Engine에서 VM을 실행할 경우 VM 이미지에 에이전트가 이미 포함되어 있으므로 이 페이지를 건너 뛰어도 됩니다.

표준 Cloud Logging 에이전트보다 높은 처리량 또는 향상된 리소스 효율성을 요구하는 특수한 로깅 워크로드를 실행하는 경우 Ops 에이전트를 사용하는 것이 좋습니다.

시작하기 전에

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

  • Google Cloud 프로젝트 또는 Amazon Web Services(AWS) 계정의 지원되는 VM 인스턴스

    • Logging 에이전트를 설치하는 경우 필수 메모리는 최소 250MiB이지만 1GiB 이상이 좋습니다.

    또한 VM이 지원하는 운영체제를 실행 중인지 확인하세요.

  • Cloud Logging 또는 Cloud Monitoring과의 통신을 승인하는 VM 인스턴스의 사용자 인증 정보 대개 Compute Engine VM 인스턴스에는 기본적으로 올바른 사용자 인증 정보가 있습니다. 다음 시나리오 중 하나에 해당하면 적절한 사용자 인증 정보가 없어서 에이전트 승인 절차를 수행해야 할 수 있습니다.

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

    • 실행 중인 매우 오래된 Compute Engine 인스턴스 또는 기본 사용자 인증 정보 없이 생성된 Compute Engine 인스턴스

    적절한 사용자 인증 정보가 있는지 확인하려면 Compute Engine 사용자 인증 정보 확인 절차를 수행하세요.

  • AWS 사용자의 경우 다음을 수행합니다.

    1. AWS 계정을 Google Cloud에 연결합니다. 이 프로세스에 대한 상세 내용은 AWS 계정의 측정항목 보기를 참조하세요.

    2. 자세한 내용은 AWS EC2 VM 인스턴스용 Google Cloud 프로젝트 섹션을 참조하세요.

  • 가격 정보는 Google Cloud 운영 제품군 가격 책정을 참조하세요.

  • 원격 패키지 저장소에 대해 액세스 권한이 없는 VM을 사용하는 경우 원격 패키지 액세스 권한이 없는 VM 섹션에서 자세한 내용을 확인하세요.

명령줄을 사용하여 에이전트 설치

명령줄을 사용하여 에이전트를 설치하려면 다음 안내를 따르세요.

최신 버전의 에이전트 설치

에이전트의 최신 버전을 설치하려면 다음 단계를 완료하세요.

Linux

  1. SSH 또는 유사한 도구를 사용하여 VM 인스턴스와의 터미널 연결을 열고 sudo 액세스 권한이 있는지 확인합니다.

  2. 홈 디렉터리와 같은 쓰기 액세스 권한이 있는 디렉터리로 변경합니다.

  3. 실행:

    curl -sSO https://dl.google.com/cloudagents/add-logging-agent-repo.sh
    sudo bash add-logging-agent-repo.sh --also-install
    

Windows

  1. RDP 또는 유사한 도구를 사용하여 인스턴스에 연결하고 Windows에 로그인합니다.

  2. PowerShell 아이콘을 마우스 오른쪽 버튼으로 클릭하고 관리자 권한으로 실행을 선택하여 관리자 권한이 있는 PowerShell 터미널을 엽니다.

  3. 다음 PowerShell 명령어를 실행합니다.

    (New-Object Net.WebClient).DownloadFile("https://dl.google.com/cloudagents/windows/StackdriverLogging-v1-17.exe", "${env:UserProfile}\StackdriverLogging-v1-17.exe")
    & "${env:UserProfile}\StackdriverLogging-v1-17.exe"
    

특정 버전의 에이전트 설치

에이전트의 특정 버전을 설치하려면 다음 단계를 완료하세요.

Linux

  1. SSH 또는 유사한 도구를 사용하여 VM 인스턴스와의 터미널 연결을 열고 sudo 액세스 권한이 있는지 확인합니다.

  2. 홈 디렉터리와 같은 쓰기 액세스 권한이 있는 디렉터리로 변경합니다.

  3. 에이전트 설치 스크립트를 다운로드합니다.

    curl -sSO https://dl.google.com/cloudagents/add-logging-agent-repo.sh
    

    add-logging-agent-repo.sh 스크립트를 실행할 때 다음 플래그를 설정할 수도 있습니다.

    • --verbose: 스크립트 실행 중 상세 로깅을 설정합니다.
    • --also-install: 에이전트 패키지 저장소를 추가한 후 에이전트를 설치합니다.
    • --version: 스크립트로 설치할 에이전트 버전을 설정합니다.
    • --uninstall: 에이전트를 제거합니다.
    • --remove-repo: 에이전트를 설치하거나 제거한 후 해당 에이전트 패키지 저장소를 삭제합니다.
    • --dry-run: 스크립트 실행에 대한 테스트 실행만 트리거하고 실행해야 하는 명령어를 출력합니다.
    • --uninstall-standalone-logging-agent: 기존 Logging 에이전트(StackdriverLogging)를 제거합니다.
    • --uninstall-standalone-monitoring-agent: 기존 Monitoring 에이전트(StackdriverMonitoring)를 제거합니다.

    자세한 내용 및 사용 예시는 스크립트 주석을 참조하세요.

  4. 에이전트의 패키지 저장소를 추가하고 에이전트를 설치합니다.

    1. 설치할 버전을 선택하기 위해 사용 가능한 에이전트 버전을 확인하려면 모든 에이전트 버전 나열을 참조하세요.

    2. 프로덕션 환경에서는 이전 버전과 호환되지 않는 변경사항이 포함될 수 있는 주 버전을 설치하지 않도록 주 버전에 고정하는 것이 좋습니다. 주 버전에 고정하려면 다음을 실행합니다.

      sudo bash add-logging-agent-repo.sh --also-install \
        --version=MAJOR_VERSION.*.*
      

      예를 들어 에이전트의 1.x.x에 고정하려면 다음을 실행합니다.

      sudo bash add-logging-agent-repo.sh --also-install \
        --version=1.*.*
      
    3. 특정 버전의 에이전트를 설치하려면 다음을 실행합니다.

      sudo bash add-logging-agent-repo.sh --also-install \
        --version=MAJOR_VERSION.MINOR_VERSION.PATCH_VERSION
      
  5. 에이전트 서비스 다시 시작

    위의 포괄 패키지로 설치된 구성을 적용하려면 다시 시작해야 합니다.

    sudo service google-fluentd restart
    

성공적으로 실행된 후에는 설치 스크립트를 삭제해도 됩니다.

  • 에이전트가 예상대로 작동하는지 확인하려면 다음을 실행합니다.

    sudo service google-fluentd status
    

    에이전트의 상태는 OK여야 합니다.

  • 로그를 검토하여 오류가 없는지 확인할 수도 있습니다.

    tail /var/log/google-fluentd/google-fluentd.log
    

설치에 문제가 있으면 문제 해결 페이지를 참조하세요.

Windows

  1. RDP 또는 유사한 도구를 사용하여 인스턴스에 연결하고 Windows에 로그인합니다.

  2. PowerShell 아이콘을 마우스 오른쪽 버튼으로 클릭하고 관리자 권한으로 실행을 선택하여 관리자 권한이 있는 PowerShell 터미널을 엽니다.

    1. 다음 PowerShell 명령어를 실행합니다.

      (New-Object Net.WebClient).DownloadFile("https://dl.google.com/cloudagents/windows/StackdriverLogging-v1-17.exe", "${env:UserProfile}\StackdriverLogging-v1-17.exe")
      & "${env:UserProfile}\StackdriverLogging-v1-17.exe"
      

    또는 다음 URL로 이동하여 에이전트의 설치 프로그램을 다운로드하고 실행해도 됩니다.

    https://dl.google.com/cloudagents/windows/StackdriverLogging-v1-17.exe

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

    & "${env:UserProfile}\StackdriverLogging-v1-17.exe" /S
    

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

    & "${env:UserProfile}\StackdriverLogging-v1-17.exe" /S /D="C:\Stackdriver\Logging\"
    

    설치가 성공적으로 완료되면 설치 프로그램을 삭제해도 됩니다.

    설치에 문제가 있으면 문제해결 페이지를 참조하세요.

Google Cloud Console을 사용하여 에이전트 설치

사전 구성된 Monitoring VM 인스턴스 대시보드에서 하나 이상의 Compute Engine VM에 에이전트를 설치할 수 있습니다.

이 대시보드를 사용하려면 다음을 수행합니다.

  1. Cloud Console에서 Google Cloud 프로젝트를 선택합니다.

    Cloud Console로 이동

  2. 탐색창에서 Monitoring을 선택합니다.

  3. Monitoring 탐색창에서 대시보드를 선택합니다.

  4. 대시보드 테이블에서 VM 인스턴스 항목을 찾은 다음 이름을 클릭합니다.

VM 인스턴스 대시보드의 인벤토리 탭에 다음 스크린샷과 같이 모든 VM이 나열되고 에이전트의 상태 열이 포함됩니다.

에이전트의 상태가 표시되는 Monitoring의 VM 인스턴스 대시보드

에이전트 열은 다음 값을 보고합니다.

  • 감지되지 않음: 에이전트가 설치되어 있지 않습니다. Cloud Monitoring에서 Compute Engine 인스턴스에 설치된 에이전트를 감지하지 않으면 다음을 수행하여 에이전트를 설치할 수 있습니다.

    • 에이전트를 설치할 VM 인스턴스를 선택합니다.
    • 인스턴스 테이블에서 에이전트 설치 옵션을 클릭하여 대시보드에 설치 워크플로를 가져오고 안내를 따릅니다. 작업 에이전트는 설치된 기본 에이전트이지만 설치 워크플로는 기존 에이전트를 설치할 수 있는 링크를 제공합니다.

      작업 에이전트는 기본적으로 측정항목과 로그를 모두 수집합니다. 작업 에이전트를 구성하여 이 기본 동작을 변경할 수 있습니다.

  • 작업 에이전트: 작업 에이전트를 실행 중입니다.

  • 기존 에이전트: 기존 Monitoring 또는 Logging 에이전트를 실행 중입니다. 작업 에이전트로 전환하는 방법에 대한 자세한 내용은 기존 에이전트에서 작업 에이전트로 마이그레이션을 참조하세요.

  • 해당 없음: 이 VM은 에이전트를 실행하는 데 지원되는 플랫폼이 아닙니다.

  • VM 중지됨: VM이 실행되고 있지 않으므로 에이전트의 상태를 알 수 없습니다.

선택적 작업

이 섹션에서는 일반적인 유지보수 작업을 수행하는 방법을 설명합니다.

구조화된 로깅 사용 설정

Linux VM에서 설치 스크립트를 실행할 때 이 스크립트는 기본적으로 --also-install 플래그가 있을 때 google-fluentd-catch-all 패키지를 설치합니다. 구조화된 로깅으로 전환하려면 다음 단계를 완료하세요.

  1. /etc/google-fluentd/config.d/에 대해 모든 로컬 변경사항을 백업합니다.

  2. Linux 배포판에 따라 다음 명령어 중 하나를 실행합니다.

    • YUM:

      sudo yum remove -y google-fluentd-catch-all-config
      sudo yum install -y google-fluentd-catch-all-config-structured
      sudo service google-fluentd restart
      
    • APT:

      sudo apt-get remove -y google-fluentd-catch-all-config
      sudo apt-get install -y google-fluentd-catch-all-config-structured
      sudo service google-fluentd restart
      

구조화된 로깅에 대한 자세한 내용은 구조화된 로깅 가이드를 참조하세요.

에이전트 구성

에이전트는 알려진 특정 로그 위치를 모니터링하도록 사전 구성되어 있습니다. Linux의 경우 google-fluentd-catch-all-config 패키지에 기술된 이 위치를 설치 스크립트가 자동으로 가져옵니다. Windows의 경우 에이전트가 기본적으로 Windows 이벤트 로그를 모니터링합니다.

에이전트 구성을 조정하려면 에이전트 구성을 참조하세요.

HTTP 프록시 구성

Logging 및 Monitoring API로 요청을 프록시하기 위해 HTTP 프록시를 사용하는 경우 다음을 수행합니다.

Linux

  1. 다음 구성 파일을 수정합니다(아직 없는 경우 파일 생성).

     /etc/default/google-fluentd
    
  2. 파일에 다음을 추가합니다.

     export http_proxy="http://proxy-ip:proxy-port"
     export https_proxy="http://proxy-ip:proxy-port"
     export no_proxy=169.254.169.254  # Skip proxy for the local Metadata Server.
    
  3. VM 인스턴스에서 다음 명령어를 실행하여 에이전트를 다시 시작합니다.

     sudo service google-fluentd restart
    

Windows

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

    setx http_proxy http://proxy-ip:proxy-port /m
    setx https_proxy http://proxy-ip:proxy-port /m
    setx no_proxy 169.254.169.254 /m
    

에이전트 버전 확인하기

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

AMAZON LINUX AMI / CENTOS / RHEL

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

rpm --query --queryformat '%{NAME} %{VERSION} %{RELEASE} %{ARCH}\n' \
     google-fluentd ∖
     google-fluentd-catch-all-config ∖
     google-fluentd-catch-all-config-structured

Debian / Ubuntu

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

dpkg-query --show --showformat \
    '${Package} ${Version} ${Architecture} ${Status}\n' \
     google-fluentd ∖
     google-fluentd-catch-all-config ∖
     google-fluentd-catch-all-config-structured

SLES / SUSE

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

rpm --query --queryformat '%{NAME} %{VERSION} %{RELEASE} %{ARCH}\n' \
     google-fluentd ∖
     google-fluentd-catch-all-config ∖
     google-fluentd-catch-all-config-structured

WINDOWS

  1. RDP 또는 유사한 도구를 사용하여 인스턴스에 연결하고 Windows에 로그인합니다.

  2. PowerShell 아이콘을 마우스 오른쪽 버튼으로 클릭하고 관리자 권한으로 실행을 선택하여 관리자 권한이 있는 PowerShell 터미널을 엽니다.

  3. 다음 PowerShell 명령어를 실행합니다.

     reg query HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\GoogleStackdriverLoggingAgent\ /v Version
    

에이전트 다시 시작

구성 파일의 변경사항을 적용하려면 Logging 에이전트를 다시 시작해야 합니다. 에이전트를 다시 시작하려면 다음 안내를 따르세요.

LINUX

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

 sudo service google-fluentd restart

Logging 에이전트를 다시 시작한 후에 테스트 메시지를 전송하는 것이 좋습니다.

Windows

  1. RDP 또는 유사한 도구를 사용하여 인스턴스에 연결하고 Windows에 로그인합니다.

  2. PowerShell 아이콘을 마우스 오른쪽 버튼으로 클릭하고 관리자 권한으로 실행을 선택하여 관리자 권한이 있는 PowerShell 터미널을 엽니다.

  3. 다음 PowerShell 명령어를 실행합니다.

Restart-Service -Name StackdriverLogging

에이전트 업그레이드

Logging 에이전트를 최신 출시 버전으로 업그레이드하려면 다음 안내에 따르세요.

Linux

에이전트를 최신 버전으로 업그레이드하려면 다음 명령어를 실행합니다.

sudo bash add-logging-agent-repo.sh --also-install

특정 주 버전의 최신 포인트 출시 버전으로 에이전트를 업그레이드하려면 다음 명령어를 실행합니다.

sudo bash add-logging-agent-repo.sh --also-install \
  --version=MAJOR_VERSION.*.*

Windows

최신 에이전트 출시 버전으로 업그레이드하려면 이 페이지의 Windows에 설치에 설명된 대로 최신 에이전트를 설치합니다. 설치 프로그램에서 에이전트의 이전 버전을 제거하라는 메시지를 표시합니다.

모든 에이전트 버전 나열

사용 가능한 에이전트 버전을 나열하려면 다음 명령어를 실행합니다.

AMAZON LINUX AMI / CENTOS / RHEL

사용 가능한 에이전트 버전을 나열합니다.

sudo yum list --showduplicates google-fluentd

DEBIAN / UBUNTU

사용 가능한 에이전트 버전을 나열합니다.

sudo apt-cache madison google-fluentd

SLES / SUSE

사용 가능한 에이전트 버전을 나열합니다.

sudo zypper search -s google-fluentd

WINDOWS

Windows에서 이전 버전의 에이전트 설치는 지원되지 않습니다.

에이전트 제거

Logging 에이전트와 구성 파일을 삭제하려면 다음 안내를 따르세요.

에이전트를 제거한 후 Google Cloud Console이 이 변경사항을 보고하는 데 최대 1시간이 걸릴 수 있습니다.

Linux

다음 명령어를 실행합니다.

sudo bash add-logging-agent-repo.sh --uninstall

Windows

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

AWS EC2 VM 인스턴스용 Google Cloud 프로젝트에 대한 정보

문서가 EC2 VM 인스턴스에 대하여 VM 인스턴스에 연결된 Google Cloud 프로젝트를 참조한다는 것은 AWS 계정에 연결된 AWS 커넥터 프로젝트를 의미합니다.

AWS 계정을 Google Cloud에 연결하면 AWS 커넥터 프로젝트가 생성됩니다. 이 프로세스에 대한 상세 내용은 AWS 계정의 측정항목 보기를 참조하세요.

AWS 계정의 AWS 커넥터 프로젝트에 액세스하려면 다음 중 하나를 수행하세요.

  • Google Cloud Console 프로젝트 선택기를 사용하여 AWS 커넥터 프로젝트 이름 지정 규칙과 일치하는 프로젝트를 식별한 후에 AWS 계정의 특정 프로젝트를 선택합니다.

  • 측정항목 범위에 AWS 계정 측정항목이 포함된 Google Cloud 프로젝트를 확인하고 Google Cloud Console 프로젝트 선택기에서 해당 프로젝트를 선택합니다. 이 Google Cloud 프로젝트의 경우 모니터링 페이지로 이동한 다음 설정 페이지를 선택합니다. 설정 페이지에 AWS 커넥터 프로젝트가 나열됩니다. Google Cloud Console 프로젝트 선택기를 사용하여 AWS 커넥터 프로젝트에 액세스할 수 있습니다.

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

Logging 에이전트를 설치하려면 에이전트 패키지와 (Linux의 경우) 종속 항목 모두 원격 패키지 저장소에 액세스해야 합니다.

VPC-SC 또는 비공개 네트워크를 사용하는 경우 네트워크 구성이 업스트림 저장소의 에이전트 종속 항목 설치 기능에 영향을 줄 수 있습니다. 에이전트 패키지 자체는 비공개 Google 액세스를 사용하여 액세스할 수 있습니다.

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

다음 단계