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


Puedes ahorrar tiempo y esfuerzo configurando y manteniendo aplicaciones de supervisión que se ejecutan en Google Kubernetes Engine (GKE) habilitando la supervisión automática de aplicaciones para 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 instancias implementadas de cargas de trabajo compatibles y, luego, implementa recursos 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:

Para obtener más información sobre otras soluciones de observabilidad listas para usar que puedes configurar manualmente, 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 o una posterior de gcloud CLI.
  • 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 el monitoreo automático de aplicaciones para clústeres de GKE nuevos o existentes con la consola de Google Cloud , Google Cloud CLI o la API de GKE.

El raspado de métricas tarda hasta 10 minutos en comenzar para las cargas de trabajo compatibles después de que implementes una carga de trabajo nueva o después de que habilites 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. Ve a la página de Google Kubernetes Engine en la consola de Google Cloud .

    Ir a Google Kubernetes Engine

  2. Haz clic en Crear y, luego, en la sección Standard o Autopilot, haz clic en Configurar.

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

  4. En la sección Operaciones, selecciona Habilitar el monitoreo automático de aplicaciones.

  5. 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 para un clúster nuevo, usa la opción --auto-monitoring-scope=ALL:

gcloud beta 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 beta container clusters update.

API

Para habilitar la supervisión automática de aplicaciones para 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: 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 de Google Cloud , gcloud CLI o la API de GKE.

Console

Puedes hacer lo siguiente:

  1. Ve a la página de 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, se habilita la supervisión automática de aplicaciones. De lo contrario, se inhabilita la supervisión automática de aplicaciones.

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: 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, se habilita la supervisión automática de aplicaciones. De lo contrario, se inhabilita la supervisión automática de aplicaciones.

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 de cargas de trabajo compatibles que nunca se ejecutaron en un clúster.

Para ver los paneles con la 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 de 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 la 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 cargas de trabajo compatibles que implementes 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 detectará y conciliará los recursos PodMonitoring que creó anteriormente.

Puedes inhabilitar el monitoreo automático 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 de 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 beta 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: 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 compatibles

Puedes personalizar la configuración de supervisión de 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 GKE creó sin excluir la carga de trabajo asociada, GKE restaura el recurso PodMonitoring para garantizar la continuidad mientras supervisa otras cargas de trabajo compatibles.

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

Puedes identificar el recurso PodMonitoring que GKE creó 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, en el siguiente manifiesto, se describe un StatefulSet de RabbitMQ que no se supervisa mediante la supervisión automática de aplicaciones:

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: rabbitmq
  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 lo modificas. Si implementas una nueva carga de trabajo 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 si deseas implementar tu propio recurso PodMonitoring personalizado para una carga de trabajo, puedes borrar la configuración de supervisión.

Para borrar la configuración de supervisión automática 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 de supervisión automática 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 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?