Supervisa el estado del sistema con el detector de problemas de nodos

A partir del evento importante 77, Container-Optimized OS incluye el agente Detector de problemas de nodos. Puedes usar esta característica para supervisar el estado del sistema de instancias de COS. El detector de problemas de nodos supervisa el estado de la instancia y, además, informa las métricas relacionadas con el estado a Cloud Monitoring, incluidas las métricas de capacidad y error que luego puedes visualizar con los paneles de observabilidad de Google Cloud. Las métricas recopiladas de la configuración predeterminada son gratuitas. Google usará métricas agregadas para comprender los problemas de los nodos y mejorar la confiabilidad de Container-Optimized OS.

El agente está preconfigurado con el conjunto de métricas que se exportará. En este momento, la personalización de métricas informadas para el agente integrado no es compatible. El detector de problemas de Node es un software de código abierto. Puedes revisar su código fuente y configuraciones en sus respectivos repositorios de origen.

Habilita la supervisión del estado

El agente Node Problem Detector está inhabilitado de forma predeterminada durante el inicio. Puedes habilitar esta función mediante los siguientes recursos:

Usa una secuencia de comandos de inicio

Puedes habilitar Node Problem Detector mediante una secuencia de comandos de inicio.

Usa cloud‑init

En el ejemplo de cloud-init, se explican los conceptos básicos de la configuración de una instancia de Container-Optimized OS. Puedes usar cloud-init para habilitar la supervisión de estado con el siguiente ejemplo de cloud-config:

#cloud-config

runcmd:
- systemctl start node-problem-detector

Usa metadatos

En Container‑Optimized OS Milestone 88 y versiones posteriores, Node Problem Detector también se puede habilitar configurando el valor de google-monitoring-enabled como true en la sección de metadatos personalizados.

Para habilitar la supervisión cuando crees una instancia, sigue estos pasos:

gcloud compute instances create instance-name \
    --image-family cos-stable \
    --image-project cos-cloud \
    --metadata google-monitoring-enabled=true

Para habilitar la supervisión en una instancia existente, sigue estos pasos:

gcloud compute instances add-metadata instance-name \
    --metadata google-monitoring-enabled=true

A partir del evento importante 97, se puede habilitar la supervisión en los metadatos del proyecto:

gcloud compute project-info add-metadata \
    --metadata google-monitoring-enabled=true

Después de la ejecución, se habilitará el servicio del detector de problemas del nodo.

Usa políticas de invitado definidas por el usuario

Container‑Optimized OS incluye el agente de OS Config, que emplea utilidades del SO para mantener el estado de la VM especificado en la política de invitado. Para obtener detalles sobre las políticas de invitado, consulta Habilita el agente de OS Config y Crea una política de invitado. La siguiente política de invitado habilita el agente de Node Problem Detector en todas las instancias.

recipes:
- name: recipe-enable-npd
  desiredState: INSTALLED
  installSteps:
  - scriptRun:
      interpreter: SHELL
      script: |-
        #!/bin/bash
        systemctl start node-problem-detector

Visualiza las métricas recopiladas

El detector de problemas de nodos informa una lista de métricas frente a un recurso supervisado de la instancia de Compute Engine. Las métricas se documentan en la Lista de métricas de Monitoring, con el prefijo compute.googleapis.com/guest/. Puedes ver las métricas recopiladas mediante el Explorador de métricas de Monitoring:

  1. En la consola de Google Cloud, ve a Monitoring o usa el siguiente botón:

    Ir a Monitoring

  2. En el panel de navegación de Monitoring, haz clic en Explorador de métricas.

  3. Para el tipo de recurso, selecciona Instancia de VM de Compute Engine.

  4. Selecciona una métrica, por ejemplo, “Recuento de problemas”.

  5. Deberías ver gráficos y estadísticas a la derecha. Para ver el resultado de una instancia específica de Container-Optimized OS, configura el filtro como "instance_id=[INSTANCE_ID]" y reemplaza [INSTANCE_ID] por el ID de la instancia deseada.

Inhabilita la supervisión del estado

Para inhabilitar el servicio que ya se habilitó mediante tu cloud-config o tu secuencia de comandos de inicio, quita el paso systemctl start node-problem-detector y, luego, reinicia la instancia de Container-Optimized OS. Si los metadatos lo habilitan, asegúrate de que la clave google-monitoring-enabled esté configurada como false.