Trovare le informazioni per la risoluzione dei problemi di Ops Agent

Questo documento descrive le fonti delle informazioni diagnostiche che puoi utilizzare per identificare i problemi durante l'installazione o l'esecuzione di Ops Agent.

Controlli di integrità dell'agente

La versione 2.25.1 introduceva i controlli di integrità in fase di inizio per Ops Agent. All'avvio, Ops Agent esegue una serie di controlli per verificare le condizioni che impediscono la corretta esecuzione dell'agente. Se l'agente rileva una delle condizioni, registra un messaggio che descrive il problema. L'Ops Agent verifica quanto segue:

  • Problemi di connettività
  • Disponibilità delle porte utilizzate dall'agente per generare report sulle sue metriche
  • Problemi di autorizzazione
  • Disponibilità delle API utilizzate dall'agente per scrivere log o metriche
  • Un problema della routine di controllo di integrità.
Per informazioni sull'individuazione degli errori relativi all'ora di inizio, consulta Trovare gli errori relativi all'ora di inizio.

La versione 2.37.0 ha introdotto i controlli dell'integrità di runtime per Ops Agent. Questi errori vengono segnalati a Cloud Logging ed Error Reporting. Per informazioni sull'individuazione degli errori di runtime, consulta Trovare gli errori di runtime.

La versione 2.46.0 ha introdotto il codice LogPingOpsAgent informativo. Questo codice non rappresenta un errore. Per saperne di più, consulta Verificare la raccolta dei log eseguita correttamente.

La seguente tabella elenca ogni codice del controllo di integrità in ordine alfabetico e descrive il significato di ciascun codice. I codici che terminano con la stringa Err indicano errori, mentre gli altri sono a scopo informativo.

