Trouver des informations de dépannage pour l'agent Ops

Ce document décrit les sources d'informations de diagnostic que vous pouvez utiliser pour identifier les problèmes d'installation ou d'exécution de l'agent Ops.

Vérifications de l'état de l'agent

La version 2.25.1 a introduit des vérifications d'état d'heure de début pour l'agent Ops. Lorsque l'agent Ops démarre, il effectue une série de vérifications pour vérifier s'il existe des conditions empêchant l'agent de s'exécuter correctement. Si l'agent détecte l'une des conditions, il consigne un message décrivant le problème. L'Agent Ops recherche les éléments suivants :

  • Problèmes de connectivité
  • Disponibilité des ports utilisés par l'agent pour rapporter des métriques lui-même
  • Problèmes liés aux autorisations
  • Disponibilité des API utilisées par l'agent pour écrire des journaux ou des métriques
  • Problème dans la routine de vérification de l'état elle-même.
Pour savoir comment localiser les erreurs d'heure de début, consultez la page Rechercher les erreurs d'heure de début.

La version 2.37.0 a introduit des vérifications d'état de l'exécution pour l'agent Ops. Ces erreurs sont signalées à Cloud Logging et Error Reporting. Pour localiser les erreurs d'exécution, consultez la page Rechercher les erreurs d'exécution.

La version 2.46.0 a introduit le code LogPingOpsAgent informatif. Ce code ne représente pas une erreur. Pour en savoir plus, consultez la section Vérifier la réussite de la collecte de journaux.

Le tableau suivant répertorie chaque code de vérification d'état par ordre alphabétique et décrit leur signification. Les codes qui se terminent par la chaîne Err indiquent des erreurs. d'autres codes sont informatifs.

Code de vérification de l'état Catégorie Signification Suggestion
DLApiConnErr Connectivité Échec de la requête adressée au sous-domaine des téléchargements (dl.google.com). Vérifiez votre connexion Internet et vos règles de pare-feu. Pour en savoir plus, consultez Problèmes de connectivité réseau.
FbMetricsPortErr Disponibilité des ports Le port 20202, nécessaire pour les métriques automatiques de l'agent Ops, n'est pas disponible. Vérifiez que le port 20202 est ouvert. Pour en savoir plus, consultez la section Port requis non disponible.
HcFailureErr Générique La routine de vérification de l'état de l'agent Ops a rencontré une erreur interne. Envoyez une demande d'assistance à partir de Google Cloud Console. Pour en savoir plus, consultez la page Assistance.
LogApiConnErr Connectivité Échec de la requête adressée à l'API Logging. Vérifiez votre connexion Internet et vos règles de pare-feu. Pour en savoir plus, consultez Problèmes de connectivité réseau.
LogApiDisabledErr API L'API Logging est désactivée dans le projet Google Cloud actuel. Activez l'API Logging.
LogApiPermissionErr Autorisation Le compte de service ne dispose pas du rôle "Rédacteur de journaux" (roles/logging.logWriter). Attribuez le rôle Rédacteur de journaux au compte de service. Pour en savoir plus, consultez la section Autorisations d'API manquantes pour l'agent.
LogApiScopeErr Autorisation La VM ne dispose pas du niveau d'accès https://www.googleapis.com/auth/logging.write. Ajoutez le champ d'application d'accès https://www.googleapis.com/auth/logging.write à la VM. Pour en savoir plus, consultez la page Vérifier vos niveaux d'accès.
LogApiUnauthenticatedErr API La VM actuelle n'a pas pu s'authentifier auprès de l'API Logging. Vérifiez que vos fichiers d'identifiants, vos niveaux d'accès aux VM et vos autorisations sont correctement configurés. Pour en savoir plus, consultez la page Autoriser l'agent Ops.
LogPingOpsAgent   Un message de charge utile informatif écrit toutes les 10 minutes dans le journal ops-agent-health. Vous pouvez utiliser les entrées de journal obtenues pour vérifier que l'agent envoie les journaux. Ce message n'est pas une erreur. Ce message devrait s'afficher toutes les 10 minutes. Si le message n'apparaît pas pendant 20 minutes ou plus, l'agent a peut-être rencontré un problème. Pour obtenir des informations de dépannage, consultez la page Résoudre les problèmes liés à l'agent Ops.
LogParseErr Environnement d'exécution L'agent Ops n'a pas pu analyser un ou plusieurs journaux. Vérifiez la configuration des processeurs de journalisation que vous avez créés. Pour en savoir plus, consultez la page Erreurs d'analyse de journaux.
LogPipeLineErr Environnement d'exécution Échec du pipeline de journalisation de l'agent Ops. Vérifiez que l'agent a accès aux fichiers de la mémoire tampon, recherchez un disque complet et vérifiez que la configuration de l'agent Ops est correcte. Pour en savoir plus, consultez la page Erreurs de pipeline.
MetaApiConnErr Connectivité Échec de la requête adressée au serveur de métadonnées G C E pour l'interrogation des niveaux d'accès aux VM, des jetons OAuth et des étiquettes de ressources. Vérifiez votre connexion Internet et vos règles de pare-feu. Pour en savoir plus, consultez Problèmes de connectivité réseau.
MonApiConnErr Connectivité Échec d'une requête adressée à l'API Monitoring. Vérifiez votre connexion Internet et vos règles de pare-feu. Pour en savoir plus, consultez Problèmes de connectivité réseau.
MonApiDisabledErr API L'API Monitoring est désactivée dans le projet Google Cloud actuel. Activez l'API Monitoring.
MonApiPermissionErr Autorisation Le compte de service ne dispose pas du rôle "Rédacteur de métriques Monitoring" (roles/monitoring.metricWriter). Attribuez le rôle Rédacteur de métriques Monitoring au compte de service. Pour en savoir plus, consultez la section Autorisations d'API manquantes pour l'agent.
MonApiScopeErr Permission La VM ne dispose pas du niveau d'accès https://www.googleapis.com/auth/monitoring.write. Ajoutez le champ d'application d'accès https://www.googleapis.com/auth/monitoring.write à la VM. Pour en savoir plus, consultez la page Vérifier vos niveaux d'accès.
MonApiUnauthenticatedErr API La VM actuelle n'a pas pu s'authentifier auprès de l'API Monitoring. Vérifiez que vos fichiers d'identifiants, vos niveaux d'accès aux VM et vos autorisations sont correctement configurés. Pour en savoir plus, consultez la page Autoriser l'agent Ops.
OtelMetricsPortErr Disponibilité des ports Le port 20201, nécessaire pour les métriques automatiques de l'agent Ops, n'est pas disponible. Vérifiez que le port 20201 est ouvert. Pour plus d'informations, consultez la section Un port requis n'est pas disponible.
PacApiConnErr Connectivité Ce code de vérification de l'état n'est pas fiable. Ce code est désactivé dans la version 2.46.1 de l'agent Ops. Passez à la version 2.46.1 ou ultérieure de l'agent Ops.

