Ce document fournit des informations pour vous aider à diagnostiquer et à résoudre les problèmes liés à l'installation et au démarrage de l'agent Ops. Si l'agent est en cours d'exécution, mais ne parvient pas à ingérer les journaux ou les métriques, consultez la page Résoudre les problèmes d'ingestion de données.
Avant de commencer
Avant d'essayer de résoudre un problème, vérifiez l'état des vérifications d'état de l'agent.
Échec d'installation de l'agent
Vous pouvez rencontrer les erreurs suivantes lors de l'exécution du script d'installation.
Le système d'exploitation n'est pas compatible
Lorsque le système d'exploitation n'est pas compatible, l'installation de l'agent Ops échoue. Le message d'erreur peut ressembler à l'exemple suivant :
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
Un ancien agent est installé et entre en conflit avec l'agent Ops
Lorsqu'une VM dispose déjà de l'agent Cloud Logging ou de l'agent Cloud Monitoring, ils entrent en conflit avec le nouvel agent. Le message d'erreur peut ressembler à l'exemple suivant :
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
L'agent Ops utilise de nouveaux fichiers de configuration non compatibles avec les anciens agents. Pour plus d'informations, reportez-vous au guide Configurer l'agent Ops.
Pour résoudre cette erreur, procédez comme suit :
Enregistrez les fichiers de configuration personnalisés pour l'agent Cloud Monitoring et l'agent Cloud Logging.
Désinstallez l'ancien agent Cloud Monitoring et l'ancien agent Cloud Logging.
Une fois que vous avez désinstallé l'agent, un délai d'une heure peut être nécessaire pour que Google Cloud Console signale cette modification.
Échec de l'installation de l'agent Ops après l'échec de l'installation de l'agent Monitoring
L'installation de l'agent Ops échoue après une tentative infructueuse d'installation de l'agent Monitoring. Sur un système d'exploitation Debian, les messages d'erreur associés à l'échec de l'installation de l'agent Ops sont les suivants :
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.
Si vous essayez d'installer l'agent Monitoring sur un système d'exploitation non compatible avec cet agent, l'installation échoue. L'installation échoue après l'ajout du dépôt de l'agent Monitoring au système. L'installation de l'agent Ops après une installation ayant échoué de l'agent Monitoring échoue également en raison d'un dépôt d'agent Monitoring non valide.
Les systèmes d'exploitation compatibles avec l'agent Ops ne sont pas tous compatibles avec l'agent Monitoring. Pour plus d'informations sur les systèmes d'exploitation compatibles, consultez les pages Agent Ops : systèmes d'exploitation Linux et Agent Monitoring : Systèmes d'exploitation Linux.
Pour installer l'agent Ops, procédez comme suit :
Supprimez le dépôt de l'agent Monitoring :
Si le script
add-monitoring-agent-repo.sh
se trouve sur votre système, exécutez la commande suivante :sudo bash add-monitoring-agent-repo.sh --remove-repo
Sinon, supprimez manuellement le dépôt :
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
Exécutez le script d'installation de l'agent Ops.
Échec de l'installation de l'agent Ops, car l'actualisation du dépôt échoue
L'installation de l'agent Ops échoue, car l'actualisation des dépôts installés échoue.
Linux
Pour obtenir un exemple de message d'échec pour un système d'exploitation Debian, où l'actualisation du dépôt se produit en raison d'un appel à apt-get update
, consultez l'entrée de dépannage Échec de l'installation de l'agent Ops après un échec d'installation de l'agent Monitoring.
Si vous rencontrez des échecs lors de l'actualisation des dépôts, vous devez résoudre ces échecs avant de pouvoir installer l'agent Ops. Vous pourrez peut-être résoudre ces échecs en supprimant ou en désactivant des dépôts inutiles.
Après avoir actualisé les dépôts, vous pouvez installer l'agent Ops en exécutant le script d'installation de l'agent Ops.
L'actualisation du dépôt échoue, car la clé publique est indisponible
Linux
L'actualisation d'un dépôt, en raison d'un appel à apt-get update
, échoue, car la clé publique n'est pas disponible. Cela peut également se produire lors de l'installation ou de la mise à niveau de l'agent Ops. L'échec suivant peut s'afficher :
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.
Pour corriger cette erreur, exécutez la commande suivante afin d'ajouter la clé manquante à votre système :
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
L'agent est installé mais ne s'exécute pas
Si vous avez installé l'agent, mais qu'il ne s'exécute pas, le problème peut être l'un des suivants:
- L'un des composants principaux, "Metrics Agent" ou "Logging Agent", n'a pas pu démarrer. Voir Les services de l'agent ne sont pas en cours d'exécution.
- L'un des anciens agents est également installé sur la VM. Consultez la section Conflit avec les agents actuellement installés.
- Un port requis par l'un des composants est utilisé par un autre processus. Pour en savoir plus, consultez la section Port indisponible.
- La configuration de l'agent Ops n'est pas valide ; Voir Configuration non valide.
Services d'agent qui ne s'exécutent pas
Lorsque les services de l'agent s'exécutent comme prévu, l'agent de métriques et l'agent Logging sont listés comme étant en cours d'exécution lorsque vous interrogez l'état :
Pour Linux
sudo systemctl status google-cloud-ops-agent"*"
Certaines lignes de la sortie ont été supprimées par souci de concision.
● 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> [...]
Pour 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
Si le service de l'agent n'est pas en cours d'exécution, l'état suivant peut s'afficher :
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
Pour corriger cette erreur, exécutez la commande suivante pour démarrer le service :
Linux
sudo service google-cloud-ops-agent start
Windows
Start-Service google-cloud-ops-agent
Si le service ne démarre pas, la configuration n'est peut-être pas valide.
Conflit avec les agents actuellement installés
L'agent Cloud Logging ou l'agent Cloud Monitoring est déjà installé sur la VM, et leur configuration est en conflit avec la configuration du nouvel agent. Le message d'erreur peut ressembler à l'exemple suivant :
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.
Pour corriger cette erreur, deux options s'offrent à vous :
Désactivez la section conflictuelle du fichier de configuration de l'agent Ops. Pour plus d'informations, reportez-vous au guide Configurer l'agent Ops.
Désactivez l'agent Cloud Logging ou l'agent Cloud Monitoring en conflit.
- Enregistrez tous les fichiers de configuration personnalisés pour l'agent Cloud Logging.
- Désinstallez l'ancien agent Cloud Monitoring et l'ancien agent Cloud Logging.
Une fois que vous avez désinstallé l'agent, un délai d'une heure peut être nécessaire pour que Google Cloud Console signale cette modification.
Le port requis est indisponible
L'agent Ops ou l'un de ses composants peut ne pas démarrer lorsque le port requis par le composant est utilisé par un autre processus. L'agent Ops utilise les ports suivants:
- Port 20201 pour le composant "Metrics Agent"
- Port 20202 pour le composant "Logging Agent"
Si un processus autre qu'un composant d'agent Ops utilise le port 20201 ou le port 20202, arrêtez ce processus et redémarrez l'agent Ops. Pour déterminer quel processus utilise les ports, procédez comme suit:
Linux
Composant d'agent de métriques: pour savoir quel processus utilise le port 20201, utilisez la commande suivante:
sudo netstat -ns -p | grep '20201'
Le résultat suivant affiche le résultat attendu : le collecteur de métriques de l'agent Ops, otelopscol
, utilise le 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
Composant de l'agent Logging: pour voir quel processus utilise le port 20202, utilisez la commande suivante:
sudo netstat -ns -p | grep '20202'
Le résultat suivant affiche le résultat attendu : le collecteur de journaux de l'agent Ops, fluent-bit
, utilise le 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
Composant d'agent de métriques: pour savoir quel processus utilise le port 20201, utilisez la commande suivante:
netstat -na -b | Select-String "20201" -Context 0,1
Le résultat suivant affiche le résultat attendu: le collecteur de métriques de l'agent Ops, google-cloud-metrics-agent_windows_amd64.exe
, utilise le 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]
Composant de l'agent Logging: pour voir quel processus utilise le port 20202, utilisez la commande suivante:
netstat -na -b | Select-String "20202" -Context 0,1
Le résultat suivant affiche le résultat attendu : le collecteur de journaux de l'agent Ops, fluent-bit.exe
, utilise le 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
Les erreurs de disponibilité de port peuvent être détectées par les vérifications d'état exécutées par l'agent Ops.
L'agent ne dispose pas des autorisations d'API nécessaires
Si l'agent ne démarre pas ou ne parvient pas à ingérer des données, le problème peut être dû au fait que le composant "Metrics Agent" ou "Logging Agent" ne dispose pas des autorisations nécessaires pour accéder à l'API.
Le compte de service utilisé par l'agent Ops nécessite les rôles Identity and Access Management suivants:
- Pour le composant "Logging Agent" : Rédacteur de journaux (
roles/logging.logWriter
) - Pour le composant "Metrics Agent" : Rédacteur de métriques Monitoring (
roles/monitoring.metricWriter
).
Ces rôles incluent les autorisations nécessaires pour écrire des données de journalisation ou de métrique et doivent être accordés au compte de service associé à la VM. Le compte de service que vous utilisez dépend de la configuration de la VM et de l'autorisation de l'agent. Vous utilisez peut-être l'un des éléments suivants:
- Un compte de service associé à la VM.
- Un compte de service utilisant une clé privée.
Pour identifier le compte de service associé à une VM, procédez comme suit:
-
Dans la console Google Cloud, accédez à la page Instances de VM :
Accéder à la page Instances de VM
Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Compute Engine.
Si nécessaire, cliquez sur la liste déroulante des projets Google Cloud et sélectionnez le nom de votre projet.
Sélectionnez l'onglet Instances si nécessaire.
Dans la liste des instances de VM, cliquez sur le nom de la VM pour afficher sa page Détails.
Localisez la section Gestion des API et des identités sur la page. Le compte de service est répertorié comme valeur du champ Compte de service.
Pour en savoir plus sur la définition des rôles attribués au compte de service, consultez la page Vérifier et modifier les rôles d'un compte de service existant.
Les erreurs d'autorisation d'API peuvent être détectées par les vérifications d'état exécutées par l'agent Ops.
Configuration non valide
Si la configuration n'est pas valide, l'erreur suivante peut s'afficher lorsque vous essayez de redémarrer le service de l'agent :
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.
Utilisez journalctl
pour obtenir le message d'erreur exact :
sudo journalctl -xe | grep "google_cloud_ops_agent_engine"
Un message semblable au suivant doit s'afficher :
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 ':'
Pour corriger l'erreur, corrigez la configuration non valide et redémarrez l'agent. Pour référence, reportez-vous au guide Configurer l'agent Ops.
Plantages de l'agent et rapports mentionnant NVIDIA
Vous essayez d'exécuter l'agent Ops sur une VM Compute Engine avec des GPU associés. L'agent plante et le résultat mentionne NVIDIA.
Il s'agit d'un problème connu avec les versions 2.39.0 et 2.40.0 de l'agent Ops. Pour limiter les risques, installez l'agent Ops version 2.38.0 ou 2.41.0 ou ultérieure.Les informations d'état dans la console Google Cloud sont incorrectes
La console Google Cloud fournit des informations sur l'état des agents sur les VM Compute Engine dans différents tableaux de bord, par exemple le tableau de bord Instances de VM dans Cloud Monitoring. Si ces informations ne correspondent pas à vos attentes, la cause peut simplement être un retard dû au fait que les modifications de la configuration sont encore en train de s'enregistrer dans le système. Toutefois, des informations inattendues peuvent également indiquer que l'agent ne s'exécute pas comme prévu.
Agent installé, signalé par Google Cloud Console comme non détecté
L'agent doit être en cours d'exécution et ingérer des données pour que la console Google Cloud reconnaisse la présence de l'agent. Si vous avez installé l'agent, mais que l'état dans la console reste à l'état "Non détecté", cela signifie que l'agent n'est pas en cours d'exécution ou qu'il est en cours d'exécution et qu'il n'ingère pas de données. Pour en savoir plus, consultez les ressources suivantes :
- L'agent est installé mais ne s'exécute pas.
- L'agent est en cours d'exécution, mais les données ne sont pas ingérées.
Agent supprimé, signalé par Google Cloud Console comme étant installé
Une fois que vous avez désinstallé l'agent, un délai d'une heure peut être nécessaire pour que Google Cloud Console signale cette modification.