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 puedes visualizar con los paneles de Google Cloud's operations suite. 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.

Habilitación de la vigilancia de la salud

El agente del detector de problemas en los nodos está inhabilitado de forma predeterminada al momento del 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 el evento importante 88 del Container-Optimized OS y la versión posterior, el detector de problemas de nodos también se puede habilitar si configuras el valor de google-monitoring-enabled como true en la sección de metadatos personalizados.

Para habilitar la supervisión cuando creas 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

Después de la ejecución, se habilitará el servicio de detección de problemas de 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 Google Cloud Console, 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ó a través de cloud-config o la secuencia de comandos de inicio, quita el paso systemctl start node-problem-detector y y, luego, reinicia la instancia de Container-Optimized OS. Si están habilitados por metadatos, asegúrate de que la clave google-monitoring-enabled esté configurada como false.