Risolvere i problemi di installazione e avvio di Ops Agent

Questo documento fornisce informazioni utili per diagnosticare e risolvere i problemi relativi all'installazione e all'avvio di Ops Agent. Se l'agente è in esecuzione, ma non riesce a importare log o metriche, consulta Risolvere i problemi di importazione dei dati.

Prima di iniziare

Prima di provare a risolvere un problema, controlla lo stato dei controlli di integrità dell'agente.

Installazione dell'agente non riuscita

Durante l'esecuzione dello script di installazione potresti riscontrare i seguenti errori.

Il sistema operativo non è supportato

Se il sistema operativo non è supportato, l'installazione di Ops Agent non riesce. Il messaggio di errore potrebbe essere simile al seguente:

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

È installato un agente legacy in conflitto con Ops Agent

Quando in una VM è già installato l'agente Cloud Logging o l'agente Cloud Monitoring, entra in conflitto con il nuovo agente. Il messaggio di errore potrebbe essere simile al seguente:

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

Ops Agent utilizza nuovi file di configurazione non compatibili con gli agenti precedenti. Per ulteriori informazioni, consulta la guida Configurare Ops Agent.

Per correggere questo errore:

  1. Salva i file di configurazione personalizzati per l'agente Cloud Monitoring e l'agente Cloud Logging.

  2. Disinstalla l'agente Cloud Monitoring precedente e l'agente Cloud Logging.

    Dopo aver disinstallato l'agente, la console Google Cloud potrebbe impiegare fino a un'ora per segnalare questa modifica.

L'installazione di Ops Agent non va a buon fine dopo l'installazione dell'agente Monitoring non riuscita

L'installazione di Ops Agent non riesce dopo un tentativo non riuscito di installare l'agente Monitoring. Su un sistema operativo Debian, i messaggi di errore quando l'installazione di Ops Agent non riesce a essere simili ai seguenti:

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.

Se provi a installare l'agente Monitoring su un sistema operativo non supportato dall'agente, l'installazione non va a buon fine. L'errore di installazione si verifica dopo l'aggiunta al sistema del repository dell'agente Monitoring. Anche l'installazione di Ops Agent dopo un'installazione non riuscita dell'agente Monitoring non riesce a causa di un repository dell'agente Monitoring non valido.

Non tutti i sistemi operativi supportati da Ops Agent sono supportati anche dall'agente Monitoring. Per informazioni sui sistemi operativi supportati, consulta Ops Agent: sistemi operativi Linux e Agente Monitoring: sistemi operativi Linux.

Per installare Ops Agent:

  1. Rimuovi il repository per l'agente Monitoring:

    Se lo script add-monitoring-agent-repo.sh si trova nel tuo sistema, esegui questo comando:

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

    In caso contrario, rimuovi manualmente il repository:

    Debian

    sudo rm /etc/apt/sources.list.d/google-cloud-monitoring.list

    RHEL

     sudo rm /etc/yum.repos.d/google-cloud-monitoring.repo

    Susa

    sudo rm /etc/zypp/repos.d/google-cloud-monitoring.repo

  2. Esegui lo script di installazione di Ops Agent.

L'installazione di Ops Agent non riesce perché l'aggiornamento del repository non va a buon fine

L'installazione di Ops Agent non riesce perché l'aggiornamento dei repository installati non va a buon fine.

Linux

Per un esempio del messaggio di errore per un sistema operativo Debian, in cui l'aggiornamento del repository avviene a causa di una chiamata a apt-get update, consulta la voce per la risoluzione dei problemi L'installazione di Ops Agent non va a buon fine dopo l'installazione dell'agente Monitoring non riuscita.

Se si verificano errori durante l'aggiornamento dei repository, devi risolverli prima di poter installare Ops Agent. Potresti riuscire a risolvere questi errori eliminando o disattivando i repository non necessari.

Dopo aver aggiornato i repository, puoi installare Ops Agent eseguendo lo script di installazione di Ops Agent.

L'agente è installato, ma non in esecuzione

Se l'agente è stato installato ma non è in esecuzione, il problema potrebbe essere uno dei seguenti:

Servizi agente non in esecuzione

Quando i servizi dell'agente vengono eseguiti come previsto, l'agente Metrics e l'agente Logging sono elencati come in esecuzione quando esegui una query sullo stato:

Per Linux

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

Alcune righe nell'output sono state eliminate 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>

[...]

Per 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

Se il servizio dell'agente non è in esecuzione, potresti vedere il seguente stato:

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

Per correggere questo errore, esegui questo comando per avviare il servizio:

Linux

sudo service google-cloud-ops-agent start

Windows

Start-Service google-cloud-ops-agent

Se il servizio non si avvia, la configurazione potrebbe non essere valida.

Conflitto con gli agenti attualmente installati

  • Nella VM è già installato l'agente Cloud Logging o l'agente Cloud Monitoring e la relativa configurazione è in conflitto con la configurazione del nuovo agente. Il messaggio di errore potrebbe essere simile al seguente:

    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.
    

    Per correggere questo errore, hai due opzioni:

    1. Disattiva la sezione in conflitto del file di configurazione di Ops Agent. Per ulteriori informazioni, consulta la guida Configurare Ops Agent.

    2. Disabilita l'agente Cloud Logging o l'agente Cloud Monitoring in conflitto.

      1. Salva tutti i file di configurazione personalizzati per l'agente Cloud Logging.
      2. Disinstalla l'agente Cloud Monitoring precedente e l'agente Cloud Logging.

      Dopo aver disinstallato l'agente, la console Google Cloud potrebbe impiegare fino a un'ora per segnalare questa modifica.

