Este documento proporciona información para ayudarte a diagnosticar y resolver problemas en la instalación e inicio del agente de Ops. Si el agente se está ejecutando, pero no puede ingerir registros ni métricas, consulte Solucionar problemas de ingesta de datos.
Antes de empezar
Antes de intentar solucionar un problema, comprueba el estado de las comprobaciones del estado del agente.
No se puede instalar el agente
Es posible que se produzcan los siguientes errores al ejecutar la secuencia de comandos de instalación.
El sistema operativo no es compatible
Si el sistema operativo no es compatible, la instalación del Agente de operaciones falla. El mensaje de error puede 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 ha instalado un agente antiguo que entra en conflicto con el agente de operaciones
Si una VM ya tiene instalado el agente de Cloud Logging o el agente de Cloud Monitoring, estos entran en conflicto con el nuevo agente. El mensaje de error puede 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 antiguos. Para obtener más información, consulta la guía Configurar el agente de Ops.
Para solucionar este error, siga estos pasos:
Guarda los archivos de configuración personalizados del agente de Cloud Monitoring y del agente de Cloud Logging.
Desinstala el antiguo agente de Cloud Monitoring y el agente de Cloud Logging.
Después de desinstalar el agente, la consola Google Cloud puede tardar hasta una hora en registrar este cambio.
La instalación del agente de operaciones falla después de que falle la instalación del 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 se muestran cuando no se puede instalar 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á. El fallo de instalación se produce después de que se añada el repositorio del agente de Monitoring al sistema. Si se intenta instalar el agente de operaciones después de que se haya producido un error al instalar el agente de Monitoring, también se producirá un error debido a que el repositorio del agente de Monitoring no es válido.
No todos los sistemas operativos compatibles con el agente de Ops también lo son con el agente de Monitoring. Para obtener información sobre los sistemas operativos compatibles, consulta Agente Ops: sistemas operativos Linux y Agente de monitorización: sistemas operativos Linux.
Para instalar el Agente de operaciones, sigue estos pasos:
Elimina 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, elimina el repositorio manualmente:
Debian
sudo rm /etc/apt/sources.list.d/google-cloud-monitoring.list
RHEL - 6, 7
sudo rm /etc/yum.repos.d/google-cloud-monitoring.repo
Suse
sudo rm /etc/zypp/repos.d/google-cloud-monitoring.repo
Ejecuta la secuencia de comandos de instalación del Agente de operaciones.
La instalación del agente de operaciones falla porque no se puede actualizar el repositorio
La instalación del agente de Ops falla porque no se pueden actualizar los repositorios instalados.
Linux
Para ver un ejemplo del mensaje de error 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 de que falle la instalación del agente de Monitoring.
Si se produce un error al actualizar los repositorios, debes resolverlo antes de poder instalar el agente de Ops. Puede que puedas resolver estos errores eliminando o inhabilitando los repositorios que no sean necesarios.
Una vez que puedas actualizar los repositorios, podrás instalar el agente de operaciones ejecutando la secuencia de comandos de instalación del agente de operaciones.
No se puede actualizar el repositorio porque la clave pública no está disponible
Linux
No se puede actualizar un repositorio debido a una llamada a apt-get update
porque la clave pública no está disponible. Esto también puede ocurrir al instalar o actualizar el agente de Ops. 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 solucionar este error, ejecuta el siguiente comando para añadir la clave que falta 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 está ejecutando
Si has instalado el agente, pero no se está ejecutando, puede deberse a uno de los siguientes problemas:
- No se ha podido iniciar uno de los componentes principales ("Agente de métricas" o "Agente de registro"). Consulta Los servicios del agente no se están ejecutando.
- Uno de los agentes antiguos también está instalado en la VM. Consulta Conflicto con los agentes instalados actualmente.
- Un puerto que requiere uno de los componentes está en uso por otro proceso. Consulta Puerto no disponible.
- La configuración del agente de operaciones no es válida. Consulta Configuración no válida.
Los servicios del agente no se están ejecutando
Si los servicios del agente funcionan correctamente, los agentes de métricas y de registro aparecerán como en ejecución cuando consultes el estado:
En Linux
sudo systemctl status google-cloud-ops-agent"*"
Se han eliminado algunas líneas de la salida para mayor 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> [...]
En 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 del agente no se está ejecutando, puede 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 solucionar este error, ejecuta el siguiente comando para iniciar el servicio:
Linux
sudo service google-cloud-ops-agent start
Windows
Start-Service google-cloud-ops-agent
Si el servicio no se inicia, puede que la configuración no sea válida.
Conflicto con los agentes instalados
La VM ya tiene instalado el agente de Cloud Logging o el agente de Cloud Monitoring y su configuración entra en conflicto con la del nuevo agente. El mensaje de error puede 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 solucionar este error, tienes dos opciones:
Inhabilita la sección en conflicto del archivo de configuración del agente de operaciones. Para obtener más información, consulta la guía Configurar el agente de Ops.
Inhabilita el agente de Cloud Logging o el agente de Cloud Monitoring que esté en conflicto.
- Guarda los archivos de configuración personalizados del agente de Cloud Logging.
- Desinstala el antiguo agente de Cloud Monitoring y el agente de Cloud Logging.
Después de desinstalar el agente, la consola Google Cloud puede tardar hasta una hora en registrar este cambio.
El puerto obligatorio no está disponible
El agente de operaciones o uno de sus componentes no se puede iniciar cuando otro proceso está usando el puerto que necesita el componente. El agente de Ops utiliza los siguientes puertos:
- Puerto 20201, para el componente "Metrics Agent"
- Puerto 20202 para el componente "Agente de Logging"
Si un proceso que no sea un componente de Ops Agent está usando el puerto 20201 o el puerto 20202, detén ese proceso y reinicia Ops Agent. Siga estos pasos para determinar qué proceso está usando los puertos:
Linux
Componente Metrics Agent: 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 recopilador de métricas del agente de operaciones, otelopscol
, está usando 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 registro: 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 recopilador de registros del agente de Ops, 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 Metrics Agent: 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 recopilador de métricas del agente de operaciones, google-cloud-metrics-agent_windows_amd64.exe
, está usando 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 registro: 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 recopilador de registros del agente de Ops, 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
El agente de operaciones puede detectar errores de disponibilidad de puertos mediante las comprobaciones de estado.
El agente no tiene permisos de API
Si el agente no se inicia o no puede ingerir datos, es posible que el componente "Agente de métricas" o "Agente de registro" no tenga el permiso necesario para acceder a la API.
La cuenta de servicio que usa el agente de Ops requiere los siguientes roles de gestión de identidades y accesos:
- En el componente "Agente de registro": Escritor de registros (
roles/logging.logWriter
) - En el caso del componente "Metrics Agent", Editor de las métricas de monitorización (
roles/monitoring.metricWriter
).
Estos roles incluyen los permisos necesarios para escribir datos de registro o de métricas y deben concederse a la cuenta de servicio asociada a la VM. La cuenta de servicio que utilices dependerá de cómo hayas configurado la VM y autorizado al agente. Es posible que estés usando uno de los siguientes:
- Una cuenta de servicio vinculada a la VM.
- Una cuenta de servicio que usa una clave privada.
Para identificar la cuenta de servicio asociada a una máquina virtual, sigue estos pasos:
-
En la Google Cloud consola, ve a la página Instancias de VM:
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo sea Compute Engine.
Si es necesario, haz clic en la lista desplegable de Google Cloud proyectos y selecciona el nombre de tu proyecto.
Seleccione la pestaña Instancias si es necesario.
En la lista de instancias de VM, haz clic en el nombre de la VM para ver la página Detalles de la VM.
Busca la sección Gestión de APIs e identidades de la página. La cuenta de servicio se muestra como el valor del campo Cuenta de servicio.
Para obtener información sobre cómo definir los roles concedidos a la cuenta de servicio, consulta Verificar y modificar los roles de una cuenta de servicio.
Los errores de permisos de API se pueden detectar mediante las comprobaciones del estado que ejecuta el agente de operaciones.
Configuración no válida
Si la configuración no es válida, es posible que veas el siguiente error al intentar reiniciar el servicio del 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"
Es posible que veas 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 solucionar el error, corrige la configuración no válida y reinicia el agente. Para obtener información de referencia, consulta la guía Configurar el agente de operaciones.
El agente falla y el informe menciona a NVIDIA
Estás intentando ejecutar el Agente de operaciones en una máquina virtual de Compute Engine con GPUs conectadas. El agente falla y en el resultado se menciona NVIDIA.
Se trata de un problema conocido de las versiones 2.39.0 y 2.40.0 del agente de Ops. Para mitigar este problema, instala la versión 2.38.0 del agente de Ops o las versiones 2.41.0 o posteriores.La información de estado de la Google Cloud consola es incorrecta
La consola Google Cloud proporciona información sobre el estado de los agentes en las VMs de Compute Engine en varios paneles de control, como el panel de control Instancias de VM de Cloud Monitoring. Si esta información no coincide con lo que esperas, puede que se deba a un retraso, ya que los cambios en la configuración se están aplicando en el sistema. Sin embargo, la información inesperada también puede indicar que el agente no se está ejecutando como esperabas.
La consola Google Cloud indica que el agente instalado no se ha detectado
El agente debe estar en ejecución e ingerir datos para que la Google Cloud consola reconozca que está presente. Si has instalado el agente, pero el estado de la consola sigue siendo "No detectado", significa que el agente no se está ejecutando o que se está ejecutando, pero no está ingiriendo datos. Para obtener más información, consulta las siguientes secciones:
- El agente está instalado, pero no se está ejecutando.
- El agente se está ejecutando, pero no se ingieren datos.
Se ha quitado el agente que la consola Google Cloud indicaba que estaba instalado
Después de desinstalar el agente, la consola Google Cloud puede tardar hasta una hora en registrar este cambio.