운영 에이전트 설치 및 시작 문제 해결

이 문서에서는 운영 에이전트의 설치 및 시작 시 문제를 진단하고 해결하는 데 도움이 되는 정보를 제공합니다. 에이전트가 실행 중이지만 로그 또는 측정항목을 수집하지 못하면 데이터 수집 문제 해결을 참조하세요.

시작하기 전에

문제 해결을 시도하기 전에 에이전트의 상태 점검 상태를 확인합니다.

에이전트 설치 실패

설치 스크립트를 실행할 때 다음과 같은 오류가 발생할 수 있습니다.

운영체제가 지원되지 않음

운영체제가 지원되지 않으면 운영 에이전트 설치가 실패합니다. 오류 메시지는 다음과 유사합니다.

Linux

https://packages.cloud.google.com/yum/repos/google-cloud-ops-agent-el6-x86_64-all/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404 Not Found"
Trying other mirror.
To address this issue please refer to the below wiki article

https://wiki.centos.org/yum-errors

If above article doesn't help to resolve this issue please use https://bugs.centos.org/.

Error: Cannot retrieve repository metadata (repomd.xml) for repository: google-cloud-ops-agent. Please verify its path and try again

운영 에이전트와 충돌하는 기존 에이전트가 설치되어 있음

VM에 이미 Cloud Logging 에이전트 또는 Cloud Monitoring 에이전트가 설치되어 있으면 새 에이전트와 충돌합니다. 오류 메시지는 다음과 유사합니다.

Linux

Error:
 Problem: problem with installed package stackdriver-agent-6.0.5-1.el8.x86_64 - package google-cloud-ops-agent-0.1.0-1.el8.x86_64 conflicts with stackdriver-agent provided by stackdriver-agent-6.0.5-1.el8.x86_64

운영 에이전트가 이전 에이전트와 호환되지 않는 새 구성 파일을 사용합니다. 자세한 내용은 운영 에이전트 구성 가이드를 참조하세요.

이 오류를 고치려면 다음 안내를 따르세요.

  1. Cloud Monitoring 에이전트Cloud Logging 에이전트에 대해 커스텀 구성 파일을 저장합니다.

  2. 이전 Cloud Monitoring 에이전트Cloud Logging 에이전트를 제거합니다.

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

Monitoring 에이전트 설치 실패 후 운영 에이전트 설치 실패

Monitoring 에이전트 설치에 실패한 후 운영 에이전트 설치가 실패합니다. Debian 운영체제에서 운영 에이전트 설치 실패 시 오류 메시지는 다음과 유사합니다.

Linux

...
E: The repository 'https://packages.cloud.google.com/apt google-cloud-monitoring-jammy-all Release' does not have a Release file.
...
Could not refresh the google-cloud-ops-agent apt repositories.

에이전트가 지원하지 않는 운영체제에 Monitoring 에이전트를 설치하려고 하면 설치가 실패합니다. Monitoring 에이전트 저장소가 시스템에 추가된 후 설치 실패가 발생합니다. Monitoring 에이전트 설치에 실패하면 잘못된 Monitoring 에이전트 저장소로 인해 운영 에이전트 설치도 실패합니다.

운영 에이전트에서 지원하는 모든 운영체제가 Monitoring 에이전트에서도 지원되는 것은 아닙니다. 지원되는 운영체제에 대한 자세한 내용은 운영 에이전트: Linux 운영체제Monitoring 에이전트: Linux 운영체제를 참조하세요.

운영 에이전트를 설치하려면 다음을 수행합니다.

  1. Monitoring 에이전트의 저장소를 삭제합니다.

    add-monitoring-agent-repo.sh 스크립트가 시스템에 있으면 다음 명령어를 실행합니다.

    sudo bash add-monitoring-agent-repo.sh --remove-repo
    

    그렇지 않으면 저장소를 수동으로 삭제합니다.

    Debian

    sudo rm /etc/apt/sources.list.d/google-cloud-monitoring.list

    RHEL

     sudo rm /etc/yum.repos.d/google-cloud-monitoring.repo

    Suse

    sudo rm /etc/zypp/repos.d/google-cloud-monitoring.repo

  2. 운영 에이전트 설치 스크립트를 실행합니다.

저장소 새로고침이 실패하여 운영 에이전트 설치 실패

설치된 저장소의 새로고침이 실패하므로 운영 에이전트가 설치되지 않습니다.

Linux

