Questo documento fornisce informazioni utili per diagnosticare e risolvere i problemi di installazione e avvio di Ops Agent. Se l'agente è in esecuzione, ma non riesce a importare i log o le metriche, consulta Risolvere i problemi di importazione dei dati.
Prima di iniziare
Prima di tentare di risolvere un problema, controlla lo stato dei controlli di integrità dell'agente.
Impossibile installare l'agente
Potresti riscontrare i seguenti errori durante l'esecuzione dello script di installazione.
Il sistema operativo non è supportato
Quando 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
Se in una VM è già installato l'agente Cloud Logging o l'agente Cloud Monitoring, sono 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 i vecchi agenti. Per ulteriori informazioni, consulta la guida Configura Ops Agent.
Per correggere questo errore:
Salva i file di configurazione personalizzati per l'agente Cloud Monitoring e l'agente Cloud Logging.
Disinstalla l'agente Cloud Monitoring e l'agente Cloud Logging precedenti.
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 riesce dopo la mancata installazione dell'agente Monitoring
L'installazione di Ops Agent non riesce dopo un tentativo non riuscito di installare l'agente Monitoring. In un sistema operativo Debian, i messaggi di errore visualizzati quando l'Ops Agent non riesce a installare l'app sono 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 tenti di installare l'agente Monitoring su un sistema operativo non supportato da tale 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:
Rimuovi il repository per l'agente Monitoring:
Se nel tuo sistema è presente lo script
add-monitoring-agent-repo.sh
, 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
Suse
sudo rm /etc/zypp/repos.d/google-cloud-monitoring.repo
Esegui lo script di installazione di Ops Agent.
L'installazione di Ops Agent non va a buon fine perché l'aggiornamento del repository non riesce
L'installazione di Ops Agent non va a buon fine perché l'aggiornamento dei repository installati non va a buon fine.
Linux
Per un esempio di messaggio di errore relativo a 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 riesce dopo la mancata installazione dell'agente Monitoring.
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'aggiornamento del repository non riesce perché la chiave pubblica non è disponibile
Linux
Un aggiornamento del repository, a causa di una chiamata a apt-get update
, non riesce perché la chiave pubblica non è disponibile. Questo può verificarsi anche durante l'installazione o l'upgrade di Ops Agent. Potresti visualizzare il seguente errore:
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.
Per correggere questo errore, esegui questo comando per aggiungere la chiave mancante al sistema:
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'agente è installato, ma non in esecuzione
Se hai installato l'agente, ma quest'ultimo non è in esecuzione, il problema potrebbe essere uno dei seguenti:
- Uno dei componenti principali, "Metrics Agent" o "Logging Agent", non è riuscito ad avviarsi; consulta Servizi agente non in esecuzione.
- Nella VM è installato anche uno degli agenti legacy; consulta Conflitto con gli agenti attualmente installati.
- Una porta richiesta da uno dei componenti è utilizzata da un altro processo; consulta Porta non disponibile.
- La configurazione di Ops Agent non è valida; consulta Configurazione non valida.
Servizi agente non in esecuzione
Quando i servizi dell'agente sono in esecuzione come previsto, l'agente delle metriche e l'agente Logging vengono 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 viene avviato, 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 le relative configurazioni sono 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 possibilità:
Disabilita la sezione in conflitto del file di configurazione di Ops Agent. Per ulteriori informazioni, consulta la guida Configura Ops Agent.
Disabilita l'agente Cloud Logging o l'agente Cloud Monitoring in conflitto.
- Salva eventuali file di configurazione personalizzati per l'agente Cloud Logging.
- Disinstalla l'agente Cloud Monitoring e l'agente Cloud Logging precedenti.
Dopo aver disinstallato l'agente, la console Google Cloud potrebbe impiegare fino a un'ora per segnalare questa modifica.
La porta obbligatoria non è disponibile
È possibile che Ops Agent o uno dei suoi componenti non si avvii quando la porta richiesta dal componente viene 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, interrompilo e riavvia Ops Agent. Segui questi passaggi per determinare quale processo utilizza le porte:
Linux
Componente Metrics Agent: per vedere quale processo utilizza la porta 20201, utilizza il comando seguente:
sudo netstat -ns -p | grep '20201'
L'output seguente mostra il risultato previsto:
il raccoglitore delle metriche di Ops Agent, otelopscol
, sta utilizzando 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, usa il comando seguente:
sudo netstat -ns -p | grep '20202'
L'output seguente mostra il risultato previsto:
il raccoglitore dei log di Ops Agent, fluent-bit
, sta utilizzando 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 comando seguente:
netstat -na -b | Select-String "20201" -Context 0,1
Il seguente output mostra il risultato previsto: il raccoglitore delle metriche di Ops Agent, google-cloud-metrics-agent_windows_amd64.exe
, sta utilizzando 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, usa il comando seguente:
netstat -na -b | Select-String "20202" -Context 0,1
L'output seguente mostra il risultato previsto:
il raccoglitore dei log di Ops Agent, fluent-bit.exe
, sta utilizzando 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 di disponibilità delle porte possono essere rilevati dai controlli di integrità eseguiti da Ops Agent.
L'agente non dispone delle autorizzazioni API
Se l'agente non avvia o non importa i dati, il problema potrebbe essere che il componente "Agente metriche" o "Agente Logging" non dispone dell'autorizzazione necessaria per accedere all'API.
L'account di servizio utilizzato da Ops Agent richiede i seguenti ruoli di Identity and Access Management:
- Per il componente "Agente Logging": Writer log (
roles/logging.logWriter
) - Per il componente "Metrics Agent": Monitoring Metric Writer (
roles/monitoring.metricWriter
).
Questi ruoli includono le autorizzazioni necessarie per scrivere dati di logging o delle 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 prodotti:
- Un account di servizio collegato alla VM.
- Un account di servizio che utilizza una chiave privata.
Per identificare l'account di servizio associato a una VM, segui questi passaggi:
-
Nella console Google Cloud, vai alla pagina Istanze VM:
Se usi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Compute Engine.
Se necessario, fai clic sull'elenco a discesa dei progetti Google Cloud e seleziona il nome del progetto.
Seleziona la scheda Istanze, se necessario.
Nell'elenco delle istanze VM, fai clic sul nome della VM per visualizzarne la pagina Dettagli.
Individua la sezione Gestione di API e identità della pagina. L'account di servizio è elencato come valore del campo Account di servizio.
Per informazioni sull'impostazione dei ruoli concessi all'account di servizio, consulta 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 dell'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 ricevere il messaggio di errore esatto:
sudo journalctl -xe | grep "google_cloud_ops_agent_engine"
Potrebbe essere 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 Configura Ops Agent.
L'agente si arresta in modo anomalo e il report contiene informazioni su NVIDIA
Stai tentando di eseguire Ops Agent su una VM di Compute Engine con GPU collegate. L'agente ha un arresto anomalo e l'output menziona NVIDIA.
Si tratta di un problema noto delle versioni 2.39.0 e 2.40.0 di Ops Agent. Per ridurre l'impatto, installa Ops Agent 2.38.0 o 2.41.0 o versioni successive.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 di Cloud Monitoring. Se queste informazioni non corrispondono a quanto previsto, la causa potrebbe essere semplicemente un ritardo dovuto al fatto che le modifiche alla configurazione funzionano come previsto nel sistema. Tuttavia, informazioni impreviste potrebbero indicare 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 i dati affinché la console Google Cloud possa riconoscere la sua presenza. Se hai installato l'agente, ma lo stato della console rimane "Non rilevato", l'agente non è in esecuzione o è in esecuzione e non sta importando dati. Per ulteriori informazioni, consulta le seguenti risorse:
- L'agente è installato, ma non in esecuzione.
- L'agente è in esecuzione, ma i dati non vengono importati.
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.