Fehlerbehebung bei Installation und Start des Ops-Agents

Dieses Dokument enthält Informationen, mit denen Sie Probleme bei Installation und Start des Ops-Agents diagnostizieren und beheben können. Wenn der Parameter Agent wird ausgeführt, kann aber keine Logs oder Messwerte aufnehmen, siehe Fehler bei der Datenaufnahme beheben

Hinweis

Bevor Sie versuchen, ein Problem zu beheben, überprüfen Sie den Status der Systemdiagnosen des Agents.

Agent kann nicht installiert werden

Beim Ausführen des Installationsskripts können die folgenden Fehler auftreten.

Das Betriebssystem wird nicht unterstützt

Wenn das Betriebssystem nicht unterstützt wird, schlägt die Installation des Ops-Agents fehl. Die Fehlermeldung sieht in etwa so aus:

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

Ein Legacy-Agent wird installiert, der mit dem Ops-Agent in Konflikt steht

Wenn auf einer VM bereits der Cloud Logging-Agent oder der Cloud Monitoring-Agent installiert ist, stehen sie in Konflikt mit dem neuen Agent. Die Fehlermeldung sieht in etwa so aus:

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

Der Ops-Agent verwendet neue Konfigurationsdateien, die nicht mit den alten Agents kompatibel sind. Weitere Informationen finden Sie in der Anleitung Ops-Agent konfigurieren.

So beheben Sie diesen Fehler:

  1. Speichern Sie die benutzerdefinierten Konfigurationsdateien für den Cloud Monitoring-Agent und den Cloud Logging-Agent.

  2. Deinstallieren Sie anschließend den alten Cloud Monitoring-Agent und den alten Cloud Logging-Agent.

    Nachdem Sie den Agent deinstalliert haben, kann es bis zu eine Stunde dauern, bis diese Änderung in der Google Cloud Console gemeldet wird.

Die Installation des Ops-Agents schlägt nach einer fehlgeschlagenen Installation des Monitoring-Agents fehl

Die Installation des Ops-Agents schlägt nach einem fehlgeschlagenen Installationsversuch des Monitoring-Agents fehl. Auf einem Debian-Betriebssystem sehen die Fehlermeldungen, wenn die Installation des Ops-Agents fehlschlägt, ähnlich wie die folgenden aus:

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.

Wenn Sie versuchen, den Monitoring-Agent auf einem Betriebssystem zu installieren, das von diesem Agent nicht unterstützt wird, schlägt die Installation fehl. Der Installationsfehler tritt auf, nachdem das Repository des Monitoring-Agents dem System hinzugefügt wurde. Die Installation des Ops-Agents nach einer fehlgeschlagenen Installation des Monitoring-Agents schlägt ebenfalls aufgrund eines ungültigen Monitoring-Agent-Repositorys fehl.

Nicht alle vom Ops-Agent unterstützten Betriebssysteme werden auch vom Monitoring-Agent unterstützt. Informationen zu unterstützten Betriebssystemen finden Sie unter Ops-Agent: Linux-Betriebssysteme und Monitoring-Agent: Linux-Betriebssysteme.

So installieren Sie den Ops-Agent:

  1. Entfernen Sie das Repository für den Monitoring-Agent:

    Wenn sich das Script add-monitoring-agent-repo.sh auf Ihrem System befindet, führen Sie den folgenden Befehl aus:

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

    Andernfalls entfernen Sie das Repository manuell:

    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. Führen Sie das Ops-Agent-Installationsskript aus.

Die Ops-Agent-Installation schlägt fehl, da die Repository-Aktualisierung fehlschlägt.

Die Installation des Ops-Agents schlägt fehl, da die Aktualisierung der installierten Repositories fehlschlägt.

Linux

Ein Beispiel für die Fehlermeldung für ein Debian-Betriebssystem, bei dem die Aktualisierung des Repositorys aufgrund eines Aufrufs von apt-get update erfolgt, finden Sie im Fehlerbehebungseintrag Die Installation des Ops-Agents schlägt nach einer fehlgeschlagenen Installation des Monitoring-Agents fehl.

Wenn beim Aktualisieren der Repositories Fehler auftreten, müssen Sie diese Fehler beheben, bevor Sie den Ops-Agent installieren können. Sie können diese Fehler möglicherweise beheben. Löschen oder deaktivieren Sie dazu nicht benötigte Repositories.

Nachdem Sie die Repositories aktualisiert haben, können Sie den Ops-Agent installieren. Führen Sie dazu das Ops-Agent-Installationsskript aus.

Die Repository-Aktualisierung schlägt fehl, weil der öffentliche Schlüssel nicht verfügbar ist

Linux