Codice per il controllo di integrità Categoria Significato Suggerimento
DLApiConnErr Connettività Richiesta per il sottodominio dei download, dl.google.com, non riuscita. Controlla la connessione a internet e le regole del firewall. Per maggiori informazioni, consulta Problemi di connettività di rete.
FbMetricsPortErr Disponibilità delle porte La porta 20202, necessaria per le metriche individuali di Ops Agent, non è disponibile. Verifica che la porta 20202 sia aperta. Per maggiori informazioni, consulta la pagina La porta richiesta non è disponibile.
HcFailureErr Generico Si è verificato un errore interno durante la routine di controllo di integrità di Ops Agent. Invia una richiesta di assistenza dalla console Google Cloud. Per maggiori informazioni, vedi Richiedere assistenza.
LogApiConnErr Connettività Richiesta all'API Logging non riuscita. Controlla la connessione a internet e le regole del firewall. Per maggiori informazioni, consulta Problemi di connettività di rete.
LogApiDisabledErr API L'API Logging è disabilitata nel progetto Google Cloud attuale. Abilita l'API Logging.
LogApiPermissionErr Autorizzazione L'account di servizio non ha il ruolo Autore log (roles/logging.logWriter). Concedi il ruolo Writer log all'account di servizio. Per maggiori informazioni, consulta L'agente non dispone di autorizzazioni API.
LogApiScopeErr Autorizzazione Alla VM manca l'ambito di accesso https://www.googleapis.com/auth/logging.write. Aggiungi l'ambito https://www.googleapis.com/auth/logging.write alla VM. Per maggiori informazioni, consulta Verificare gli ambiti di accesso.
LogApiUnauthenticatedErr API La VM attuale non è riuscita ad autenticarsi con l'API Logging. Verifica che i file delle credenziali, gli ambiti di accesso alle VM e le autorizzazioni siano configurati correttamente. Per maggiori informazioni, consulta Autorizzare Ops Agent.
LogPingOpsAgent   Un messaggio payload informativo scritto ogni 10 minuti nel log ops-agent-health. Puoi utilizzare le voci di log risultanti per verificare che l'agente stia inviando i log. Questo messaggio non è un errore. Questo messaggio dovrebbe essere visualizzato ogni 10 minuti. Se il messaggio non viene visualizzato per 20 minuti o più, è possibile che l'agente abbia riscontrato un problema. Per informazioni sulla risoluzione dei problemi, consulta Risolvere i problemi di Ops Agent.
LogParseErr Runtime Ops Agent non è riuscito ad analizzare uno o più log. Controlla la configurazione dei processori di logging che hai creato. Per ulteriori informazioni, consulta Errori di analisi dei log.
LogPipeLineErr Runtime Errore della pipeline di logging di Ops Agent. Verifica che l'agente abbia accesso ai file del buffer; verifica la disponibilità di un disco pieno e la configurazione di Ops Agent sia corretta. Per maggiori informazioni, consulta Errori di pipeline.
MetaApiConnErr Connettività Richiesta al server G C E Metadata per l'esecuzione di query su ambiti di accesso alle VM, token OAuth ed etichette delle risorse non riuscita. Controlla la connessione a internet e le regole del firewall. Per maggiori informazioni, consulta Problemi di connettività di rete.
MonApiConnErr Connettività Richiesta all'API Monitoring non riuscita. Controlla la connessione a internet e le regole del firewall. Per maggiori informazioni, consulta Problemi di connettività di rete.
MonApiDisabledErr API L'API Monitoring è disabilitata nel progetto Google Cloud attuale. Abilita l'API Monitoring.
MonApiPermissionErr Autorizzazione Nell'account di servizio manca il ruolo Writer metriche di Monitoring (roles/monitoring.metricWriter). Concedi il ruolo Writer metriche Monitoring all'account di servizio. Per maggiori informazioni, consulta L'agente non dispone di autorizzazioni API.
MonApiScopeErr Autorizzazione Alla VM manca l'ambito di accesso https://www.googleapis.com/auth/monitoring.write. Aggiungi l'ambito https://www.googleapis.com/auth/monitoring.write alla VM. Per maggiori informazioni, consulta Verificare gli ambiti di accesso.
MonApiUnauthenticatedErr API La VM attuale non è riuscita ad autenticarsi con l'API Monitoring. Verifica che i file delle credenziali, gli ambiti di accesso alle VM e le autorizzazioni siano configurati correttamente. Per maggiori informazioni, consulta Autorizzare Ops Agent.
OtelMetricsPortErr Disponibilità delle porte La porta 20201, necessaria per le metriche automatiche di Ops Agent, non è disponibile. Verifica che la porta 20201 sia aperta. Per maggiori informazioni, consulta Una porta obbligatoria non è disponibile.
PacApiConnErr Connettività Questo codice per il controllo di integrità non è affidabile. Questo codice è disabilitato in Ops Agent versione 2.46.1. Esegui l'aggiornamento alla versione Ops Agent 2.46.1 o successive.

Trovare gli errori relativi all'ora di inizio

A partire dalla versione 2.35.0, le informazioni sul controllo di integrità vengono scritte nel log ops-agent-health dall'API Cloud Logging (versioni 2.33.0, 2.34.0 utilizzano ops-agent-health-checks). Le stesse informazioni vengono scritte anche in un file health-checks.log come segue:

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

Puoi anche visualizzare i messaggi di controllo di integrità eseguendo una query sullo stato del servizio Ops Agent come segue:

  • Su Linux, esegui questo comando:
       sudo systemctl status google-cloud-ops-agent"*"
       

    Cerca messaggi di tipo "[Controllo porte] Risultato: SUPERATO". Altri risultati sono "ERRORE" e "NON SUPERATO".

  • Su Windows, utilizza il Visualizzatore eventi di Windows. Cerca i messaggi "Informazioni", "Errore" o "Errore" associati al servizio google-cloud-ops-agent.

Dopo aver risolto gli eventuali problemi, devi riavviare l'agente. I controlli di integrità vengono eseguiti all'avvio dell'agente, quindi per eseguirli di nuovo, devi riavviare l'agente.

Individuazione degli errori di runtime

