Soluciona problemas de instalación y de inicio del Agente de operaciones

En este documento, se proporciona información para ayudarte a diagnosticar y resolver problemas durante la instalación y el inicio del Agente de operaciones. Si el agente está en ejecución, pero no puede transferir registros o métricas, consulta Soluciona problemas de transferencia de datos.

Antes de comenzar

Antes de intentar solucionar un problema, comprueba el estado de las verificaciones de estado del agente.

No se pudo instalar el agente

Es posible que surjan los siguientes errores durante la ejecución de la secuencia de comandos de instalación.

El sistema operativo no es compatible

Cuando el sistema operativo no es compatible, la instalación del Agente de operaciones falla. El mensaje de error será similar al siguiente:

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

Se instaló un agente heredado que genera conflictos con el Agente de operaciones

Cuando una VM ya tiene el agente de Cloud Logging o el agente de Cloud Monitoring instalado, entrarán en conflicto con el agente nuevo. El mensaje de error será similar al siguiente:

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

El Agente de operaciones usa archivos de configuración nuevos que no son compatibles con los agentes anteriores. Para obtener más información, consulta la guía Configura el agente de operaciones.

Para resolver este error, haz lo siguiente:

  1. Guarda los archivos de configuración personalizados para el agente de Cloud Monitoring y el agente de Cloud Logging.

  2. Desinstala el agente de Cloud Monitoring anterior y el agente de Cloud Logging anteriores.

    Después de desinstalar el agente, la consola de Google Cloud puede tardar hasta una hora en informar este cambio.

La instalación del Agente de operaciones falla después de la instalación con errores del agente de Monitoring

La instalación del Agente de operaciones falla después de un intento de instalación del agente de Monitoring. En un sistema operativo Debian, los mensajes de error cuando no se instala el Agente de operaciones son similares a los siguientes:

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.

Si intentas instalar el agente de Monitoring en un sistema operativo que no es compatible con ese agente, la instalación fallará. La falla de instalación se produce después de que el repositorio del agente de Monitoring se agrega al sistema. La instalación del Agente de operaciones después de una instalación con errores del agente de Monitoring también falla debido a un repositorio del agente de Monitoring no válido.

No todos los sistemas operativos compatibles con el Agente de operaciones también son compatibles con el agente de Monitoring. Para obtener información acerca de los sistemas operativos compatibles, consulta Agente de operaciones: sistemas operativos Linux y Agente de Monitoring: sistemas operativos Linux.

Para instalar el Agente de operaciones, haz lo siguiente:

  1. Quita el repositorio del agente de Monitoring:

    Si la secuencia de comandos add-monitoring-agent-repo.sh está en tu sistema, ejecuta el siguiente comando:

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

    De lo contrario, quita el repositorio de forma manual:

    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. Ejecuta la secuencia de comandos de instalación del Agente de operaciones.

La instalación del Agente de operaciones falla porque falla la actualización del repositorio

La instalación del Agente de operaciones falla porque la actualización de los repositorios instalados falla.

Linux

Para ver un ejemplo del mensaje de falla de un sistema operativo Debian, en el que la actualización del repositorio se produce debido a una llamada a apt-get update, consulta la entrada de solución de problemas La instalación del Agente de operaciones falla después la Instalación con errores del agente de Monitoring.

Si encuentras fallas cuando actualizas los repositorios, debes resolverlas antes de poder instalar el Agente de operaciones. Es posible que puedas resolver estos errores si borras o inhabilitas los repositorios que no son necesarios.

Después de poder actualizar los repositorios, puedes instalar el Agente de operaciones a través de la ejecución de la secuencia de comandos de instalación del Agente de operaciones.

La actualización del repositorio falla porque la clave pública no está disponible

Linux

Una actualización del repositorio, debido a una llamada a apt-get update, falla porque la clave pública no está disponible. Esto también puede ocurrir cuando se instala o actualiza el Agente de operaciones. Es posible que veas el siguiente error:

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 corregir este error, ejecuta el siguiente comando para agregar la clave faltante a tu 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

El agente está instalado, pero no se ejecuta

Si instalaste el agente, pero el agente no está en ejecución, el problema podría ser uno de los siguientes:

Los servicios de agente no se están ejecutando

Cuando los servicios de agente se ejecutan según lo previsto, el agente de métricas y el de Logging aparecen como en ejecución cuando consultas el estado:

Para Linux

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

Se borraron algunas líneas en el resultado por cuestiones de brevedad.

● 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

Si el servicio de agente no se ejecuta, es posible que veas el siguiente 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 corregir este error, ejecuta el siguiente comando a fin de iniciar el servicio:

Linux

sudo service google-cloud-ops-agent start

Windows

Start-Service google-cloud-ops-agent

Si el servicio no se inicia, es posible que la configuración no sea válida.

Conflicto con agentes instalados actualmente

  • La VM ya tiene el agente de Cloud Logging o el agente de Cloud Monitoring instalado, y su configuración entra en conflicto con la configuración del agente nuevo. El mensaje de error será similar al siguiente:

    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 corregir este error, tiene dos opciones:

    1. Inhabilitar la sección de conflicto del archivo de configuración del agente de operaciones. Para obtener más información, consulta la guía Configura el agente de operaciones.

    2. Inhabilita el agente de Cloud Logging en conflicto o el agente de Cloud Monitoring.

      1. Guarda cualquier archivo de configuración personalizado para el agente de Cloud Logging.
      2. Luego, desinstala el agente de Cloud Monitoring y el agente de Cloud Logging anteriores.

      Después de desinstalar el agente, la consola de Google Cloud puede tardar hasta una hora en informar este cambio.

