Dieses Dokument enthält Informationen, mit denen Sie Probleme bei Installation und Start des Ops-Agents diagnostizieren und beheben können. Wenn der Agent ausgeführt wird, aber Logs oder Messwerte nicht aufgenommen werden, lesen Sie die Informationen unter Fehlerbehebung bei der Datenaufnahme.
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:
Speichern Sie die benutzerdefinierten Konfigurationsdateien für den Cloud Monitoring-Agent und den Cloud Logging-Agent.
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:
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
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, da der öffentliche Schlüssel nicht verfügbar ist
Linux
Eine Repository-Aktualisierung schlägt aufgrund eines Aufrufs von apt-get update
fehl, da der öffentliche Schlüssel nicht verfügbar ist. Dies kann auch bei der Installation oder dem Upgrade des Ops-Agents auftreten. 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 Agent installiert haben, der Agent aber nicht ausgeführt wird, könnte eines der folgenden Probleme vorliegen:
- Eine der primären Komponenten, „Agent für Messwerte“ oder „Logging-Agent“, konnte nicht gestartet werden. Weitere Informationen finden Sie unter Agent-Dienste werden nicht ausgeführt.
- Einer der Legacy-Agents ist ebenfalls auf der VM installiert. Siehe Konflikt mit derzeit installierten Agents.
- Ein Port, den eine der Komponenten benötigt, wird von einem anderen Prozess verwendet. Siehe Nicht verfügbarer Port.
- Die Konfiguration des Ops-Agents ist ungültig. Siehe Ungültige Konfiguration.
Agent-Dienste werden nicht ausgeführt
Wenn die Agent-Dienste wie erwartet ausgeführt werden, werden der Metrics-Agent und der Logging-Agent bei der Statusabfrage als ausgeführt aufgeführt:
Für Linux
sudo systemctl status google-cloud-ops-agent"*"
Einige Zeilen in der Ausgabe wurden der Übersichtlichkeit 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:
Deaktivieren Sie den in Konflikt stehenden Abschnitt der Ops-Agent-Konfigurationsdatei. Weitere Informationen finden Sie in der Anleitung Ops-Agent konfigurieren.
Deaktivieren Sie den in Konflikt stehenden Cloud Logging-Agent oder Cloud Monitoring-Agent.
- Speichern Sie alle benutzerdefinierten Konfigurationsdateien für den Cloud Logging-Agent.
- 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.
Der erforderliche Port ist nicht verfügbar
Der Ops-Agent oder eine seiner Komponenten kann möglicherweise 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. Führen Sie die folgenden Schritte aus, um festzustellen, 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-Collector 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: Der Messwert-Collector google-cloud-metrics-agent_windows_amd64.exe
des Ops-Agents 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.
Der 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.
Das vom Ops-Agent verwendete Dienstkonto erfordert die folgenden Rollen für die Identitäts- und Zugriffsverwaltung:
- Für die Komponente „Logging-Agent“: Log-Autor (
roles/logging.logWriter
) - Für die Komponente „Agent für Messwerte“: Monitoring-Messwert-Autor (
roles/monitoring.metricWriter
).
Diese Rollen enthalten die Berechtigungen, die zum Schreiben von Logging- oder Messwertdaten erforderlich sind und dem Dienstkonto zugewiesen werden müssen, das der VM zugeordnet ist. Welches Dienstkonto Sie verwenden, hängt davon ab, wie Sie die VM konfiguriert und den Agent autorisiert haben. Möglicherweise verwenden Sie eine der folgenden Optionen:
- Ein Dienstkonto, das mit der VM verbunden ist.
- Ein Dienstkonto, das einen privaten Schlüssel verwendet.
So ermitteln Sie das einer VM zugeordnete Dienstkonto:
-
Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf:
Wenn Sie diese Seite über die Suchleiste finden, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Compute Engine ist.
Klicken Sie falls nötig auf die Drop-down-Liste der Google Cloud-Projekte und wählen Sie den Namen Ihres Projekts aus.
Wählen Sie gegebenenfalls den Tab Instanzen aus.
Klicken Sie in der Liste der VM-Instanzen auf den Namen Ihrer VM, um die Seite Details für die VM aufzurufen.
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 dem Dienstkonto zugewiesenen Rollen finden Sie unter Rollen eines vorhandenen Dienstkontos prüfen und ändern.
API-Berechtigungsfehler können von den Systemdiagnosen erkannt werden, die vom Ops-Agent ausgeführt werden.
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 jedoch auch darauf hindeuten, dass der Agent nicht wie erwartet ausgeführt wird.
Installierter Agent von der Google Cloud Console als nicht erkannt gemeldet
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:
- Agent ist installiert, wird aber nicht ausgeführt
- Agent wird ausgeführt, Daten werden jedoch nicht aufgenommen
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.