Rechercher les erreurs d'heure de début

À partir de la version 2.35.0, les informations de vérification d'état sont écrites dans le journal ops-agent-health par l'API Cloud Logging (les versions 2.33.0 et 2.34.0 utilisent ops-agent-health-checks). Ces mêmes informations sont également écrites dans un fichier health-checks.log comme suit:

  • Linux : /var/log/google-cloud-ops-agent/health-checks.log
  • Windows : C:\ProgramData\Google\Cloud Operations\Ops Agent\log\health-checks.log

Vous pouvez également afficher les messages de vérification d'état en interrogeant l'état du service de l'Agent Ops comme suit :

  • Sous Linux, exécutez la commande suivante :
       sudo systemctl status google-cloud-ops-agent"*"
       

    Recherchez des messages tels que "[Ports Check] Result: PASS". Les autres résultats incluent "ERROR" et "FAIL".

  • Sous Windows, utilisez la Visionneuse d'événements Windows. Recherchez les messages "Information", "Error" ou "Failure" associés au service google-cloud-ops-agent.

Après avoir résolu les problèmes, vous devez redémarrer l'agent. Les vérifications d'état sont exécutées au démarrage de l'agent. Vous devez donc redémarrer l'agent pour les relancer.

Rechercher les erreurs d'exécution

Les vérifications d'état de l'environnement d'exécution sont transmises à la fois à Cloud Logging et à Error Reporting. Si l'agent n'a pas démarré, mais a pu signaler des erreurs avant l'échec, des erreurs d'heure de début peuvent également apparaître.

Pour afficher les erreurs d'exécution de l'agent Ops dans Logging, procédez comme suit :

  1. Dans le panneau de navigation de la console Google Cloud, sélectionnez Logging, puis Explorateur de journaux :

    Accéder à l'explorateur de journaux

  2. Saisissez la requête suivante, puis cliquez sur Exécuter la requête:
    log_id("ops-agent-health")