El puerto requerido no está disponible

Es posible que el Agente de operaciones o uno de sus componentes no se inicien cuando otro proceso usa el puerto necesario para el componente. El Agente de operaciones usa los siguientes puertos:

  • Puerto 20201 para el componente “Agente de métricas”
  • Puerto 20202 para el componente "Agente de Logging"

Si un proceso que no sea un componente del Agente de operaciones usa el puerto 20201 o el puerto 20202, detén ese proceso y reinicia el Agente de operaciones. Sigue estos pasos para determinar qué proceso usa los puertos:

Linux

Componente Agente de métricas: para ver qué proceso usa el puerto 20201, usa el siguiente comando:

sudo netstat -ns -p | grep '20201'

El siguiente resultado muestra el resultado esperado: el colector de métricas del Agente de operaciones, otelopscol, usa el puerto:

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 de Logging: para ver qué proceso usa el puerto 20202, usa el siguiente comando:

sudo netstat -ns -p | grep '20202'

El siguiente resultado muestra el resultado esperado: el colector de registros del agente de operacione, fluent-bit, usa el puerto:

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 Agente de métricas: para ver qué proceso usa el puerto 20201, usa el siguiente comando:

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

El siguiente resultado muestra el resultado esperado: el colector de métricas del Agente de operaciones, google-cloud-metrics-agent_windows_amd64.exe, usa el puerto:

>   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 de Logging: para ver qué proceso usa el puerto 20202, usa el siguiente comando:

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

El siguiente resultado muestra el resultado esperado: el colector de registros del agente de operacione, fluent-bit.exe, usa el puerto:

>   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

Los errores de disponibilidad de puertos se pueden detectar a través de las verificaciones de estado que ejecuta el Agente de operaciones.

El agente no tiene permisos de API

Si el agente no se inicia o no puede transferir datos, el problema podría ser que el componente “Agente de métricas” o “Agente de Logging” no tenga el permiso necesario para acceder a la API.

La cuenta de servicio que usa el agente de operaciones requiere los siguientes roles de administración de identidades y accesos:

Estos roles incluyen los permisos necesarios para escribir datos de registro o métricas y se deben otorgar a la cuenta de servicio asociada con la VM. La cuenta de servicio que uses dependerá de cómo configuraste la VM y autorizaste al agente. Es posible que uses una de las siguientes opciones:

Para identificar la cuenta de servicio asociada a una VM, haz lo siguiente:

  1. En la consola de Google Cloud, ve a la página Instancias de VM.

    Ir a Instancias de VM

    Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Compute Engine.

  2. Si es necesario, haz clic en la lista desplegable de proyectos de Google Cloud y selecciona el nombre de tu proyecto.

  3. Selecciona la pestaña Instancias si es necesario.

  4. En la lista de instancias de VM, haz clic en el nombre de la VM para ver la página Detalles de la VM.

  5. Ubica la sección Administración de identidades y API de la página. La cuenta de servicio aparece como el valor del campo Cuenta de servicio.

Para obtener información acerca de cómo configurar los roles otorgados a la cuenta de servicio, consulta Verifica y modifica roles de una cuenta de servicio existente.

Los errores de permiso de la API se pueden detectar a través de las verificaciones de estado que ejecuta el Agente de operaciones.

La configuración no es válida

Si la configuración no es válida, es posible que veas el siguiente error cuando intentes iniciar el servicio de 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 para obtener el mensaje de error exacto:

sudo journalctl -xe | grep "google_cloud_ops_agent_engine"

Deberías ver un mensaje similar al siguiente:

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 corregir el error, corrige la configuración no válida y reinicia el agente. Si deseas obtener más información, consulta la guía Configura el agente de operaciones.

El agente falla y el informe menciona NVIDIA

Intentas ejecutar el Agente de operaciones en una VM de Compute Engine con GPU conectadas. El agente falla y el resultado menciona NVIDIA.

Este es un problema conocido con las versiones 2.39.0 y 2.40.0 del Agente de operaciones. Para mitigar, instala la versión 2.38.0 o las versiones 2.41.0 o posteriores del Agente de operaciones.

La información de estado en la consola de Google Cloud es incorrecta

La consola de Google Cloud notifica información sobre el estado de los agentes en las VMs de Compute Engine en varios paneles, por ejemplo, el panel Instancias de VM en Cloud Monitoring. Si esta información no coincide con lo que esperabas, la causa podría ser simplemente un retraso a medida que los cambios de configuración se implementan a través del sistema. Sin embargo, la información inesperada también puede indicar que el agente no se ejecuta como se espera.

El agente instalado que la consola de Google Cloud informó como no detectado

El agente debe ejecutar y transferir datos para que la consola de Google Cloud reconozca que el agente está presente. Si instalaste el agente, pero el estado de la consola sigue siendo “No detectado”, el agente no se está ejecutando o se está ejecutando y no transfiere datos. Para obtener más información, consulta lo siguiente:

Se quitó el agente que la consola de Google Cloud informó como instalado

Después de desinstalar el agente, la consola de Google Cloud puede tardar hasta una hora en informar este cambio.