Soluciona problemas relacionados con la instalación y el inicio del Agente de operaciones

En este documento, se proporciona información para ayudarte a diagnosticar y resolver problemas en 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 entra en conflicto 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 instalar el agente de Monitoring

La instalación del agente de operaciones falla después de un intento fallido de instalar el agente de Monitoring. En un sistema operativo Debian, los mensajes de error que aparecen cuando el agente de operaciones no se instala 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 falla. 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 fallida 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 sobre los sistemas operativos compatibles, consulta Agente de operaciones: sistemas operativos Linux y Agente de supervisión: 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 la actualización del repositorio falla

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

Linux

Si deseas ver un ejemplo del mensaje de error para 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 de un error en la instalación del agente de Monitoring.

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

Después de actualizar los repositorios, puedes instalar el Agente de operaciones. Para ello, ejecuta la secuencia de comandos de instalación del agente de operaciones.

El agente está instalado, pero no se ejecuta

Si instalaste el agente, pero no se está ejecutando, es posible que el problema sea 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 obligatorio no está disponible

El Agente de operaciones o uno de sus componentes puede fallar cuando se inicia el puerto que necesita el componente en otro proceso. 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 20202, detén ese proceso y reinicia el Agente de operaciones. Sigue estos pasos para determinar qué proceso usa los puertos:

Linux

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

sudo netstat -ns -p | grep '20201'

En el siguiente resultado, se muestra el resultado esperado: el recopilador 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 del 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 del 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

En el siguiente resultado, se muestra el resultado esperado: el recopilador 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 del 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 mediante 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” carezca del 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 usas depende de cómo configuraste la VM y autorizaste el agente. Puedes usar una de las siguientes opciones:

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

  1. En el panel de navegación de la consola de Google Cloud, selecciona Compute Engine y, luego, Instancias de VM.

    Ir a Instancias de VM

  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. Busca la sección API y administración de identidades de la página. La cuenta de servicio aparece como el valor del campo Cuenta de servicio.

Para obtener información sobre cómo configurar las funciones otorgadas a la cuenta de servicio, consulta Verifica y modifica las funciones de una cuenta de servicio existente.

Los errores de permisos de API se pueden detectar mediante 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 esperas, la causa podría ser simplemente un retraso, ya que los cambios de configuración funcionan a su manera según el sistema. Sin embargo, la información inesperada también puede indicar que el agente no se está ejecutando como esperas.

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

El agente debe estar ejecutando y transfiriendo datos para que la consola de Google Cloud reconozca que está presente. Si instalaste el agente, pero el estado de la consola sigue siendo "Not Detected", significa que el agente no se está ejecutando o está en ejecución 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.