I controlli di integrità del runtime vengono segnalati sia a Cloud Logging che a Error Reporting. Se l'agente non è stato avviato, ma è riuscito a segnalare gli errori prima dell'esito negativo, potresti visualizzare anche errori in fase di inizio.

Per visualizzare gli errori di runtime da Ops Agent in Logging, segui questi passaggi:

  1. Nella console Google Cloud, vai alla pagina Esplora log:

    Vai a Esplora log

    Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato il cui sottotitolo è Logging.

  2. Inserisci la query seguente e fai clic su Esegui query:
    log_id("ops-agent-health")

Per visualizzare gli errori di runtime da Ops Agent in Error Reporting:

  1. Nella console Google Cloud, vai alla pagina Error Reporting:

    Vai a Error Reporting.

    Puoi trovare questa pagina anche utilizzando la barra di ricerca.

  2. Per visualizzare gli errori da Ops Agent, filtra gli errori per Ops Agent.

Verifica della raccolta di log riuscita

La versione 2.46.0 di Ops Agent ha introdotto il controllo informativo di integrità LogPingOpsAgent. Questo controllo scrive un messaggio informativo in ops-agent-health ogni 10 minuti. Puoi utilizzare la presenza di questi messaggi per verificare che Ops Agent stia scrivendo i log, eseguendo una delle seguenti operazioni:

Se una di queste opzioni indica che i messaggi di log non vengono importati, puoi procedere come segue:

Per verificare lo stato di Ops Agent su una VM specifica, è necessario l'ID istanza della VM. Per trovare l'ID istanza:

  • Nella console Google Cloud, vai alla pagina Istanze VM:

    Vai a Istanze VM

    Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato il cui sottotitolo è Compute Engine.

  • Fai clic sul nome di un'istanza VM.
  • Nella scheda Dettagli, individua la sezione Informazioni di base. L'ID istanza viene visualizzato come stringa numerica. Utilizza questa stringa per il valore INSTANCE_ID nelle sezioni successive.

Strumento di diagnostica degli agenti per le VM

Lo strumento di diagnostica dell'agente raccoglie informazioni fondamentali di debug locali dalle VM per tutti i seguenti agenti: Ops Agent, l'agente Logging legacy e l'agente Monitoring legacy. Le informazioni di debug includono, ad esempio, informazioni sul progetto, informazioni sulla VM, configurazione degli agenti, log degli agenti, stato del servizio dell'agente e informazioni che in genere richiedono la raccolta manuale. Lo strumento verifica inoltre l'ambiente VM locale per garantire che soddisfi determinati requisiti per il corretto funzionamento degli agenti, ad esempio la connettività di rete e le autorizzazioni richieste.

Quando invii una richiesta di assistenza per un agente su una VM a un cliente, esegui lo strumento di diagnostica dell'agente e allega alla richiesta le informazioni raccolte. Queste informazioni riducono il tempo necessario per risolvere i problemi della richiesta di assistenza. Prima di allegare le informazioni alla richiesta di assistenza, oscura eventuali informazioni sensibili come le password.

Lo strumento di diagnostica dell'agente deve essere eseguito dall'interno della VM, quindi in genere è necessario utilizzare SSH per accedere alla VM. Il seguente comando recupera lo strumento di diagnostica dell'agente e lo esegue:

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"

Segui l'output dello script per individuare i file che includono le informazioni raccolte. Di solito, puoi trovarli nella directory /var/tmp/google-agents su Linux e nella directory $env:LOCALAPPDATA/Temp su Windows, a meno che tu non abbia personalizzato la directory di output durante l'esecuzione dello script.

Per informazioni dettagliate, esamina lo script diagnose-agents.sh su Linux o diagnose-agents.ps1 su Windows.

Strumento di diagnostica degli agenti per i criteri di installazione automatica

