Configura la supervisión automática de aplicaciones para las cargas de trabajo


Puedes ahorrar tiempo y esfuerzo en la configuración y el mantenimiento de las aplicaciones de supervisión que se ejecutan en Google Kubernetes Engine (GKE) si habilitas la supervisión automática de aplicaciones para las cargas de trabajo compatibles.

Cómo funciona la supervisión automática de aplicaciones

Cuando habilitas la supervisión automática de aplicaciones, GKE detecta las instancias implementadas de cargas de trabajo compatibles y, luego, implementa recursos de PodMonitoring para cada instancia de carga de trabajo detectada.

La supervisión automática de aplicaciones también instala paneles listos para usar para supervisar aplicaciones. Google Cloud Managed Service para Prometheus recopila las métricas.

Cargas de trabajo admitidas

La supervisión automática de aplicaciones admite las siguientes cargas de trabajo:

El intervalo de recopilación de métricas para los servidores de modelos de IA es de 15 s. Para las cargas de trabajo que no son de IA, el intervalo de recuperación es de 30 s.

Para obtener más información sobre otras soluciones de observabilidad listas para usar que puedes configurar de forma manual, consulta Introducción a la configuración del exportador en la documentación de Google Cloud Observability.

Antes de comenzar

Antes de comenzar, asegúrate de haber realizado las siguientes tareas:

  • Habilita la API de Google Kubernetes Engine.
  • Habilitar la API de Google Kubernetes Engine
  • Si deseas usar Google Cloud CLI para esta tarea, instala y, luego, inicializa gcloud CLI. Si ya instalaste gcloud CLI, ejecuta gcloud components update para obtener la versión más reciente.

Requisitos para la supervisión automática de aplicaciones

Para habilitar la supervisión automática de aplicaciones, tu clúster de GKE debe cumplir con los siguientes requisitos:

  • Tu clúster debe ejecutar la versión 1.28 de GKE o una posterior.
  • Debes tener la versión 492.0.0 de gcloud CLI o una posterior.
  • Tu clúster debe tener habilitada la recopilación administrada de Google Cloud Managed Service para Prometheus. La recopilación administrada de Google Cloud Managed Service para Prometheus está habilitada de forma predeterminada en los clústeres nuevos.

Habilita la supervisión automática de aplicaciones

Puedes habilitar la supervisión automática de aplicaciones para clústeres de GKE nuevos o existentes con la Google Cloud consola, Google Cloud CLI o la API de GKE.

El scraping de métricas tarda hasta 10 minutos en comenzar para las cargas de trabajo compatibles después de que implementas una carga de trabajo nueva o después de que habilitas la supervisión automática de aplicaciones para un clúster.

Console

Para habilitar la supervisión automática de aplicaciones en un clúster nuevo, haz lo siguiente:

  1. En la consola de Google Cloud , ve a la página Crea un clúster de Autopilot.

    Ir a Crea un clúster de Autopilot

    También puedes completar esta tarea creando un clúster de Standard.

  2. Para un clúster en modo Autopilot, haz clic en Configuración avanzada. Para un clúster en modo Standard, haz clic en Funciones.

  3. En la sección Operaciones, selecciona Habilitar la supervisión automática de aplicaciones.

  4. Haz clic en Crear.

También puedes habilitar la supervisión automática de aplicaciones para un clúster existente. Para ello, actualiza el campo Habilitar la supervisión automática de aplicaciones en la sección Operaciones de la pestaña Detalles del clúster.

gcloud

Para habilitar la supervisión automática de aplicaciones en un clúster nuevo, usa la opción --auto-monitoring-scope=ALL:

gcloud container clusters create-auto CLUSTER_NAME \
    --location=COMPUTE_LOCATION \
    --auto-monitoring-scope=ALL

Reemplaza lo siguiente:

También puedes actualizar un clúster existente con el comando gcloud container clusters update.

API

Para habilitar la supervisión automática de aplicaciones en un clúster nuevo, realiza una solicitud POST al método clusters.create:

POST https://container.googleapis.com/v1/projects/PROJECT_ID/locations/COMPUTE_LOCATION/clusters

{
  "cluster": {
    "name": "CLUSTER_NAME",
    "initialNodeCount": 1,
    "monitoringConfig": {
      "managedPrometheusConfig": {
        "enabled": true,
        "autoMonitoringConfig": {
          "scope": "ALL"
        }
      }
    }
  }
}

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID de tu proyecto de Google Cloud .
  • CLUSTER_NAME es el nombre del clúster nuevo.
  • COMPUTE_LOCATION: la ubicación de Compute Engine para el clúster.

Cómo determinar si la supervisión automática de aplicaciones está habilitada