La porta richiesta non è disponibile

È possibile che Ops Agent o uno dei suoi componenti non venga avviato quando la porta necessaria per il componente è utilizzata da un altro processo. Ops Agent utilizza le seguenti porte:

  • Porta 20201, per il componente "Metrics Agent"
  • Porta 20202, per il componente "Agente Logging"

Se un processo diverso da un componente di Ops Agent utilizza la porta 20201 o la porta 20202, interrompi il processo e riavvia Ops Agent. Per determinare quale processo utilizza le porte:

Linux

Componente Metrics Agent: per vedere quale processo utilizza la porta 20201, utilizza il seguente comando:

sudo netstat -ns -p | grep '20201'

L'output seguente mostra il risultato previsto: il raccoglitore delle metriche di Ops Agent, otelopscol, utilizza la porta:

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

Componente agente Logging: per vedere quale processo utilizza la porta 20202, utilizza il seguente comando:

sudo netstat -ns -p | grep '20202'

Il seguente output mostra il risultato previsto: il raccoglitore dei log di Ops Agent, fluent-bit, utilizza la porta:

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

Componente Metrics Agent: per vedere quale processo utilizza la porta 20201, utilizza il seguente comando:

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

Il seguente output mostra il risultato previsto: il raccoglitore di metriche di Ops Agent, google-cloud-metrics-agent_windows_amd64.exe, utilizza la porta:

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

Componente agente Logging: per vedere quale processo utilizza la porta 20202, utilizza il seguente comando:

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

Il seguente output mostra il risultato previsto: il raccoglitore dei log di Ops Agent, fluent-bit.exe, utilizza la porta:

>   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

Gli errori relativi alla disponibilità della porta possono essere rilevati dai controlli di integrità eseguiti da Ops Agent.

L'agente non ha autorizzazioni API

Se l'agente non si avvia o non importa i dati, il problema potrebbe essere che il componente "Metrics Agent" o "agente Logging" non abbia l'autorizzazione necessaria per accedere all'API.

L'account di servizio utilizzato da Ops Agent richiede i seguenti ruoli Identity and Access Management:

Questi ruoli includono le autorizzazioni necessarie per scrivere dati di logging o metriche e devono essere concessi all'account di servizio associato alla VM. L'account di servizio che stai utilizzando dipende da come hai configurato la VM e autorizzato l'agente. È possibile che tu stia utilizzando uno dei seguenti strumenti:

Per identificare l'account di servizio associato a una VM:

  1. 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.

  2. Se necessario, fai clic sull'elenco a discesa dei progetti Google Cloud e seleziona il nome del progetto.

  3. Seleziona la scheda Istanze, se necessario.

  4. Nell'elenco delle istanze VM, fai clic sul nome della VM per visualizzare la relativa pagina Dettagli.

  5. Individua la sezione Gestione di API e identità della pagina. L'account di servizio è indicato come valore del campo Account di servizio.

Per informazioni sull'impostazione dei ruoli concessi all'account di servizio, vedi Verificare e modificare i ruoli di un account di servizio esistente.

Gli errori relativi alle autorizzazioni API possono essere rilevati dai controlli di integrità eseguiti da Ops Agent.

Configurazione non valida

Se la configurazione non è valida, potresti visualizzare il seguente errore quando cerchi di riavviare il servizio agente:

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.

Usa journalctl per visualizzare il messaggio di errore esatto:

sudo journalctl -xe | grep "google_cloud_ops_agent_engine"

È possibile che venga visualizzato un messaggio simile al seguente:

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

Per correggere l'errore, correggi la configurazione non valida e riavvia l'agente. Come riferimento, consulta la guida Configurare Ops Agent.

L'agente si arresta in modo anomalo e il report menziona NVIDIA

Stai tentando di eseguire Ops Agent su una VM di Compute Engine con GPU collegate. L'agente si arresta in modo anomalo e nell'output viene menzionato NVIDIA.

Questo è un problema noto delle versioni 2.39.0 e 2.40.0 di Ops Agent. Per limitare il problema, installa Ops Agent versione 2.38.0 o versione 2.41.0 o successiva.

Le informazioni sullo stato nella console Google Cloud sono errate

La console Google Cloud segnala informazioni sullo stato degli agenti sulle VM di Compute Engine in varie dashboard, ad esempio la dashboard Istanze VM in Cloud Monitoring. Se queste informazioni non corrispondono a quanto previsto, la causa potrebbe essere semplicemente un ritardo in quanto le modifiche alla configurazione funzionano come previsto dal sistema. Tuttavia, informazioni impreviste potrebbero indicare anche che l'agente non è in esecuzione come previsto.

Agente installato segnalato dalla console Google Cloud come non rilevato

L'agente deve essere in esecuzione e importare dati affinché la console Google Cloud possa riconoscere la presenza dell'agente. Se hai installato l'agente, ma lo stato della console rimane "Non rilevato", l'agente non è in esecuzione o è in esecuzione e non importa dati. Per ulteriori informazioni, consulta le seguenti risorse:

Agente rimosso segnalato dalla console Google Cloud come installato

Dopo aver disinstallato l'agente, la console Google Cloud potrebbe impiegare fino a un'ora per segnalare questa modifica.