Resolver problemas de inicialização e instalação do agente de operações

Este documento fornece informações para ajudar você a diagnosticar e resolver problemas na instalação e na inicialização do Agente de operações. Se o agente estiver em execução, mas não ingerir registros ou métricas, consulte Resolver problemas na ingestão de dados.

Antes de começar

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

Falha na instalação do agente

É possível encontrar os seguintes erros ao executar o script de instalação.

O sistema operacional não é compatível

Quando o sistema operacional não é compatível, a instalação do Agente de operações falha. A mensagem de erro pode ser semelhante a esta:

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

Um agente legado está instalado e 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, eles entram em conflito com o novo agente. A mensagem de erro pode ser semelhante a esta:

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 arquivos de configuração que não são compatíveis com os agentes antigos. Para mais informações, consulte o guia Configurar o agente de operações.

Para resolver esse erro, faça o seguinte:

  1. Salve os arquivos de configuração personalizados do agente do Cloud Monitoring e do agente do Cloud Logging.

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

    Depois de desinstalar o agente, o console do Google Cloud pode levar até uma hora para informar essa alteração.

A instalação do Agente de operações falha após a instalação do agente do Monitoring falhar

A instalação do Agente de operações falha após uma tentativa de instalação do agente do Monitoring falhar. Quando a instalação do Agente de operações falha em um sistema operacional Debian, as mensagens de erro são semelhantes a estas:

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.

Quando você tenta instalar o agente do Monitoring em um sistema operacional incompatível com ele, a instalação falha. A falha na instalação ocorre depois que o repositório do agente do Monitoring é adicionado ao sistema. A instalação do Agente de operações após uma falha na instalação do agente do Monitoring também falha devido a um repositório inválido do agente do Monitoring.

Nem todos os sistemas operacionais compatíveis com o Agente de operações também são compatíveis com o agente do Monitoring. Para informações sobre sistemas operacionais compatíveis, consulte Agente de operações: sistemas operacionais Linux e Agente do Monitoring: sistemas operacionais Linux.

Para instalar o Agente de operações, realize as seguintes ações:

  1. Remova o repositório do agente do Monitoring:

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

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

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

    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 script 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 de operações falha porque a atualização dos repositórios instalados falha.

Linux

Para ver um exemplo da mensagem de falha em um sistema operacional Debian, em que a atualização do repositório ocorre devido a uma chamada para apt-get update, consulte a entrada da solução de problemas A instalação do Agente de operações falha após a instalação do agente do Monitoring falhar.

Se você encontrar falhas ao atualizar os repositórios, será preciso resolvê-las antes de instalar o Agente de operações. Talvez seja possível resolver essas falhas excluindo ou desativando repositórios que não são necessários.

Depois de atualizar os repositórios, execute o script de instalação do Agente de operações para instalá-lo.

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 o a chave pública não está disponível. Isso também pode ocorrer durante a instalação ou upgrade do Agente de operações. A falha a seguir pode aparecer:

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 esse erro, execute o seguinte comando para adicionar a chave ausente à sua 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 você instalou o agente, mas ele não está em execução, o problema pode ser um dos seguintes:

Serviços de agente não estão em execução

Quando os serviços do agente estão sendo executados conforme o esperado, os agentes do Metrics e do Logging estão listados como em execução quando você consulta o status:

For Linux

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

Algumas linhas na saída foram excluídas para simplificar.

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

[...]

For 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, você verá o seguinte status:

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 esse 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 poderá 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 configuração deles entra em conflito com as configurações do novo agente. A mensagem de erro pode ser semelhante a esta:

    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 esse erro, você tem duas opções:

    1. Desativar a seção conflitante do arquivo de configuração do agente de operações. Para mais informações, consulte o guia Configurar o agente de operações.

    2. Desative o agente do Cloud Logging ou o agente do Cloud Monitoring conflitante.

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

      Depois de desinstalar o agente, o console do Google Cloud pode levar até uma hora para informar essa alteração.

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

