Resolva problemas de instalação e arranque do agente de operações

Este documento fornece informações para ajudar a diagnosticar e resolver problemas na instalação e no arranque do agente de operações. Se o agente estiver em execução, mas não conseguir carregar registos ou métricas, consulte o artigo Resolva problemas de carregamento de dados.

Antes de começar

Antes de tentar corrigir um problema, verifique o estado das verificações de funcionamento do agente.

O agente não é instalado

Pode encontrar os seguintes erros ao executar o script de instalação.

O sistema operativo não é suportado

Quando o sistema operativo não é suportado, a instalação do agente Ops falha. A mensagem de erro pode ter um aspeto semelhante ao seguinte:

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

Está instalado um agente antigo que entra em conflito com o agente de operações

Quando uma VM já tem o agente do Cloud Logging ou o agente do Cloud Monitoring instalado, estes entram em conflito com o novo agente. A mensagem de erro pode ser semelhante à seguinte:

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

O agente de operações usa novos ficheiros de configuração que não são compatíveis com os agentes antigos. Para mais informações, consulte o guia Configure o agente de operações.

Para corrigir este erro, faça o seguinte:

  1. Guarde os ficheiros de configuração personalizados para o agente do Cloud Monitoring e o agente do Cloud Logging.

  2. Desinstale o agente do Cloud Monitoring antigo e o agente do Cloud Logging.

    Depois de desinstalar o agente, a Google Cloud consola pode demorar até uma hora a comunicar esta alteração.

A instalação do agente de operações falha após a falha da instalação do agente de monitorização

A instalação do agente de operações falha após uma tentativa falhada de instalação do agente de monitorização. Num sistema operativo Debian, as mensagens de erro quando o agente de operações não é instalado são semelhantes às seguintes:

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 tentar instalar o agente de monitorização num sistema operativo que não é suportado por esse agente, a instalação falha. A falha de instalação ocorre depois de o repositório do agente de monitorização ser adicionado ao sistema. A instalação do agente de operações após uma instalação falhada do agente de monitorização também falha devido a um repositório do agente de monitorização inválido.

Nem todos os sistemas operativos suportados pelo agente do Ops são também suportados pelo agente de monitorização. Para informações sobre os sistemas operativos suportados, consulte os artigos Agente de operações: sistemas operativos Linux e Agente de monitorização: sistemas operativos Linux.

Para instalar o agente de operações, faça o seguinte:

  1. Remova o repositório do agente de monitorização:

    Se o script add-monitoring-agent-repo.sh estiver no seu sistema, execute o seguinte comando:

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

    Caso contrário, remova manualmente o repositório:

    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

  2. Execute o guião de instalação do agente de operações.

A instalação do agente de operações falha porque a atualização do repositório falha

A instalação do agente Ops falha porque a atualização dos repositórios instalados falha.

Linux

Para ver um exemplo da mensagem de falha para um sistema operativo Debian, em que a atualização do repositório ocorre devido a uma chamada para apt-get update, consulte a entrada de resolução de problemas A instalação do agente Ops falha após a falha da instalação do agente de monitorização.

Se encontrar falhas ao atualizar os repositórios, tem de resolver essas falhas antes de poder instalar o agente de operações. Pode conseguir resolver estas falhas eliminando ou desativando repositórios que não são necessários.

Depois de poder atualizar os repositórios, pode instalar o agente de operações executando o script de instalação do agente de operações.

A atualização do repositório falha porque a chave pública está indisponível

Linux

Uma atualização do repositório, devido a uma chamada para apt-get update, falha porque a chave pública não está disponível. Isto também pode ocorrer quando instala ou atualiza o Ops Agent. Pode ver a seguinte falha:

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.

Para corrigir este erro, execute o seguinte comando para adicionar a chave em falta ao seu 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

O agente está instalado, mas não está em execução

Se instalou o agente, mas este não está em execução, o problema pode ser um dos seguintes:

Os serviços de agentes não estão em execução

Quando os serviços do agente estão a ser executados conforme esperado, o agente de métricas e o agente de registo são apresentados como em execução quando consulta o estado:

Para Linux

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

Algumas linhas no resultado foram eliminadas por uma questão de brevidade.

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

[...]

Para 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 o serviço do agente não estiver em execução, pode ver o seguinte estado:

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

Para corrigir este erro, execute o seguinte comando para iniciar o serviço:

Linux

sudo service google-cloud-ops-agent start

Windows

Start-Service google-cloud-ops-agent

Se o serviço não for iniciado, a configuração pode ser inválida.

Conflito com os agentes instalados atualmente

  • A VM já tem o agente do Cloud Logging ou o agente do Cloud Monitoring instalado, e a respetiva configuração entra em conflito com a configuração do novo agente. A mensagem de erro pode ter um aspeto semelhante ao seguinte:

    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.
    

    Para corrigir este erro, tem duas opções:

    1. Desative a secção em conflito do ficheiro de configuração do agente de operações. Para mais informações, consulte o guia Configure o agente de operações.

    2. Desative o agente do Cloud Logging em conflito ou o agente do Cloud Monitoring.

      1. Guarde todos os ficheiros de configuração personalizados para o agente do Cloud Logging.
      2. Desinstale o antigo agente do Cloud Monitoring e o agente do Cloud Logging.

      Depois de desinstalar o agente, a Google Cloud consola pode demorar até uma hora a comunicar esta alteração.