apt-get update 호출로 인해 저장소 새로고침이 발생하는 Debian 운영체제의 오류 메시지의 예시는 Monitoring 에이전트 설치 실패 후 운영 에이전트 설치 실패의 문제 해결 항목을 참조하세요.

저장소를 새로고침할 때 실패가 발생하면 운영 에이전트를 설치하기 전에 이러한 실패를 해결해야 합니다. 필요하지 않은 저장소를 삭제하거나 사용 중지하여 이러한 실패를 해결할 수 있습니다.

저장소를 새로고침한 후 운영 에이전트 설치 스크립트를 실행하여 운영 에이전트를 설치할 수 있습니다.

에이전트가 설치되어 있지만 실행 중이 아님

에이전트를 설치했지만 에이전트가 실행되고 있지 않은 경우 다음 중 하나의 문제일 수 있습니다.

에이전트 서비스가 실행 중이 아님

에이전트 서비스가 예상대로 작동할 때는 상태를 쿼리할 때 측정항목 에이전트 및 Logging 에이전트가 실행 중으로 나열됩니다.

Linux

sudo systemctl status google-cloud-ops-agent"*"

간결함을 위해 출력의 일부 줄이 삭제되었습니다.

● google-cloud-ops-agent.service - Google Cloud Ops Agent
     Loaded: loaded (/lib/systemd/system/google-cloud-ops-agent.service; enabled; vendor preset: enabled)
     Active: active (exited) since Wed 2023-05-03 21:22:28 UTC; 4 weeks 0 days ago
    Process: 3353828 ExecStartPre=/opt/google-cloud-ops-agent/libexec/google_cloud_ops_agent_engine -in /etc/go>
    Process: 3353837 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
   Main PID: 3353837 (code=exited, status=0/SUCCESS)
        CPU: 195ms

[...]

● google-cloud-ops-agent-opentelemetry-collector.service - Google Cloud Ops Agent - Metrics Agent
     Loaded: loaded (/lib/systemd/system/google-cloud-ops-agent-opentelemetry-collector.service; static)
     Active: active (running) since Wed 2023-05-03 21:22:29 UTC; 4 weeks 0 days ago
    Process: 3353840 ExecStartPre=/opt/google-cloud-ops-agent/libexec/google_cloud_ops_agent_engine -service=ot>
   Main PID: 3353855 (otelopscol)
      Tasks: 9 (limit: 2355)
     Memory: 65.3M
        CPU: 40min 31.555s
     CGroup: /system.slice/google-cloud-ops-agent-opentelemetry-collector.service
             └─3353855 /opt/google-cloud-ops-agent/subagents/opentelemetry-collector/otelopscol --config=/run/g>

[...]

● google-cloud-ops-agent-fluent-bit.service - Google Cloud Ops Agent - Logging Agent
     Loaded: loaded (/lib/systemd/system/google-cloud-ops-agent-fluent-bit.service; static)
     Active: active (running) since Wed 2023-05-03 21:22:29 UTC; 4 weeks 0 days ago
    Process: 3353838 ExecStartPre=/opt/google-cloud-ops-agent/libexec/google_cloud_ops_agent_engine -service=fl>
   Main PID: 3353856 (google_cloud_op)
      Tasks: 31 (limit: 2355)
     Memory: 58.3M
        CPU: 29min 6.771s
     CGroup: /system.slice/google-cloud-ops-agent-fluent-bit.service
             ├─3353856 /opt/google-cloud-ops-agent/libexec/google_cloud_ops_agent_wrapper -config_path /etc/goo>
             └─3353872 /opt/google-cloud-ops-agent/subagents/fluent-bit/bin/fluent-bit --config /run/google-clo>

[...]