O Agente de operações ou um dos componentes dele pode não ser iniciado quando a porta necessária para o componente estiver sendo 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 do Logging"

Se outro processo que não seja um componente de agente de operações estiver usando a porta 20201 ou 20202, interrompa esse processo e reinicie o agente de operações. Siga estas etapas para determinar qual processo está usando as portas:

Linux

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

sudo netstat -ns -p | grep '20201'

A saída a seguir mostra o resultado esperado: o coletor de métricas do agente de operações, otelopscol, está usando 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 do Logging: para ver qual processo está usando a porta 20202, use o seguinte comando:

sudo netstat -ns -p | grep '20202'

A saída a seguir mostra o resultado esperado: o coletor de registros do Agente de operações, fluent-bit, está usando 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 qual processo está usando a porta 20201, use o seguinte comando:

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

A saída a seguir mostra o resultado esperado: o coletor de métricas do agente de operações, google-cloud-metrics-agent_windows_amd64.exe, está usando 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 do Logging: para ver qual processo está usando a porta 20202, use o seguinte comando:

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

A saída a seguir mostra o resultado esperado: o coletor de registros do agente de operações, fluent-bit.exe, está usando 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 porta podem ser detectados pelas verificações de integridade executadas pelo agente de operações.

O agente não tem permissões de API

Se o agente não iniciar ou não ingerir dados, o problema pode ser que o componente "Agente de métricas" ou "Agente do Logging" não tenha a permissão necessária para acessar a API.

A conta de serviço usada pelo agente de operações requer os seguintes papéis do Identity and Access Management:

Esses papéis incluem as permissões necessárias para gravar dados de métrica ou geração de registros e precisam ser concedidos à conta de serviço associada à VM. A conta de serviço usada depende de como você configurou a VM e autorizou o agente. Talvez você esteja usando uma das seguintes opções:

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

  1. No Console do Google Cloud, acesse a página Instâncias de VM.

    Acessar Instâncias de VM

    Se você usar a barra de pesquisa para encontrar a página, selecione o resultado com o subtítulo Compute Engine.

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

  3. Selecione a guia Instâncias, se necessário.

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

  5. Localize a seção API and Identity management da página. A conta de serviço é listada como o valor do campo Conta de serviço.

Para informações sobre como definir os papéis concedidos à conta de serviço, consulte Verificar e modificar papéis de uma conta de serviço atual.

Erros de permissão de API podem ser detectados pelas verificações de integridade executadas pelo agente de operações.

Configuração inválida

Se a configuração for inválida, talvez você verá o seguinte erro ao 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"

Você verá uma mensagem semelhante a esta:

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 Configurar o agente de operações.

O agente falha e o relatório menciona a NVIDIA

Você está tentando executar o Agente de operações em uma VM do Compute Engine com GPUs anexadas. O agente falha, e a saída menciona a NVIDIA.

Esse é um problema conhecido com as versões 2.39.0 e 2.40.0 do Agente de operações. Para atenuar, instale a versão 2.38.0 ou mais recente do Agente de operações.

As informações de status no console do Google Cloud estão erradas

O console do Google Cloud fornece informações sobre o status dos agentes nas VMs do Compute Engine em vários painéis, como o painel Instâncias de VM no Cloud Monitoring. Se essas informações não corresponderem ao que você espera, a causa pode ser apenas um atraso, já que as mudanças de configuração funcionam da maneira que o sistema pensa. No entanto, informações inesperadas também podem indicar que o agente não está sendo executado como esperado.

Agente instalado informado pelo console do Google Cloud como não detectado

O agente precisa executar e ingerir dados para o console do Google Cloud para reconhecer que o agente está presente. Se você instalou o agente, mas o status do console permanece "Não detectado", ele está em execução ou não processando dados. Para ver mais informações, consulte os seguintes tópicos:

Agente removido informado pelo console do Google Cloud como instalado

Depois de desinstalar o agente, o console do Google Cloud pode levar até uma hora para informar essa alteração.