Eine Repository-Aktualisierung aufgrund eines Aufrufs von apt-get update schlägt fehl, da der öffentliche Schlüssel nicht verfügbar ist. Dies kann auch bei der Installation oder Aktualisierung der Ops-Agent. Möglicherweise wird der folgende Fehler angezeigt:

W: GPG error: http://packages.cloud.google.com/apt google-cloud-ops-agent-focal-all InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY C0BA5CE6DC6315A3
E: The repository 'http://packages.cloud.google.com/apt google-cloud-ops-agent-focal-all InRelease' is not signed.

Führen Sie den folgenden Befehl aus, um diesen Fehler zu beheben und Ihrem System den fehlenden Schlüssel hinzuzufügen:

curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg \
    | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/google-cloud-ops-agent.gpg

Agent ist installiert, wird aber nicht ausgeführt

Wenn Sie den Agenten installiert haben, er aber nicht ausgeführt wird, kann das an einem der folgenden Probleme liegen:

Agent-Dienste werden nicht ausgeführt

Wenn die Agent-Dienste wie erwartet ausgeführt werden, werden der Metrics Agent und der Logging Agent in der Statusabfrage als „Ausgeführt“ aufgeführt:

Für Linux

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

Einige Zeilen in der Ausgabe wurden der Einfachheit halber gelöscht.

● 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>

[...]

Für 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

Wird der Agent-Dienst nicht ausgeführt, wird möglicherweise der folgende Status angezeigt:

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

Führen Sie zum Starten des Dienstes den folgenden Befehl aus, um diesen Fehler zu beheben:

Linux

sudo service google-cloud-ops-agent start

Windows

Start-Service google-cloud-ops-agent

Wenn der Dienst nicht gestartet werden kann, ist die Konfiguration möglicherweise ungültig.

Konflikt mit derzeit installierten Agents

  • Auf der VM ist der Cloud Logging-Agent oder der Cloud Monitoring-Agent bereits installiert und es tritt ein Konflikt zwischen dieser Konfiguration und der Konfiguration des neuen Agents auf. Die Fehlermeldung sieht in etwa so aus:

    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.
    

    Sie haben zwei Möglichkeiten, diesen Fehler zu beheben:

    1. Deaktivieren Sie den in Konflikt stehenden Abschnitt der Ops-Agent-Konfigurationsdatei. Weitere Informationen finden Sie in der Anleitung Ops-Agent konfigurieren.

    2. Deaktivieren Sie den in Konflikt stehenden Cloud Logging-Agent oder Cloud Monitoring-Agent.

      1. Speichern Sie alle benutzerdefinierten Konfigurationsdateien für den Cloud Logging-Agent.
      2. Deinstallieren Sie anschließend den alten Cloud Monitoring-Agent und den alten Cloud Logging-Agent.

      Nachdem Sie den Agent deinstalliert haben, kann es bis zu eine Stunde dauern, bis diese Änderung in der Google Cloud Console gemeldet wird.

Erforderlicher Port ist nicht verfügbar

Der Ops-Agent oder eine seiner Komponenten kann nicht gestartet werden, wenn der von der Komponente benötigte Port von einem anderen Prozess verwendet wird. Der Ops-Agent verwendet die folgenden Ports:

  • Port 20201 für die Komponente „Agent für Messwerte“
  • Port 20202 für die Komponente „Logging-Agent“

Wenn ein anderer Prozess als eine Ops-Agent-Komponente Port 20201 oder Port 20202 verwendet, beenden Sie diesen Prozess und starten Sie den Ops-Agent neu. Verwenden Sie Folgendes: Schritte, um zu ermitteln, welcher Prozess die Ports verwendet:

Linux

Komponente des Metrics-Agent: Verwenden Sie den folgenden Befehl, um festzustellen, welcher Prozess Port 20201 verwendet:

sudo netstat -ns -p | grep '20201'

Die folgende Ausgabe zeigt das erwartete Ergebnis: Der Ops-Agent-Messwert-Collector otelopscol verwendet den Port:

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-Agent-Komponente: Verwenden Sie den folgenden Befehl, um festzustellen, welcher Prozess Port 20202 verwendet:

sudo netstat -ns -p | grep '20202'

Die folgende Ausgabe zeigt das erwartete Ergebnis: Der Ops-Agent-Log-Empfänger fluent-bit verwendet den Port:

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

Komponente des Metrics-Agent: Verwenden Sie den folgenden Befehl, um festzustellen, welcher Prozess Port 20201 verwendet:

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

Die folgende Ausgabe zeigt das erwartete Ergebnis: die Ops-Agent-Messwerte. Der Collector google-cloud-metrics-agent_windows_amd64.exe verwendet den Port:

