Solución de problemas del agente

En esta página, encontrarás ayuda para diagnosticar problemas durante la instalación o la ejecución del agente de operaciones.

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. 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
    
  • La VM ya tiene el agente de Cloud Logging o el agente de Cloud Monitoring instalado, y esos agentes entran 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.

    A fin de corregir este error, guarda los archivos de configuración personalizados para el agente de Cloud Monitoring y el agente de Cloud Logging. Luego, desinstala el agente de Cloud Monitoring anterior y el agente de Cloud Logging anteriores.

El agente está instalado, pero no se ejecuta

Los servicios de agente no se están ejecutando

Si el servicio de agente no se ejecuta, es posible que veas el siguiente estado:

Linux

$ sudo systemctl status google-cloud-ops-agent.target
● google-cloud-ops-agent.target - Google Cloud Ops Agent
   Loaded: loaded (/lib/systemd/system/google-cloud-ops-agent.target; enabled; vendor preset: enabled)
   Active: inactive (dead) since Mon 2020-10-12 19:49:05 UTC; 3s 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 systemctl start google-cloud-ops-agent.target

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.

    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. Desinstala el agente de Cloud Monitoring anterior y el agente de Cloud Logging anteriores.

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 systemctl restart google-cloud-ops-agent.target
A dependency job for google-cloud-ops-agent.target failed. See 'journalctl -xe' for details.

Usa journalctl para obtener el mensaje de error exacto:

$ journalctl -xe | grep generate_config
Oct 12 19:31:19 prod-vm generate_config[16132]: 2020/10/12 19:31:19 can't parse configuration: &{[%!w(string=line 15: field frogging not found in type confgenerator.unifiedConfig)]}

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.

El agente está en ejecución, pero los datos no se transfieren

¿El agente envía registros a Cloud Logging?

Verifica las métricas locales

En este paso, se requiere que establezcas una conexión SSH a la VM.

  • ¿El módulo de registro está en ejecución? Verifica las métricas de tiempo de actividad locales para asegurarte de que el módulo de registro esté en ejecución. Por ejemplo:

    $ curl -s localhost:2020/api/v1/uptime | jq | grep uptime_sec
      "uptime_sec": 4132,
    
  • ¿El módulo de registro lee los registros? Verifica las métricas de entrada locales para asegurarte de que los registros ingresen a la input.

    Si los registros no llegan a la input, es posible que las fuentes del archivo de registro no generen registros. Verifica las fuentes del archivo de registro para asegurarte de que generen registros. Además, asegúrate de que la ruta del archivo sea correcta y que no se excluya por accidente.

    $ curl -s localhost:2020/api/v1/metrics | jq
    {
      "input": {
        "tail.0": {
          "records": 210,
          "bytes": 17134,
          "files_opened": 1,
          "files_closed": 0,
          "files_rotated": 0
        },
        "tail.1": {
          "records": 1016,
          "bytes": 102460,
          "files_opened": 1,
          "files_closed": 0,
          "files_rotated": 0
        },
        "tail.2": {
          "records": 1918,
          "bytes": 245475,
          "files_opened": 2,
          "files_closed": 0,
          "files_rotated": 0
        },
        "storage_backlog.3": {
          "records": 0,
          "bytes": 0
        }
      },
      "filter": ...
      "output": ...
    }
    
  • ¿El módulo de registro envía registros a Cloud Logging? Verifica las métricas de salida locales y busca google o stackdriver. Por ejemplo:

    $ curl -s localhost:2020/api/v1/metrics | jq
    {
      "input": ...
      "filter": ...
      "output": {
        "stackdriver.0": {
          "proc_records": 1918,
          "proc_bytes": 245475,
          "errors": 0,
          "retries": 0,
          "retries_failed": 0
        }
      }
    }
    

Verifica el registro del módulo de registro

En este paso, se requiere que establezcas una conexión SSH a la VM.