Puedes determinar si la supervisión automática de aplicaciones está habilitada o inhabilitada para un clúster con la consola, gcloud CLI o la API de GKE. Google Cloud

Console

Haz lo siguiente:

  1. Ve a la página Google Kubernetes Engine en la consola de Google Cloud :

    Ir a Google Kubernetes Engine

  2. En la lista de clústeres, haz clic en el nombre del clúster.

  3. En la sección Funciones, el campo Supervisión automática de aplicaciones indica si la supervisión automática de aplicaciones está habilitada o inhabilitada.

gcloud

Describe el clúster:

gcloud container clusters describe CLUSTER_NAME \
    --location=COMPUTE_LOCATION \
    --format='value(monitoringConfig.managedPrometheusConfig.autoMonitoringConfig.scope)'

Reemplaza lo siguiente:

El resultado es similar a este:

autoMonitoringConfig.scope: ALL

En el resultado, si el valor del campo autoMonitoringConfig.scope es ALL, la supervisión automática de aplicaciones está habilitada. De lo contrario, la supervisión automática de aplicaciones se inhabilita.

API

Realiza una solicitud GET al método clusters.get:

GET https://container.googleapis.com/v1/projects/PROJECT_ID/locations/COMPUTE_LOCATION/clusters/CLUSTER_NAME

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID de tu proyecto de Google Cloud .
  • CLUSTER_NAME: el nombre del clúster
  • COMPUTE_LOCATION: la ubicación de Compute Engine para el clúster.

El resultado es similar a este:

autoMonitoringConfig.scope: ALL

En el resultado, si el valor del campo autoMonitoringConfig.scope es ALL, la supervisión automática de aplicaciones está habilitada. De lo contrario, la supervisión automática de aplicaciones se inhabilita.

Ver panel

Cuando habilitas la supervisión automática de aplicaciones, GKE instala paneles listos para usar para supervisar las aplicaciones de las cargas de trabajo compatibles que se implementan en tu clúster. No verás paneles para las cargas de trabajo admitidas que nunca se ejecutaron en un clúster.

Para ver los paneles con telemetría de las cargas de trabajo supervisadas automáticamente en la página de Google Kubernetes Engine, haz lo siguiente:

  1. Ve a la página Google Kubernetes Engine en la consola de Google Cloud :

    Ir a Google Kubernetes Engine

  2. Haz clic en el nombre del clúster en el que deseas ver los paneles de las cargas de trabajo supervisadas automáticamente.

  3. Haz clic en la pestaña Observabilidad. En la sección Integraciones, se muestran los paneles configurados para las cargas de trabajo compatibles que se ejecutan en el clúster.

Para ver los paneles con telemetría de las cargas de trabajo supervisadas automáticamente en la página de Cloud Monitoring, haz lo siguiente:

  1. Ve a la página Paneles.

    Ir a Paneles

  2. Haz clic en la pestaña Lista de paneles.

  3. Selecciona la categoría Integraciones.

  4. Haz clic en el nombre del panel. Por ejemplo, RabbitMQ Prometheus Overview.

Inhabilita la supervisión automática de aplicaciones

Si inhabilitas la supervisión automática de aplicaciones en un clúster, los recursos PodMonitoring que creó GKE permanecerán intactos y GKE seguirá supervisando las cargas de trabajo compatibles existentes. GKE deja de supervisar automáticamente las instancias nuevas de las cargas de trabajo compatibles que implementas en el clúster. Para dejar de supervisar las cargas de trabajo compatibles existentes, debes borrar los recursos PodMonitoring que creó GKE. Si vuelves a habilitar la supervisión automática de aplicaciones para un clúster, GKE detecta y reconcilia los recursos de PodMonitoring que creó anteriormente.

Puedes inhabilitar la supervisión automática de aplicaciones para un clúster con la consola deGoogle Cloud , gcloud CLI o la API de GKE.

Console

  1. Ve a la página Google Kubernetes Engine en la consola de Google Cloud :

    Ir a Google Kubernetes Engine

  2. Haz clic en el nombre del clúster.

  3. En la lista Funciones, busca el campo Supervisión automática de aplicaciones.

  4. Haz clic en Editar.

  5. Anula la selección de Habilitar la supervisión automática de aplicaciones.

  6. Haz clic en Guardar.

gcloud

Actualiza el clúster con la opción --auto-monitoring-scope=NONE:

gcloud container clusters update CLUSTER_NAME \
    --location=COMPUTE_LOCATION \
    --auto-monitoring-scope=NONE

Reemplaza lo siguiente:

API

Realiza una solicitud PUT al método clusters.update:

PUT https://container.googleapis.com/v1/projects/PROJECT_ID/locations/COMPUTE_LOCATION/clusters/CLUSTER_NAME