● google-cloud-ops-agent-diagnostics.service - Google Cloud Ops Agent - Diagnostics
     Loaded: loaded (/lib/systemd/system/google-cloud-ops-agent-diagnostics.service; disabled; vendor preset: e>
     Active: active (running) since Wed 2023-05-03 21:22:26 UTC; 4 weeks 0 days ago
   Main PID: 3353819 (google_cloud_op)
      Tasks: 8 (limit: 2355)
     Memory: 36.0M
        CPU: 3min 19.488s
     CGroup: /system.slice/google-cloud-ops-agent-diagnostics.service
             └─3353819 /opt/google-cloud-ops-agent/libexec/google_cloud_ops_agent_diagnostics -config /etc/goog>

[...]

Windows

Get-Service google-cloud-ops-agent*

Status   Name               DisplayName
------   ----               -----------
Running  google-cloud-op... Google Cloud Ops Agent
Running  google-cloud-op... Google Cloud Ops Agent - Logging Agent
Running  google-cloud-op... Google Cloud Ops Agent - Metrics Agent
Running  google-cloud-op... Google Cloud Ops Agent - Diagnostics

에이전트 서비스가 실행되고 있지 않으면 다음 상태가 표시될 수 있습니다.

Linux

$ sudo service google-cloud-ops-agent status
● google-cloud-ops-agent.service - Google Cloud Ops Agent
   Loaded: loaded (/lib/systemd/system/google-cloud-ops-agent.service; enabled; vendor preset: enabled)
   Active: inactive (dead) since Wed 2021-06-30 21:20:43 UTC; 6s ago

Windows

Get-Service google-cloud-ops-agent

Status   Name                    DisplayName
------   ----                    -----------
Stopped  google-cloud-ops-agent  Google Cloud Ops Agent

이 오류를 수정하려면 다음 명령어를 실행하여 서비스를 시작합니다.

Linux

sudo service google-cloud-ops-agent start

Windows

Start-Service google-cloud-ops-agent

서비스가 시작되지 않으면 구성이 잘못되었을 수 있습니다.

현재 설치된 에이전트와 충돌

  • VM에 이미 Cloud Logging 에이전트 또는 Cloud Monitoring 에이전트가 설치되어 있고 새 에이전트의 구성과 충돌합니다. 오류 메시지는 다음과 유사합니다.

    Windows

    We detected an existing Windows service for the StackdriverLogging agent,
    which is not compatible with the Ops Agent when the Ops Agent configuration
    has a non-empty logging section. Please either remove the logging section
    from the Ops Agent configuration, or disable the StackdriverLogging agent,
    and then retry enabling the Ops Agent.
    

    이 오류를 수정하기 위한 옵션은 두 가지입니다.

    1. 운영 에이전트 구성 파일에서 충돌하는 섹션을 사용 중지합니다. 자세한 내용은 운영 에이전트 구성 가이드를 참조하세요.

    2. 충돌하는 Cloud Logging 에이전트 또는 Cloud Monitoring 에이전트를 사용 중지합니다.

      1. Cloud Logging 에이전트의 커스텀 구성 파일을 저장합니다.
      2. 이전 Cloud Monitoring 에이전트Cloud Logging 에이전트를 제거합니다.

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

필수 포트를 사용할 수 없음

구성요소에 필요한 포트가 다른 프로세스에서 사용 중인 경우 운영 에이전트 또는 구성요소 중 하나가 시작되지 않을 수 있습니다. 운영 에이전트는 다음 포트를 사용합니다.

  • 'Metrics 에이전트' 구성요소의 포트 20201
  • 'Logging 에이전트' 구성요소의 포트 20202

운영 에이전트 구성요소가 아닌 프로세스가 포트 20201 또는 포트 20202를 사용하는 경우 해당 프로세스를 중지하고 운영 에이전트를 다시 시작합니다. 다음 단계에 따라 포트를 사용하는 프로세스를 확인합니다.

Linux

측정항목 에이전트 구성요소: 포트 20201을 사용하는 프로세스를 보려면 다음 명령어를 사용합니다.

sudo netstat -ns -p | grep '20201'

다음 출력은 예상 결과를 보여줍니다. 운영 에이전트 측정항목 수집기인 otelopscol가 다음과 같이 포트를 사용합니다.

tcp        0      0 127.0.0.1:50138         127.0.0.1:20201         ESTABLISHED 16850/otelopscol
tcp6       0      0 :::20201                :::*                    LISTEN      16850/otelopscol
tcp6       0      0 127.0.0.1:20201         127.0.0.1:50138         ESTABLISHED 16850/otelopscol

Logging 에이전트 구성요소: 포트 20202를 사용하는 프로세스를 보려면 다음 명령어를 사용합니다.

sudo netstat -ns -p | grep '20202'

다음 출력은 예상 결과를 보여줍니다. 운영 에이전트 로그 수집기 fluent-bit가 다음과 같이 포트를 사용합니다.

tcp        0      0 0.0.0.0:20202           0.0.0.0:*               LISTEN      16640/fluent-bit
tcp        0      0 127.0.0.1:20202         127.0.0.1:52998         TIME_WAIT   -

Windows

측정항목 에이전트 구성요소: 포트 20201을 사용하는 프로세스를 보려면 다음 명령어를 사용합니다.

netstat -na -b  | Select-String "20201" -Context 0,1

다음 출력은 예상 결과를 보여줍니다. 운영 에이전트 측정항목 수집기인 google-cloud-metrics-agent_windows_amd64.exe가 다음과 같이 포트를 사용합니다.

>   TCP    0.0.0.0:20201          0.0.0.0:0              LISTENING
   [google-cloud-metrics-agent_windows_amd64.exe]
>   TCP    127.0.0.1:20201        127.0.0.1:50090        ESTABLISHED
   [google-cloud-metrics-agent_windows_amd64.exe]
>   TCP    127.0.0.1:50090        127.0.0.1:20201        ESTABLISHED
   [google-cloud-metrics-agent_windows_amd64.exe]
>   TCP    [::]:20201             [::]:0                 LISTENING
   [google-cloud-metrics-agent_windows_amd64.exe]

Logging 에이전트 구성요소: 포트 20202를 사용하는 프로세스를 보려면 다음 명령어를 사용합니다.

netstat -na -b  | Select-String "20202" -Context 0,1

다음 출력은 예상 결과를 보여줍니다. 운영 에이전트 로그 수집기 fluent-bit.exe가 다음과 같이 포트를 사용하고 있습니다.

>   TCP    0.0.0.0:20202          0.0.0.0:0              LISTENING
   [fluent-bit.exe]
>   TCP    127.0.0.1:20202        127.0.0.1:57535        TIME_WAIT
>   TCP    127.0.0.1:20202        127.0.0.1:57539        TIME_WAIT
    TCP    127.0.0.1:49807        127.0.0.1:49808        ESTABLISHED

포트 가용성 오류는 운영 에이전트가 실행하는 상태 점검으로 감지할 수 있습니다.

에이전트에 API 권한이 없음

에이전트가 데이터를 수집을 시작하지 못하거나 데이터 수집에 실패하는 이유는 '측정항목 에이전트' 또는 'Logging 에이전트' 구성요소에 API에 액세스하는 데 필요한 권한이 없기 때문일 수 있습니다.

운영 에이전트가 사용하는 서비스 계정에는 다음 Identity and Access Management 역할이 필요합니다.

이러한 역할에는 로깅 또는 측정항목 데이터를 작성하는 데 필요한 권한이 포함되며 이러한 권한은 VM과 연결된 서비스 계정에 부여되어야 합니다. 사용 중인 서비스 계정은 VM 구성 및 에이전트 승인 방법에 따라 다릅니다. 다음 중 하나를 사용할 수 있습니다.

VM과 연결된 서비스 계정을 확인하려면 다음을 수행합니다.

  1. Google Cloud 콘솔의 탐색 패널에서 Compute Engine을 선택한 후 VM 인스턴스를 선택합니다.

    VM 인스턴스로 이동

  2. 필요한 경우 Google Cloud 프로젝트의 드롭다운 목록을 클릭하고 프로젝트 이름을 선택합니다.

  3. 필요한 경우 인스턴스 탭을 선택합니다.

  4. VM 인스턴스 목록에서 VM 이름을 클릭하여 VM의 세부정보 페이지를 확인합니다.

  5. 페이지의 API 및 ID 관리 섹션을 찾습니다. 서비스 계정이 서비스 계정 필드의 값으로 나열됩니다.

서비스 계정에 부여된 역할 설정에 대한 자세한 내용은 기존 서비스 계정의 역할 확인 및 수정을 참조하세요.

API 권한 오류는 운영 에이전트가 실행하는 상태 점검으로 감지할 수 있습니다.

잘못된 구성

구성이 잘못된 경우 에이전트 서비스를 다시 시작하려 하면 다음 오류가 표시될 수 있습니다.

Linux

$ sudo service google-cloud-ops-agent restart \
    && sudo service google-cloud-ops-agent status
● google-cloud-ops-agent-fluent-bit.service - Google Cloud Ops Agent - Logging Agent
   Loaded: loaded (/usr/lib/systemd/system/google-cloud-ops-agent-fluent-bit.service; static; vendor preset: disabled)
  Drop-In: /usr/lib/systemd/system/google-cloud-ops-agent-fluent-bit.service.d
           └─directories.conf
   Active: failed (Result: exit-code) since Wed 2021-06-30 22:21:08 UTC; 2s ago
  Process: 1141421 ExecStart=/opt/google-cloud-ops-agent/subagents/fluent-bit/bin/fluent-bit --config ${RUNTIME_DIRECTORY}/fluent_bit_main.conf --parser ${RUNTIME_DIRECTORY}/fluent_bit_parser.conf --log_>
  Process: 1141847 ExecStartPre=/opt/google-cloud-ops-agent/libexec/google_cloud_ops_agent_engine -service=fluentbit -in /etc/google-cloud-ops-agent/config.yaml -logs ${LOGS_DIRECTORY} -state ${STATE_DIR>
 Main PID: 1141421 (code=exited, status=0/SUCCESS)

Jun 30 22:21:08 centos8-2 systemd[1]: google-cloud-ops-agent-fluent-bit.service: Control process exited, code=exited status=1
Jun 30 22:21:08 centos8-2 systemd[1]: google-cloud-ops-agent-fluent-bit.service: Failed with result 'exit-code'.
Jun 30 22:21:08 centos8-2 systemd[1]: Failed to start Google Cloud Ops Agent - Logging Agent.
Jun 30 22:21:08 centos8-2 systemd[1]: google-cloud-ops-agent-fluent-bit.service: Service RestartSec=100ms expired, scheduling restart.
Jun 30 22:21:08 centos8-2 systemd[1]: google-cloud-ops-agent-fluent-bit.service: Scheduled restart job, restart counter is at 5.
Jun 30 22:21:08 centos8-2 systemd[1]: Stopped Google Cloud Ops Agent - Logging Agent.
Jun 30 22:21:08 centos8-2 systemd[1]: google-cloud-ops-agent-fluent-bit.service: Start request repeated too quickly.
Jun 30 22:21:08 centos8-2 systemd[1]: google-cloud-ops-agent-fluent-bit.service: Failed with result 'exit-code'.
Jun 30 22:21:08 centos8-2 systemd[1]: Failed to start Google Cloud Ops Agent - Logging Agent.

journalctl을 사용하여 정확한 오류 메시지를 확인합니다.

sudo journalctl -xe | grep "google_cloud_ops_agent_engine"

다음과 유사한 메시지가 표시될 수 있습니다.

Jun 30 22:00:26 centos8-2 google_cloud_ops_agent_engine[1141491]: 2021/06/30 22:00:26 the agent config file is not valid YAML. detailed error: yaml: line 21: did not find expected key

Windows

failed to generate config files: can't parse configuration: yaml: line 20: could not find expected ':'

오류를 해결하려면 잘못된 구성을 수정하고 에이전트를 재시작하세요. 자세한 내용은 운영 에이전트 구성 가이드를 참조하세요.

에이전트가 비정상 종료되고 보고서에서 NVIDIA가 표시됨

연결된 GPU가 있는 Compute Engine VM에서 운영 에이전트를 실행하려고 합니다. 에이전트가 비정상 종료되고 출력에 NVIDIA가 표시됩니다.

이 문제는 운영 에이전트 버전 2.39.0 및 2.40.0의 알려진 문제입니다. 이 문제를 완화하려면 운영 에이전트 버전 2.38.0 또는 버전 2.41.0 이상을 설치합니다.

Google Cloud 콘솔의 상태 정보가 잘못됨

Google Cloud 콘솔은 다양한 대시보드(예: Cloud Monitoring의 VM 인스턴스 대시보드)에서 Compute Engine VM의 에이전트 상태에 대한 정보를 보고합니다. 이 정보가 예상과 일치하지 않는 이유는 단순히 지연일 수 있습니다. 구성 변경사항이 시스템을 통해 작동하기 때문입니다. 그러나 예기치 않은 정보는 에이전트가 예상대로 실행되고 있지 않음을 나타내는 것일 수도 있습니다.

설치된 에이전트가 Google Cloud 콘솔에서 감지되지 않은 것으로 보고됨

Google Cloud 콘솔에서 에이전트의 존재를 인식하려면 에이전트가 실행 중이고 데이터를 수집해야 합니다. 에이전트를 설치했지만 콘솔 상태가 '감지되지 않음'으로 유지되면 에이전트가 실행 중이 아니거나 실행 중이지만 데이터를 수집하지 않는 것입니다. 자세한 내용은 다음을 참조하세요.

Google Cloud 콘솔에서 설치된 것으로 보고된 에이전트를 삭제했음

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