Puedes buscar los registros del módulo de registro en /var/log/google-cloud-ops-agent/subagents/*.log. Si no hay registros, esto indica que el servicio de agente no se ejecuta de forma correcta. Ve a la sección El agente está instalado, pero no se ejecuta primero para corregir esa condición.

  • Pueden generarse errores de permiso 403 cuando escribes en la API de Logging. Por ejemplo:

    [2020/10/13 18:55:09] [ warn] [output:stackdriver:stackdriver.0] error
    {
      "error": {
        "code": 403,
        "message": "Cloud Logging API has not been used in project 147627806769 before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/logging.googleapis.com/overview?project=147627806769 then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.",
        "status": "PERMISSION_DENIED",
        "details": [
          {
            "@type": "type.googleapis.com/google.rpc.Help",
            "links": [
              {
                "description": "Google developers console API activation",
                "url": "https://console.developers.google.com/apis/api/logging.googleapis.com/overview?project=147627806769"
              }
            ]
          }
        ]
      }
    }
    

    Para corregir este error, habilita la API de Logging y configura la función de escritor de registros.

  • Es posible que veas un problema de cuota para la API de Logging. Por ejemplo:

    error="8:Insufficient tokens for quota 'logging.googleapis.com/write_requests' and limit 'WriteRequestsPerMinutePerProject' of service 'logging.googleapis.com' for consumer 'project_number:648320274015'." error_code="8"
    

Para corregir este error, aumenta la cuota o reduce la capacidad de procesamiento de registros.

¿El agente envía métricas a Cloud Monitoring?

Verifica el registro del módulo de métricas

En este paso, se requiere que establezcas una conexión SSH a la VM.

Puedes buscar los registros del módulo de métricas en /var/log/google-cloud-ops-agent/subagents/*.log. Si no hay registros, esto indica que el servicio de agente no se ejecuta de forma correcta. Ve a la sección El agente está instalado, pero no se ejecuta primero para corregir esa condición.

  • Puede generarse errores de permiso 403 cuando escribes en la API de Monitoring. Este error ocurre si los permisos para el agente de operaciones no están configurado de forma correcta. Por ejemplo:

    write_gcm: Unsuccessful HTTP request 403: {#012  "error": {#012    "code": 403,#012    "message": "Permission denied (or the resource may not exist).",#012    "status": "PERMISSION_DENIED",#012    "details": [#012      {#012        "@type": "type.googleapis.com/google.rpc.DebugInfo",#012        "detail": "Permission monitoring.timeSeries.create denied (or the resource may not exist)."#012      }#012    ]#012  }#012}}

    Para corregir este error, configura la función de escritor de métricas de Monitoring.

  • Es posible que veas un problema de cuota para la API de Monitoring. Por ejemplo:

    write_gcm: Unsuccessful HTTP request 429: {
    write_gcm: Error -2 from wg_curl_get_or_post
    write_gcm: wg_transmit_unique_segment failed.
    write_gcm: wg_transmit_unique_segments failed. Flushing.
    

    Para corregir este error, aumenta la cuota o reduce la capacidad de procesamiento de las métricas.

Para obtener información sobre otros problemas conocidos con el agente de Cloud Monitoring, consulta la guía de solución de problemas del agente de Cloud Monitoring.

Faltan algunas métricas o son incoherentes.

Hay una pequeña cantidad de métricas que el agente de operaciones versión 2.0.0 y posteriores maneja de manera diferente a las versiones de "vista previa" del agente de operaciones (versiones anteriores a la 2.0.0) o el agente de supervisión. ,

En la siguiente tabla, se describen las diferencias en los datos que transfieren el agente de operaciones y el agente de Monitoring.
Tipo de métrica, no incluye
agent.googleapis.com
Agente de operaciones (Google Analytics) Agente de operaciones (vista previa) Agente de supervisión
disk/bytes_used y
disk/percent_used
Se transfirió con la ruta completa en la etiqueta device, por ejemplo, /dev/sd15.

No se transfiere en dispositivos virtuales como tmpfs y udev.
Se transfirió sin /dev en la ruta de acceso en la etiqueta device, por ejemplo, sda15.

Se transfirió para dispositivos virtuales, como tmpfs y udev.
Se transfirió sin /dev en la ruta de acceso en la etiqueta device, por ejemplo, sda15.

Se transfirió para dispositivos virtuales, como tmpfs y udev.
processes/count_by_state Sin transferir. Transferido. Transferido.
swap/bytes_used Se transfirió sin la etiqueta device en Linux. Se transfirió con la etiqueta device en Linux. Se transfirió con la etiqueta device en Linux.
La columna DG hace referencia a la versión 2.0.0 del agente de operaciones y las versiones posteriores. La columna Vista previa hace referencia a las versiones del agente de operaciones anteriores a la 2.0.0.

Se quitó el agente que Google Cloud Console informó como instalado

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