Supervisa la cantidad de procesos en una VM

En este documento, se describe cómo usar la consola de Google Cloud para crear una política de alertas que supervise la cantidad de procesos que se ejecutan en tus máquinas virtuales (VMs) y que cumplen con las condiciones que especificas. A veces, este tipo de política de alertas se denomina política de alertas de estado del proceso. Por ejemplo, puedes contar la cantidad de procesos que inició el usuario raíz. También puedes contar la cantidad de procesos cuyo comando de invocación contenía una cadena específica. Una política de alertas puede notificarte cuando la cantidad de procesos es mayor o menor que un umbral. Para obtener información sobre qué procesos se pueden supervisar, consulta Procesos que se supervisan.

Este contenido no se aplica a las políticas de alertas basadas en registros. Para obtener información sobre las políticas de alertas basadas en registros, que te notifican cuando aparece un mensaje en particular en tus registros, consulta Supervisa tus registros.

Antes de comenzar

  1. Si quieres obtener los permisos que necesitas para crear y modificar las políticas de alertas con la consola de Google Cloud, pídele a tu administrador que te otorgue el rol de IAM de Editor de Monitoring (roles/monitoring.editor) en tu proyecto. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso.

    Es posible que también puedas obtener los permisos necesarios a través de funciones personalizadas o, también, otras funciones predefinidas.

    Para obtener más información sobre las funciones de Cloud Monitoring, consulta Controla el acceso con Identity and Access Management.

  2. Asegúrate de estar familiarizado con los conceptos generales de las políticas de alertas. Para obtener información sobre estos temas, consulta Descripción general de las alertas.

  3. Configura los canales de notificaciones que deseas usar para recibir las alertas. Para fines de redundancia, también recomendamos que crees varios tipos de canales de notificación. Para obtener información sobre estos pasos, consulta Cómo crear y administrar canales de notificaciones.

  4. Asegúrate de haber instalado el Agente de operaciones en las VMs que quieres supervisar. Para obtener más información, consulta Agentes de observabilidad de Google Cloud.

Crear política de alertas

Para crear una política de alertas que supervise el recuento de procesos que se ejecutan en una VM mediante la API de Cloud Monitoring, la expresión de filtro debe especificar un selector de series temporales. Para ver un ejemplo de un archivo JSON que especifica este selector, consulta la Política de estado del proceso.

Para crear una política de alertas que supervise el recuento de procesos que se ejecutan en una VM, sigue estos pasos:

  1. En la consola de Google Cloud, ve a la página  Alertas:

    Ir a las Alertas

    Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Monitoring.

  2. Selecciona Crear política.
  3. Selecciona ? en el encabezado de la sección Seleccionar métrica y, luego, selecciona Modo de filtro directo en la información sobre la herramienta.

  4. Ingresa un filtro de Monitoring.

    Por ejemplo, para contar la cantidad de procesos que se ejecutan en las instancias de VM de Compute Engine cuyo nombre incluye nginx, ingresa lo siguiente:

    select_process_count("monitoring.regex.full_match(\".*nginx.*\")")
    resource.type="gce_instance"
    

    Para obtener más información, consulta los siguientes recursos:

  5. Completa la política de alertas. Debes configurar el activador de la condición, las notificaciones, la documentación y el nombre de la política y, luego, hacer clic en Crear política.

    Para obtener más información, consulta Crea políticas de alertas de límite de métrica.

Procesos que se supervisan

Una condición de estado del proceso no puede supervisar todos los procesos que se ejecutan en tu sistema. Esta condición selecciona los procesos que se supervisarán mediante una expresión regular que se aplica a la línea de comandos que invocó el proceso. Cuando el campo de la línea de comandos no está disponible, el proceso no se puede supervisar.

Una forma de determinar si una condición de estado del proceso puede supervisar un proceso es observar los procesos activos. Por ejemplo, en un sistema Linux, puedes usar el comando ps:

    ps aux | grep nfs
    USER      PID  %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    root      1598  0.0  0.0      0     0 ?        S<   Oct25   0:00 [nfsd4]
    root      1639  0.0  0.0      0     0 ?        S    Oct25   2:33 [nfsd]
    root      1640  0.0  0.0      0     0 ?        S    Oct25   2:36 [nfsd]

Cuando una entrada COMMAND se une con corchetes, por ejemplo [nfsd], la información de línea de comandos para el proceso no está disponible. En esta situación, no puedes usar Cloud Monitoring para supervisar el proceso.