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 también informa los problemas a Cloud Monitoring, incluidas las métricas de capacidad y errores que luego, puedes visualizarlos con los paneles de Google Cloud Observability. 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 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 usa cloud-init para habilitar la supervisión de estado con el siguiente cloud-config ejemplo:

#cloud-config

runcmd:
- systemctl start node-problem-detector

Uso de 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 creas una instancia, sigue estos pasos:

gcloud compute instances create VM_NAME \
    --image=IMAGE \
    --image-project=cos-cloud \
    --metadata=google-monitoring-enabled=true

Reemplaza lo siguiente:

  • VM_NAME: nombre de la VM nueva
  • IMAGE: una versión específica de una imagen pública de Container-Optimized OS. Por ejemplo, --image=cos-113-18244-85-29

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

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

Reemplaza VM_NAME por el nombre de la VM.

A partir del hito 97, la supervisión puede habilitarse 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 de detección de problemas de nodos.

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, haz lo siguiente: o a través de tu secuencia de comandos de inicio, quita el paso systemctl start node-problem-detector y, luego, reinicia la Container-Optimized OS. Si los metadatos la habilitan, asegúrate de que La clave google-monitoring-enabled se estableció en false.