Se un tentativo di installare Ops Agent tramite un criterio del sistema operativo di Ops Agent ha esito negativo, puoi utilizzare lo script di diagnostica descritto in questa sezione per il debug. Ad esempio, potresti vedere uno dei seguenti casi:

  • L'installazione di Ops Agent non riesce quando hai utilizzato la casella di controllo Installa Ops Agent per il monitoraggio e il logging per installare Ops Agent durante la creazione della VM.
  • Lo stato dell'agente nella dashboard delle istanze VM di Cloud Monitoring o nella scheda Osservabilità in una pagina dei dettagli della VM di Compute Engine rimane in stato In attesa per più di 10 minuti. Lo stato In attesa prolungato potrebbe indicare una delle seguenti condizioni:

    • Si è verificato un problema durante l'applicazione del criterio.
    • Un problema nell'installazione effettiva di Ops Agent.
    • Un problema di connettività tra la VM e Cloud Monitoring.

    Per alcuni di questi problemi, potrebbero essere utili anche lo script di diagnostica dell'agente e i controlli di integrità generali.

Per eseguire lo script di diagnostica dei criteri, esegui questi comandi:

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

Questo script mostra informazioni sulle VM interessate e sui relativi criteri di installazione automatica.

Quando invii una richiesta di assistenza per un agente su una VM, esegui gli strumenti di diagnostica dell'agente e allega alla richiesta le informazioni raccolte. Queste informazioni riducono il tempo necessario per risolvere i problemi della richiesta di assistenza. Prima di allegare le informazioni alla richiesta di assistenza, oscura eventuali informazioni sensibili come le password.

Stato agente

Puoi controllare lo stato dei processi Ops Agent sulla VM per determinare se l'agente è in esecuzione o meno.

Linux

Per controllare lo stato di Ops Agent, utilizza il comando seguente:

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

Verifica che i componenti "Metrics Agent" e "Logging Agent" siano elencati come "attivi (in esecuzione)", come mostrato nel seguente output di esempio (alcune righe sono state rimosse per brevità):

● 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

Per controllare lo stato di Ops Agent, utilizza il comando seguente:

Get-Service google-cloud-ops-agent*

Verifica che i componenti "Metrics Agent" e "Logging Agent" siano elencati come "Running", come mostrato nel seguente output di esempio:

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

Autolog dell'agente

Se l'agente non riesce a importare i log in Cloud Logging, potrebbe essere necessario controllare i log dell'agente localmente sulla VM per risolvere i problemi. Puoi anche utilizzare la rotazione dei log per gestire i log automatici dell'agente.

Linux

Per ispezionare gli auto log scritti in Journald, esegui questo comando:

journalctl -u google-cloud-ops-agent*

Per esaminare gli autolog scritti sul disco dal modulo di logging, esegui questo comando:

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

Windows

Per ispezionare gli auto log scritti in Windows Event Logs, esegui questo comando:

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

Per esaminare gli autolog scritti sul disco dal modulo di logging, esegui questo comando:

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

Per esaminare i log di Windows Service Control Manager per i servizi Ops Agent, esegui questo comando:

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

Visualizza l'utilizzo e la diagnostica delle metriche in Cloud Monitoring

La pagina Gestione delle metriche di Cloud Monitoring fornisce informazioni che possono aiutarti a controllare l'importo speso per le metriche addebitabili senza influire sull'osservabilità. La pagina Gestione delle metriche riporta le seguenti informazioni:

  • Volumi di importazione per la fatturazione basata su byte e campioni, nei domini delle metriche e per le singole metriche.
  • Dati su etichette e cardinalità delle metriche.
  • Utilizzo delle metriche nei criteri di avviso e nelle dashboard personalizzate.
  • Percentuale di errori di scrittura delle metriche.

Per visualizzare la pagina Gestione delle metriche:

  1. Nella console Google Cloud, vai alla pagina  Gestione delle metriche:

    Vai a Gestione delle metriche

    Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato il cui sottotitolo è Monitoring.

  2. Nella barra degli strumenti, seleziona la finestra temporale. Per impostazione predefinita, la pagina Gestione delle metriche mostra informazioni sulle metriche raccolte il giorno precedente.

Per saperne di più sulla pagina Gestione delle metriche, consulta Visualizzare e gestire l'utilizzo delle metriche.