Pour afficher les erreurs d'exécution de l'agent Ops dans Error Reporting, procédez comme suit :

  1. Dans le panneau de navigation de la console Google Cloud, sélectionnez Error Reporting, puis votre projet Google Cloud :

    Accéder à Error Reporting

  2. Pour afficher les erreurs de l'agent Ops, filtrez les erreurs pour Ops Agent.

Vérifier la réussite de la collecte de journaux

La version 2.46.0 de l'agent Ops a introduit la vérification d'état LogPingOpsAgent informative. Cette vérification écrit un message d'information dans ops-agent-health toutes les 10 minutes. Vous pouvez utiliser la présence de ces messages pour vérifier que l'agent Ops écrit des journaux en effectuant l'une des opérations suivantes :

Si l'une de ces options indique que les messages de journal ne sont pas ingérés, vous pouvez procéder comme suit :

Pour vérifier l'état de l'Agent Ops sur une VM spécifique, vous devez disposer de l'ID d'instance de la VM. Pour trouver l'ID d'instance, procédez comme suit :

  • Dans le panneau de navigation de la console Google Cloud, sélectionnez Compute Engine, puis Instances de VM :

    Accéder à la page Instances de VM

  • Cliquez sur le nom d'une instance de VM.
  • Dans l'onglet Détails, localisez la section Informations générales. L'ID d'instance apparaît sous la forme d'une chaîne numérique. Utilisez cette chaîne pour la valeur INSTANCE_ID dans les sections suivantes.

Outil de diagnostic des agents pour les VM

L'outil de diagnostic des agents collecte des informations de débogage locales critiques à partir de vos VM pour tous les agents suivants : l'Agent Ops, l'ancien agent Logging et l'ancien agent Monitoring. Les informations de débogage incluent des informations sur le projet, les informations sur la VM, la configuration de l'agent, les journaux de l'agent, l'état du service de l'agent, des informations qui nécessitent généralement un travail manuel. L'outil vérifie également l'environnement de VM local pour s'assurer qu'il répond à certaines exigences pour que les agents fonctionnent correctement, par exemple la connectivité réseau et les autorisations requises.

Lorsque vous déposez une demande d'assistance pour un agent sur une VM, exécutez l'outil de diagnostic de l'agent et joignez les informations collectées à la demande. En fournissant ces informations, vous réduisez le temps nécessaire pour résoudre votre demande d'assistance. Avant de joindre les informations à la demande d'assistance, masquez toutes les informations sensibles telles que les mots de passe.

L'outil de diagnostic de l'agent doit être exécuté à partir de la VM. Vous devez donc tout d'abord généralement vous connecter en SSH à la VM. La commande suivante récupère l'outil de diagnostic de l'agent et l'exécute :

Linux

curl -sSO https://dl.google.com/cloudagents/diagnose-agents.sh
sudo bash diagnose-agents.sh

Windows

(New-Object Net.WebClient).DownloadFile("https://dl.google.com/cloudagents/diagnose-agents.ps1", "${env:UserProfile}\diagnose-agents.ps1")
Invoke-Expression "${env:UserProfile}\diagnose-agents.ps1"

Suivez le résultat de l'exécution du script pour localiser les fichiers contenant les informations collectées. Généralement, vous les trouverez dans le répertoire /var/tmp/google-agents sous Linux et dans le répertoire $env:LOCALAPPDATA/Temp sous Windows, sauf si vous avez personnalisé le répertoire de sortie lors de l'exécution du script.

Pour obtenir des informations détaillées, examinez le script diagnose-agents.sh sous Linux ou le script diagnose-agents.ps1 sous Windows.

Outil de diagnostic de l'agent pour les règles d'installation automatique

Si une tentative d'installation de l'Agent Ops à l'aide d'une règle d'OS d'Agent Ops échoue, vous pouvez utiliser le script de diagnostic décrit dans cette section pour le résoudre le problème. Par exemple, vous pouvez rencontrer l'un des cas suivants :

  • L'installation de l'Agent Ops échoue lorsque vous cochez la case Installer l'Agent Ops pour Monitoring et Logging pour installer l'Agent Ops lors de la création de la VM.
  • L'état de l'agent dans le tableau de bord des instances de VM Cloud Monitoring ou dans l'onglet Observabilité sur la page d'informations d'une VM Compute Engine reste à l'état En attente pendant plus de 10 minutes. Un état prolongé En attente peut indiquer l'un des éléments suivants :

    • Un problème lors de l'application de la règle
    • Un problème lors de l'installation de l'Agent Ops
    • Un problème de connectivité entre la VM et Cloud Monitoring

    Pour certains de ces problèmes, le script de diagnostic des agents et les vérifications d'état de base peuvent également être utiles.