>   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-Agent-Komponente: Verwenden Sie den folgenden Befehl, um festzustellen, welcher Prozess Port 20202 verwendet:

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

Die folgende Ausgabe zeigt das erwartete Ergebnis: Der Ops-Agent-Log-Collector fluent-bit.exe verwendet den Port:

>   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

Fehler bei der Portverfügbarkeit können von den Systemdiagnosen erkannt werden, die vom Ops-Agent ausgeführt werden.

Agent hat keine API-Berechtigungen

Wenn der Agent keine Daten startet oder nicht aufnimmt, liegt das Problem möglicherweise daran, dass die Komponente „Agent für Messwerte“ oder „Logging-Agent“ nicht die erforderliche Berechtigung für den Zugriff auf die API hat.

Für das vom Ops-Agent verwendete Dienstkonto ist Folgendes erforderlich: Identity and Access Management-Rollen:

Diese Rollen enthalten die Berechtigungen zum Schreiben von Protokoll- oder Messwertdaten und müssen dem mit der VM verknüpften Dienstkonto gewährt werden. Die das Sie verwenden, hängt davon ab, wie Sie die VM und den Agent autorisiert hat. Sie verwenden möglicherweise eine der folgenden Optionen:

So ermitteln Sie das Dienstkonto, das mit einer VM verknüpft ist:

  1. Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf:

    Zu Seite VM-Instanzen

    Wenn Sie diese Seite über die Suchleiste finden, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Compute Engine lautet.

  2. Klicken Sie falls nötig auf die Drop-down-Liste der Google Cloud-Projekte und wählen Sie den Namen Ihres Projekts aus.

  3. Wählen Sie bei Bedarf den Tab Instanzen aus.

  4. Klicken Sie in der Liste der VM-Instanzen auf den Namen Ihrer VM, um die Seite Details für die VM aufzurufen.

  5. Suchen Sie auf der Seite den Abschnitt API- und Identitätsverwaltung. Das Dienstkonto wird als Wert des Felds Dienstkonto aufgeführt.

Informationen zum Festlegen der Rollen, die dem Dienstkonto gewährt werden, finden Sie unter Rollen eines vorhandenen Dienstkontos prüfen und ändern.

API-Berechtigungsfehler können von den Systemdiagnosen erkannt werden. vom Ops-Agent ausgeführt wird.

Ungültige Konfiguration

Ist die Konfiguration ungültig, wird beim Neustart des Agent-Dienstes möglicherweise der folgende Fehler angezeigt:

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.

Mit journalctl erhalten Sie die genaue Fehlermeldung:

sudo journalctl -xe | grep "google_cloud_ops_agent_engine"

Es kann eine Meldung ähnlich der folgenden angezeigt werden:

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 ':'

Korrigieren die ungültige Konfiguration und starten Sie den Agent neu, um diesen Fehler zu beheben. Weitere Informationen finden Sie in der Anleitung Ops-Agent konfigurieren.

Der Agent stürzt ab und der Fehlerbericht erwähnt NVIDIA

Sie versuchen, den Ops-Agent auf einer Compute Engine-VM mit angehängten GPUs auszuführen. Der Agent stürzt ab und die Ausgabe erwähnt NVIDIA.

Dies ist ein bekanntes Problem bei den Ops-Agent-Versionen 2.39.0 und 2.40.0. Installieren Sie zur Behebung des Fehlers die Ops-Agent-Version 2.38.0 oder die Version 2.41.0 oder höher.

Falsche Statusinformationen in der Google Cloud Console

Die Google Cloud Console meldet Informationen zum Status von Agents auf Compute Engine-VMs in verschiedenen Dashboards, z. B. dem Dashboard VM-Instanzen in Cloud Monitoring. Wenn diese Informationen nicht mit dem übereinstimmen, was Sie erwarten, könnte die Ursache einfach eine Verzögerung sein, während sich die Konfigurationsänderungen ihren Weg durch das System bahnen. Unerwartete Informationen können aber auch ein Hinweis darauf sein, dass der Agent nicht wie erwartet ausgeführt wird.

Installierter Agent, der von der Google Cloud Console als nicht erkannt gemeldet wurde

Der Agent muss ausgeführt werden und Daten aufnehmen, damit die Google Cloud Console erkennen kann, dass er vorhanden ist. Wenn Sie den Agent installiert haben, der Konsolenstatus jedoch „Nicht erkannt“ lautet, wird der Agent nicht ausgeführt oder wird ausgeführt und nimmt keine Daten auf. Hier finden Sie weitere Informationen:

Entfernter Agent von der Google Cloud Console als installiert gemeldet

Nachdem Sie den Agent deinstalliert haben, kann es bis zu eine Stunde dauern, bis diese Änderung in der Google Cloud Console gemeldet wird.