{
  "update": {
    "desiredMonitoringConfig": {
      "managedPrometheusConfig": {
        "autoMonitoringConfig": {
          "scope": "NONE"
        }
      }
    }
  }
}

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID de tu proyecto de Google Cloud .
  • CLUSTER_NAME: el nombre del clúster
  • COMPUTE_LOCATION: la ubicación de Compute Engine para el clúster.

Personaliza la supervisión automática de las cargas de trabajo admitidas

Puedes personalizar la configuración de supervisión para instancias individuales de cargas de trabajo compatibles o inhabilitar la supervisión de instancias individuales de cargas de trabajo compatibles.

Para personalizar el recurso PodMonitoring de una instancia implementada de una carga de trabajo compatible sin afectar la supervisión automática de aplicaciones de otras cargas de trabajo, debes excluir la instancia de la supervisión automática de aplicaciones y, luego, actualizar la configuración o reemplazar el recurso PodMonitoring asociado con la instancia de carga de trabajo de destino.

Si actualizas o borras un recurso PodMonitoring que creó GKE sin excluir la carga de trabajo asociada, GKE restablece el recurso PodMonitoring para garantizar la continuidad mientras supervisa otras cargas de trabajo admitidas.

Cómo encontrar el recurso PodMonitoring para una carga de trabajo

Puedes identificar el recurso PodMonitoring que creó GKE para una carga de trabajo con la consola de Google Cloud :

  1. Ve a la página Navegador de objetos.

    Ir al Navegador de objetos

  2. En el campo Clúster, ingresa el nombre del clúster.

  3. En el campo Espacio de nombres, ingresa el nombre del espacio de nombres.

  4. En el filtro Tipos de objetos, selecciona PodMonitoring.

  5. En monitoring.googleapis.com, selecciona PodMonitoring.

  6. Haz clic en el nombre de un objeto para inspeccionarlo. La etiqueta de metadatos source:gke-auto-monitoring indica que GKE creó el recurso PodMonitoring.

Excluye las instancias implementadas de la supervisión automática

Si no deseas supervisar una instancia implementada de una carga de trabajo compatible o si deseas personalizar la configuración de supervisión de una carga de trabajo, puedes excluirla de la supervisión automática de aplicaciones.

Para excluir una carga de trabajo, debes agregar la etiqueta de metadatos allow-gke-auto-monitoring: false a la configuración de la carga de trabajo de destino. Por ejemplo, el siguiente manifiesto describe un StatefulSet de RabbitMQ que no se supervisa con la supervisión automática de aplicaciones:

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: rabbitmq
  labels:
    allow-gke-auto-monitoring: "false"
spec:
  serviceName: rabbitmq
  replicas: 3

Después de excluir una instancia de carga de trabajo, puedes borrar el recurso PodMonitoring que GKE creó para la carga de trabajo. GKE no intenta restablecer el recurso PodMonitoring si lo borras o modificas. Si implementas una carga de trabajo nueva con la etiqueta de metadatos allow-gke-auto-monitoring: false, GKE no crea un recurso PodMonitoring para la carga de trabajo.

Borra la configuración de supervisión de una carga de trabajo

Si deseas dejar de supervisar una carga de trabajo o implementar tu propio recurso PodMonitoring personalizado para una carga de trabajo, puedes borrar la configuración de supervisión.

Para borrar la configuración del monitoreo automático de aplicaciones de una carga de trabajo individual, haz lo siguiente:

  1. Excluye la carga de trabajo de la supervisión automática de aplicaciones.
  2. Identifica el recurso PodMonitoring que GKE creó para la carga de trabajo.
  3. Borra el recurso PodMonitoring:

    kubectl delete podmonitoring POD_MONITORING_NAME -n NAMESPACE
    

    Reemplaza lo siguiente:

    • POD_MONITORING_NAME: Es el nombre del recurso PodMonitoring.
    • NAMESPACE: Es el espacio de nombres del recurso PodMonitoring.

Para borrar la configuración del monitoreo automático de aplicaciones de todas las cargas de trabajo en un clúster, haz lo siguiente:

  1. Inhabilita la supervisión automática de aplicaciones.
  2. Borra todos los recursos PodMonitoring del clúster con la etiqueta de metadatos source:gke-auto-monitoring:

    kubectl delete podmonitorings -l source=gke-auto-monitoring --all-namespaces
    

Precios

La configuración automática de la supervisión de aplicaciones y la instalación de paneles listos para usar para las cargas de trabajo compatibles con la supervisión automática de aplicaciones están disponibles sin cargo adicional. Sin embargo, Monitoring cobra por la transferencia de métricas de Google Cloud Managed Service para Prometheus según los precios de Monitoring.

¿Qué sigue?