Pour exécuter le script de diagnostic des règles, exécutez les commandes suivantes :

curl -sSO https://dl.google.com/cloudagents/diagnose-ui-policies.sh
bash diagnose-ui-policies.sh VM_NAME VM_ZONE

Ce script affiche les informations sur les VM concernées et les règles d'installation automatique associées.

Lorsque vous déposez une demande d'assistance pour un agent sur une VM, exécutez les outils de diagnostic de l'agent et joignez les informations collectées à la demande. En fournissant ces informations, vous réduisez le temps nécessaire pour résoudre votre demande d'assistance. Avant de joindre les informations à la demande d'assistance, masquez toutes les informations sensibles telles que les mots de passe.

État de l'agent

Vous pouvez vérifier l'état des processus de l'agent Ops sur la VM pour déterminer si l'agent est en cours d'exécution ou non.

Linux

Pour vérifier l'état de l'Agent Ops, exécutez la commande suivante :

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

Vérifiez que les composants "Agent de métriques" et "Agent Logging" sont listés comme "actifs (en cours d'exécution)", comme indiqué dans l'exemple de sortie suivant (certaines lignes 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>

[...]

Windows

Pour vérifier l'état de l'Agent Ops, exécutez la commande suivante :

Get-Service google-cloud-ops-agent*

Vérifiez que les composants "Metrics Agent" et "Logging Agent" sont répertoriés comme "En cours d'exécution", comme illustré dans l'exemple de résultat suivant :

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

Journaux automatiques de l'agent

Si l'agent ne parvient pas à ingérer les journaux dans Cloud Logging, vous devrez peut-être inspecter les journaux de l'agent localement sur la VM pour le dépannage. Vous pouvez également utiliser la rotation des journaux pour gérer les journaux automatiques de l'agent.

Linux

Pour inspecter les journaux automatiques écrits dans Journald, exécutez la commande suivante :

journalctl -u google-cloud-ops-agent*

Pour inspecter les journaux automatiques écrits sur le disque par le module de journalisation, exécutez la commande suivante :

vim -M /var/log/google-cloud-ops-agent/subagents/logging-module.log

Windows

Pour inspecter les journaux automatiques écrits dans Windows Event Logs, exécutez la commande suivante :

Get-WinEvent -FilterHashtable @{ Logname='Application'; ProviderName='google-cloud-ops-agent*' } | Format-Table -AutoSize -Wrap

Pour inspecter les journaux automatiques écrits sur le disque par le module de journalisation, exécutez la commande suivante :

notepad "C:\ProgramData\Google\Cloud Operations\Ops Agent\log\logging-module.log"

Pour inspecter les journaux à partir du Windows Service Control Manager pour les services de l'Agent Ops, exécutez la commande suivante :

Get-WinEvent -FilterHashtable @{ Logname='System'; ProviderName='Service Control Manager' } | Where-Object -Property Message -Match 'Google Cloud Ops Agent' | Format-Table -AutoSize -Wrap

Afficher les données d'utilisation et de diagnostic des métriques dans Cloud Monitoring

La page Gestion des métriques de Cloud Monitoring fournit des informations qui peuvent vous aider à contrôler les sommes que vous consacrez aux métriques facturables, sans affecter l'observabilité. La page Gestion des métriques fournit les informations suivantes :

  • Les volumes d'ingestion pour la facturation à base d'octets et celle à base d'exemples, englobant les différents domaines de métriques et des métriques individuelles
  • Les données sur les libellés et la cardinalité des métriques
  • L'utilisation de métriques dans les règles d'alerte et les tableaux de bord personnalisés
  • Les taux d'erreurs d'écriture de métriques

Procédez comme suit pour afficher la page Gestion des métriques :

  1. Dans le panneau de navigation de la console Google Cloud, sélectionnez Monitoring, puis  Gestion des métriques :

    Accéder à Gestion des métriques

  2. Dans la barre d'outils, sélectionnez votre période. Par défaut, la page Gestion des métriques affiche des informations sur les métriques collectées au cours du jour précédent.

Pour en savoir plus sur la page Gestion des métriques, consultez la section Afficher et gérer l'utilisation des métriques.