A porta necessária não está disponível

O agente de operações ou um dos respetivos componentes pode não ser iniciado quando a porta necessária para o componente está a ser usada por outro processo. O agente de operações usa as seguintes portas:

  • Porta 20201, para o componente "Agente de métricas"
  • Porta 20202, para o componente "Agente de registos"

Se um processo que não seja um componente do agente de operações estiver a usar a porta 20201 ou a porta 20202, pare esse processo e reinicie o agente de operações. Siga os passos seguintes para determinar que processo está a usar as portas:

Linux

Componente do agente de métricas: para ver que processo está a usar a porta 20201, use o seguinte comando:

sudo netstat -ns -p | grep '20201'

O resultado seguinte mostra o resultado esperado: o coletor de métricas do agente de operações, otelopscol, está a usar a 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 do agente de registo: para ver que processo está a usar a porta 20202, use o seguinte comando:

sudo netstat -ns -p | grep '20202'

O resultado seguinte mostra o resultado esperado: o coletor de registos do agente de operações, fluent-bit, está a usar a 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 do agente de métricas: para ver que processo está a usar a porta 20201, use o seguinte comando:

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

O resultado seguinte mostra o resultado esperado: o coletor de métricas do agente de operações, google-cloud-metrics-agent_windows_amd64.exe, está a usar a 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 do agente de registo: para ver que processo está a usar a porta 20202, use o seguinte comando:

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

O resultado seguinte mostra o resultado esperado: o coletor de registos do agente de operações, fluent-bit.exe, está a usar a 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

Os erros de disponibilidade de portas podem ser detetados pelas verificações de funcionamento executadas pelo agente de operações.

O agente não tem autorizações da API

Se o agente não for iniciado ou não conseguir introduzir dados, o problema pode ser que o componente "Agente de métricas" ou "Agente de registo" não tenha a autorização necessária para aceder à API.

A conta de serviço usada pelo agente do Google Cloud Operations Suite requer as seguintes funções de gestão de identidades e acessos:

Estas funções incluem as autorizações necessárias para escrever dados de registo ou métricas e têm de ser concedidas à conta de serviço associada à VM. A conta de serviço que está a usar depende da forma como configurou a VM e autorizou o agente. Pode estar a usar um dos seguintes elementos:

Para identificar a conta de serviço associada a uma VM, faça o seguinte:

  1. Na Google Cloud consola, aceda à página Instâncias de VM:

    Aceda a Instâncias de VM

    Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cuja legenda seja Compute Engine.

  2. Se necessário, clique na lista pendente de Google Cloud projetos e selecione o nome do seu projeto.

  3. Se necessário, selecione o separador Instâncias.

  4. Na lista de instâncias de VM, clique no nome da VM para ver a página de detalhes da VM.

  5. Localize a secção API and identity management (API e gestão de identidades) da página. A conta de serviço é apresentada como o valor do campo Conta de serviço.

Para ver informações sobre a definição das funções concedidas à conta de serviço, consulte o artigo Verifique e modifique as funções de uma conta de serviço existente.

Os erros de autorização da API podem ser detetados pelas verificações de estado executadas pelo agente de operações.

Configuração inválida

Se a configuração for inválida, pode ver o seguinte erro quando tentar reiniciar o serviço do 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.

Use journalctl para receber a mensagem de erro exata:

sudo journalctl -xe | grep "google_cloud_ops_agent_engine"

Pode ver uma mensagem semelhante à seguinte:

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

Para corrigir o erro, corrija a configuração inválida e reinicie o agente. Para referência, consulte o guia Configure o agente de operações.

O agente falha e o relatório menciona a NVIDIA

Está a tentar executar o agente de operações numa VM do Compute Engine com GPUs anexadas. O agente falha e o resultado menciona a NVIDIA.

Este é um problema conhecido com as versões 2.39.0 e 2.40.0 do agente de operações. Para mitigar, instale a versão 2.38.0 do agente de operações ou as versões 2.41.0 ou superiores.

As informações de estado na Google Cloud consola estão incorretas

A Google Cloud consola comunica informações sobre o estado dos agentes em VMs do Compute Engine em vários painéis de controlo, por exemplo, o painel de controlo Instâncias de VM no Cloud Monitoring. Se estas informações não corresponderem ao que espera, a causa pode ser simplesmente um atraso à medida que as alterações de configuração são processadas pelo sistema. No entanto, as informações inesperadas também podem indicar que o agente não está a ser executado como esperado.

O agente instalado foi comunicado pela Google Cloud consola como não detetado

O agente tem de estar em execução e a carregar dados para que a Google Cloud consola reconheça que o agente está presente. Se instalou o agente, mas o estado da consola permanece "Não detetado", significa que o agente não está em execução ou está em execução e não está a carregar dados. Para mais informações, consulte o seguinte:

Agente removido comunicado pela consola Google Cloud como instalado

Depois de desinstalar o agente, a Google Cloud consola pode demorar até uma hora a comunicar esta alteração.