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.
- Habilita la API de Cloud Monitoring.
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:
Ve a la página de Google Kubernetes Engine en la consola de Google Cloud .
Haz clic en
Crear y, luego, en la sección Standard o Autopilot, haz clic en Configurar.Para un clúster en modo Autopilot, haz clic en Configuración avanzada. Para un clúster en modo Standard, haz clic en Funciones.
En la sección Operaciones, selecciona Habilitar el monitoreo automático de aplicaciones.
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:
CLUSTER_NAME
es el nombre del clúster nuevo.COMPUTE_LOCATION
: la ubicación de Compute Engine para el clúster.
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:
Ve a la página de Google Kubernetes Engine en la consola de Google Cloud :
En la lista de clústeres, haz clic en el nombre del clúster.
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:
CLUSTER_NAME
: el nombre del clústerCOMPUTE_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.
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ústerCOMPUTE_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:
Ve a la página de Google Kubernetes Engine en la consola de Google Cloud :
Haz clic en el nombre del clúster en el que deseas ver los paneles de las cargas de trabajo supervisadas automáticamente.
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:
Ve a la página Paneles.
Haz clic en la pestaña Lista de paneles.
Selecciona la categoría Integraciones.
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
Ve a la página de Google Kubernetes Engine en la consola de Google Cloud :
Haz clic en el nombre del clúster.
En la lista Funciones, busca el campo Supervisión automática de aplicaciones.
Haz clic en editEditar.
Anula la selección de Habilitar la supervisión automática de aplicaciones.
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:
CLUSTER_NAME
: el nombre del clústerCOMPUTE_LOCATION
: la ubicación de Compute Engine para el clúster.
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ústerCOMPUTE_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 :
Ve a la página Navegador de objetos.
En el campo Clúster, ingresa el nombre del clúster.
En el campo Espacio de nombres, ingresa el nombre del espacio de nombres.
En el filtro Tipos de objetos, selecciona PodMonitoring.
En monitoring.googleapis.com, selecciona PodMonitoring.
Haz clic en el nombre de un objeto para inspeccionarlo. La etiqueta de metadatos
source:gke-auto-monitoring
indica que GKE creó el recursoPodMonitoring
.
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:
- Excluye la carga de trabajo de la supervisión automática de aplicaciones.
- Identifica el recurso
PodMonitoring
que GKE creó para la carga de trabajo. Borra el recurso
PodMonitoring
:kubectl delete podmonitoring POD_MONITORING_NAME -n NAMESPACE
Reemplaza lo siguiente:
POD_MONITORING_NAME
: Es el nombre del recursoPodMonitoring
.NAMESPACE
: Es el espacio de nombres del recursoPodMonitoring
.
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:
- Inhabilita la supervisión automática de aplicaciones.
Borra todos los recursos
PodMonitoring
del clúster con la etiqueta de metadatossource: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?
- Obtén más información sobre cómo ver las métricas de observabilidad.