En este documento, se describe cómo configurar Google Kubernetes Engine (GKE) para enviar métricas a Cloud Monitoring. Cuando estén en Cloud Monitoring, las métricas pueden propagar paneles personalizados, generar alertas, crear objetivos de nivel de servicio o los servicios de supervisión de terceros los recuperan mediante la API de Cloud Monitoring.
GKE proporciona varias fuentes de métricas:
- Métricas del sistema: métricas de componentes esenciales del sistema, que describen recursos de bajo nivel, como CPU, memoria y almacenamiento.
- Google Cloud Managed Service para Prometheus: te permite supervisar y crear alertas en tus cargas de trabajo con Prometheus, sin tener que administrar y operar de forma manual Prometheus a gran escala.
Paquetes de métricas de observabilidad:
- Métricas del plano de control: métricas exportadas desde ciertos componentes del plano de control como el servidor de la API y el programador.
Kube State Metrics: un conjunto seleccionado de métricas exportadas del servicio Estado de Kube, que se usa para supervisar el estado de los objetos de Kubernetes, como Pods, Deployments, entre otros. Para obtener el conjunto de métricas incluidas, consulta Usa Kube State Metrics.
El paquete de estado de kube es una solución administrada. Si necesitas mayor flexibilidad, por ejemplo, si necesitas recopilar métricas adicionales, necesitas administrar intervalos de recopilación o recopilar otros recursos, puedes inhabilitar el paquete, si está habilitado, e implementa tu propia instancia del servicio de código abierto de Kube State Metrics. Para obtener más información, consulta la documentación del exportador de Google Cloud Managed Service para Prometheus sobre Kube State Metrics.
cAdvisor/Kubelet: un conjunto seleccionado de métricas de cAdvisor y Kubelet. Para obtener el conjunto de métricas incluidas, consulta Usa métricas de cAdvisor/Kubelet.
El paquete cAdvisor/Kubelet es una solución administrada. Si necesitas más flexibilidad, por ejemplo, si necesitas recopilar métricas adicionales, administrar intervalos de scraping o usar scraping en otros recursos, puedes hacer lo siguiente:inhabilita el paquete, si está habilitado, e implementa tu propia instancia de los servicios de métricas de código abierto de cAdvisor/Kubelet. Para obtener más información, consulta la documentación de Google Cloud Managed Service para Prometheus para el exportador de cAdvisor/Kubelet .
Métricas del sistema
De forma predeterminada, GKE recopila ciertas métricas que emiten los componentes del sistema cuando se crea un clúster.
Tienes la opción de enviar métricas desde tu clúster de GKE a Cloud Monitoring. Si eliges enviar métricas a Cloud Monitoring, debes enviar métricas del sistema.
Todas las métricas del sistema de GKE se transfieren a
Cloud Monitoring con
el prefijo kubernetes.io
.
Precios
Cloud Monitoring no cobra por la transferencia de métricas del sistema de GKE. Para obtener más información, consulta los Precios de Cloud Monitoring.
Configura la recopilación de métricas del sistema
Para habilitar la recopilación de métricas del sistema, pasa el valor SYSTEM
a la marca --monitoring
de los comandos gcloud container clusters create
o gcloud container clusters update
.
Para inhabilitar la recopilación de métricas del sistema, usa el valor NONE
en la marca --monitoring
. Si la recopilación de métricas del sistema está inhabilitada, la información básica, como el uso de CPU,
memoria y disco, no está disponible para un clúster en la
pestaña Observabilidad o la sección de GKE
de la consola de Google Cloud.
En los clústeres de GKE Autopilot, no puedes inhabilitar la recopilación de métricas del sistema.
Consulta Observabilidad para GKE para obtener más detalles sobre la integración de Cloud Monitoring con GKE.
Para configurar la colección de métricas del sistema mediante Terraform, consulta el bloque monitoring_config
en el registro de Terraform para google_container_cluster
.
Para obtener información general sobre el uso de Google Cloud con Terraform, consulta Terraform con Google Cloud.
Lista de métricas del sistema
Las métricas del sistema incluyen métricas de componentes esenciales del sistema que son importantes para Kubernetes. Para obtener una lista de estas métricas, consulta Métricas del sistema de GKE.
Soluciona problemas del sistema de métricas
Si las métricas del sistema no están disponibles en Cloud Monitoring como se espera, aquí hay algunos pasos que puedes seguir para solucionar el problema.
Confirma que el agente de métricas tenga suficiente memoria
En la mayoría de los casos, la asignación predeterminada de recursos al agente de métricas de GKE es suficiente. Sin embargo, si el DaemonSet falla de forma repetida, puedes verificar el motivo de la finalización con las siguientes instrucciones:
Obtén los nombres de los Pods del agente de métricas de GKE:
kubectl get pods -n kube-system -l component=gke-metrics-agent
Busca el Pod con el estado
CrashLoopBackOff
.El resultado es similar a este:
NAME READY STATUS RESTARTS AGE gke-metrics-agent-5857x 0/1 CrashLoopBackOff 6 12m
Describe el Pod que tiene el estado
CrashLoopBackOff
:kubectl describe pod POD_NAME -n kube-system
Reemplaza
POD_NAME
por el nombre del Pod del paso anterior.Si el motivo de finalización del Pod es
OOMKilled
, el agente necesita memoria adicional.El resultado es similar a este:
containerStatuses: ... lastState: terminated: ... exitCode: 1 finishedAt: "2021-11-22T23:36:32Z" reason: OOMKilled startedAt: "2021-11-22T23:35:54Z"
Agrega una etiqueta de nodo al nodo con el agente de métricas con errores. Puedes usar una etiqueta de nodo persistente o temporal. Te recomendamos que agregues 20 MB adicionales. Si el agente falla, puedes volver a ejecutar este comando y reemplazar la etiqueta de nodo por una que solicite una mayor cantidad de memoria adicional.
Para actualizar un grupo de nodos con una etiqueta persistente, ejecuta el siguiente comando:
gcloud container node-pools update NODEPOOL_NAME \ --cluster=CLUSTER_NAME \ --node-labels=ADDITIONAL_MEMORY_NODE_LABEL \ --location=COMPUTE_LOCATION
Reemplaza lo siguiente:
NODEPOOL_NAME
: el nombre del grupo de nodosCLUSTER_NAME
: es el nombre del clúster existente.ADDITIONAL_MEMORY_NODE_LABEL
: Una de las etiquetas de nodo de memoria adicionales; usa una de las siguientes opciones:- Para agregar 10 MB, ejecuta este comando:
cloud.google.com/gke-metrics-agent-scaling-level=10
- Para agregar 20 MB, ejecuta este comando:
cloud.google.com/gke-metrics-agent-scaling-level=20
- Para agregar 50 MB, ejecuta este comando:
cloud.google.com/gke-metrics-agent-scaling-level=50
- Para agregar 100 MB:
cloud.google.com/gke-metrics-agent-scaling-level=100
- Para agregar 200 MB:
cloud.google.com/gke-metrics-agent-scaling-level=200
- Para agregar 500 MB, ejecuta este comando:
cloud.google.com/gke-metrics-agent-scaling-level=500
- Para agregar 10 MB, ejecuta este comando:
COMPUTE_LOCATION
: la ubicación de Compute Engine del clúster.
Como alternativa, puedes agregar una etiqueta de nodo temporal que no persistirá después de una actualización a través del siguiente comando:
kubectl label node/NODE_NAME \ ADDITIONAL_MEMORY_NODE_LABEL --overwrite
Reemplaza lo siguiente:
NODE_NAME
: el nombre del nodo del agente de métricas afectado.ADDITIONAL_MEMORY_NODE_LABEL
: es una de las etiquetas de nodo de memoria adicionales; usa uno de los valores del ejemplo anterior.
Paquete: Métricas del plano de control
Puedes configurar un clúster de GKE para enviar ciertas métricas emitidas por el servidor de la API de Kubernetes, Scheduler y el Administrador de controladores a Cloud Monitoring.
Requisitos
Para enviar métricas emitidas por los componentes del plano de control de Kubernetes a Cloud Monitoring, se requiere la versión 1.22.13 o posterior del plano de control de GKE y se requiere que la recopilación de métricas del sistema esté habilitada.
Configura la recopilación de métricas del plano de control
Para habilitar las métricas del plano de control de Kubernetes en un clúster de GKE existente, sigue estos pasos:
Console
Puedes habilitar las métricas del plano de control para un clúster desde la pestaña Observabilidad del clúster o desde la pestaña Detalles del clúster. Cuando usas la pestaña Observabilidad, puedes obtener una vista previa de los gráficos y las métricas disponibles antes de habilitar el paquete de métricas.
Para habilitar las métricas del plano de control desde la pestaña Observabilidad del clúster, haz lo siguiente:
-
En la consola de Google Cloud, ve a la página Clústeres de Kubernetes.
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Kubernetes Engine.
Haz clic en el nombre del clúster y, luego, selecciona la pestaña Observabilidad.
Selecciona Plano de control en la lista de funciones.
Haz clic en Habilitar paquete.
Si las métricas del plano de control ya están habilitadas, verás un conjunto de gráficos para las métricas del plano de control.
Para habilitar las métricas del plano de control desde la pestaña Detalles del clúster, haz lo siguiente:
-
En la consola de Google Cloud, ve a la página Clústeres de Kubernetes.
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Kubernetes Engine.
Haz clic en el nombre del clúster.
En la fila Funciones etiquetada como Cloud Monitoring, haz clic en el ícono Editar.
En el cuadro de diálogo Editar Cloud Monitoring que aparecerá, confirma que esté seleccionada la opción Habilitar Cloud Monitoring.
En el menú desplegable Componentes, selecciona los componentes del plano de control del que deseas recopilar métricas: Servidor de la API, Programador o Administrador de controladores.
Haz clic en OK.
Haz clic en Guardar cambios.
gcloud
Abre una ventana de la terminal con el SDK de Google Cloud y Google Cloud CLI instalada. Una forma de hacerlo es mediante Cloud Shell:
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Pasa uno o más de los valores
API_SERVER
,SCHEDULER
oCONTROLLER_MANAGER
a la marca--monitoring
de los comandosgcloud container clusters create
ogcloud container clusters update
.Por ejemplo, para recopilar métricas del servidor de la API, del programador y del administrador de controladores, ejecuta este comando:
gcloud container clusters update CLUSTER_NAME \ --location=COMPUTE_LOCATION \ --monitoring=SYSTEM,API_SERVER,SCHEDULER,CONTROLLER_MANAGER
Terraform
A fin de configurar la colección de métricas del plano de control de Kubernetes mediante Terraform, consulta el bloque monitoring_config
en el registro de Terraform para google_container_cluster
.
Para obtener información general sobre el uso de Google Cloud con Terraform, consulta Terraform con Google Cloud.
Usa las métricas del plano de control
Consulta Usa métricas del plano de control para obtener lo siguiente:
Información sobre cómo consultar las métricas del plano de control.
Tablas de las métricas del plano de control para el servidor de la API, el programador y el administrador del controlador.
Orientación y prácticas recomendadas para usar las métricas del servidor de la API y las métricas del programador.
Paneles para visualizar las métricas del plano de control disponibles en la pestaña Observabilidad de GKE en la consola de Google Cloud. Para obtener información sobre estos paneles, consulta Visualiza métricas de observabilidad.
Paquete: Kube State Metrics
Puedes configurar un clúster de GKE para enviar un conjunto seleccionado de Kube State Metrics en formato Prometheus a Cloud Monitoring. Este paquete de Kube State Metrics incluye métricas para los Pods, Deployments, StatefulSets, DaemonSets, recursos de HorizontalPodAutoscaler, volúmenes persistentes y reclamaciones de volúmenes persistentes.
Para los clústeres de GKE Standard a partir de la versión 1.29.2-gke.2000 y los clústeres de GKE Autopilot a partir de la versión 1.27.4-gke.900, el paquete de Kube State Metrics está habilitado de forma predeterminada.
Requisitos
Para recopilar Kube State Metrics, tu clúster de GKE debe cumplir con los siguientes requisitos:
- El clúster ejecuta GKE 1.27.2-gke.1200 o una versión posterior.
- La recopilación de métricas del sistema está habilitada.
- El clúster tiene habilitada la recopilación administrada de Google Cloud Managed Service para Prometheus.
Puedes habilitar las métricas del sistema y Google Cloud Managed Service para Prometheus al mismo tiempo que habilitas el paquete de Kube State Metrics. La recopilación administrada de Google Cloud Managed Service para Prometheus está habilitada de forma predeterminada en los clústeres nuevos.
Configura la recopilación de Kube State Metrics
Para habilitar Kube State Metrics en un clúster de GKE existente, sigue estos pasos:
Console
Puedes habilitar las métricas de estado de kube desde la pestaña Observabilidad para un clúster o una implementación dentro de un clúster. También puedes obtener una vista previa de los gráficos y las métricas disponibles antes de habilitar el paquete de métricas.
En la pestaña Observabilidad de un clúster, el conjunto de gráficos de las métricas de estado de kube se divide en dos elementos del menú de filtro:
- Estado de las cargas de trabajo: incluye las métricas de Pods, Deployments, StatefulSets, DaemonSets y recursos de HorizontalPodAutoscaler.
- Almacenamiento > Persistente: Incluye las métricas de volúmenes persistentes y reclamaciones de volúmenes persistentes.
Puedes habilitar uno o ambos conjuntos de métricas.
Para habilitar Kube State Metrics desde la pestaña Observabilidad de un clúster, haz lo siguiente:
-
En la consola de Google Cloud, ve a la página Clústeres de Kubernetes.
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Kubernetes Engine.
Haz clic en el nombre del clúster y, luego, selecciona la pestaña Observabilidad.
Selecciona Estado de las cargas de trabajo o Almacenamiento > Persistente en la lista de funciones.
Haz clic en Habilitar paquete.
Si el paquete de Kube State Metrics ya está habilitado, verás un conjunto de gráficos para Kube State Metrics en su lugar.
Para habilitar Kube State Metrics desde la pestaña Observabilidad de un clúster, haz lo siguiente:
-
En la consola de Google Cloud, ve a la página Cargas de trabajo (Workloads).
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Kubernetes Engine.
Haz clic en el nombre de la implementación y, luego, selecciona la pestaña Observabilidad.
Selecciona Estado de Kube de la lista de atributos.
Haz clic en Habilitar paquete. El paquete está habilitado para todo el clúster.
Si el paquete de métricas de estado de kube ya está habilitado, verás un conjunto de gráficos de métricas de Pods, Deployments y Horizontal Pod Autoscalers.
Para configurar Kube State Metrics desde la pestaña Detalles del clúster, haz lo siguiente:
-
En la consola de Google Cloud, ve a la página Clústeres de Kubernetes.
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Kubernetes Engine.
Haz clic en el nombre del clúster.
En la fila Funciones etiquetada como Cloud Monitoring, haz clic en el ícono Editar.
En el cuadro de diálogo Editar Cloud Monitoring que aparecerá, confirma que esté seleccionada la opción Habilitar Cloud Monitoring.
En el menú desplegable Componentes, selecciona los componentes de estado de kube del que deseas recopilar métricas:
- Volumen persistente (almacenamiento)
- Pods
- Deployment
- StatefulSet
- DaemonSet
- Horizontal Pod Autoscaler
Haz clic en OK.
Haz clic en Guardar cambios.
gcloud
Abre una ventana de la terminal con el SDK de Google Cloud y Google Cloud CLI instalada. Una forma de hacerlo es mediante Cloud Shell:
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Pasa uno o más de los siguientes valores a la marca
--monitoring
de los comandosgcloud container clusters create
ogcloud container clusters update
:DAEMONSET
DEPLOYMENT
HPA
POD
STATEFULSET
STORAGE
: Esta opción incluye métricas para los volúmenes persistentes y las reclamaciones de volúmenes persistentes.
Por ejemplo, para recopilar métricas de Deployments y Pods en un clúster existente, ejecuta el siguiente comando:
gcloud container clusters update CLUSTER_NAME \ --location=COMPUTE_LOCATION \
--enable-managed-prometheus
--monitoring=SYSTEM,DEPLOYMENT,PODEl conjunto de valores proporcionados a la marca
--monitoring
anula cualquier configuración anterior. En el ejemplo anterior, si el clúster se configuró antes para recopilar métricas deDAEMONSET
, el comando de ejemplo desactiva la recopilación de esas métricas.
Terraform
A fin de configurar la colección de Kube State Metrics mediante Terraform, consulta el bloque monitoring_config
en el registro de Terraform para google_container_cluster
.
Para obtener información general sobre el uso de Google Cloud con Terraform, consulta Terraform con Google Cloud.
Usa Kube State Metrics
Consulta Usa Kube State Metrics para ver lo siguiente:
- Información sobre cómo consultar Kube State Metrics.
- Tablas de Kube State Metrics.
Los paneles para visualizar Kube State Metrics están disponibles en la pestaña Observabilidad de GKE en la consola de Google Cloud. Para obtener información sobre estos paneles, consulta Visualiza métricas de observabilidad.
Paquete: Métricas de cAdvisor/Kubelet
Puedes configurar un clúster de GKE para enviar un conjunto seleccionado de métricas de cAdvisor/Kubelet en formato Prometheus a Cloud Monitoring. El conjunto seleccionado de métricas es un subconjunto del gran conjunto de métricas de cAdvisor/Kubelet integradas en cada implementación de Kubernetes de forma predeterminada. El cAdvisor/Kubelet seleccionado está diseñado para proporcionar las métricas más útiles, lo que reduce el volumen de transferencia y los costos asociados.
Requisitos
Para recopilar las métricas de cAdvisor/Kubelet, el clúster de GKE debe cumplir con los siguientes requisitos:
- El clúster ejecuta GKE 1.29.3-gke.1093000 o una versión más reciente.
- La recopilación de métricas del sistema está habilitada.
- El clúster tiene habilitada la recopilación administrada de Google Cloud Managed Service para Prometheus.
La recopilación de métricas del sistema, así como la recopilación administrada de Google Cloud Managed Service para Prometheus, están habilitadas de forma predeterminada cuando creas un clúster que ejecuta 1.29.3-gke.1093000. Puedes habilitar las métricas de cAdvisor y Kubelet cuando creas el clúster.
Si creas un clúster que no recopila métricas del sistema ni usa la recopilación administrada, puedes habilitar las métricas del sistema y Google Cloud Managed Service para Prometheus al mismo tiempo que configuras la recopilación de las métricas de cAdvisor/Kubelet.
Configura la recopilación de métricas de cAdvisor/Kubelet
Para habilitar las métricas de cAdvisor/Kubelet en un clúster de GKE existente, sigue estos pasos:
Console
Para configurar las métricas de cAdvisor/Kubelet desde la pestaña Detalles del clúster, haz lo siguiente:
-
En la consola de Google Cloud, ve a la página Clústeres de Kubernetes.
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Kubernetes Engine.
Haz clic en el nombre del clúster.
En la fila Funciones etiquetada como Cloud Monitoring, haz clic en el ícono Editar.
En el cuadro de diálogo Editar Cloud Monitoring que aparecerá, confirma que esté seleccionada la opción Habilitar Cloud Monitoring.
En el menú desplegable Componentes, selecciona los componentes de cAdvisor/Kubelet del que deseas recopilar métricas:
- cAdvisor
- Kubelet
Haga clic en Aceptar.
Haz clic en Guardar cambios.
gcloud
Abre una ventana de la terminal con el SDK de Google Cloud y Google Cloud CLI instalada. Una forma de hacerlo es mediante Cloud Shell:
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Pasa uno o más de los siguientes valores a la marca
--monitoring
de los comandosgcloud container clusters create
ogcloud container clusters update
:CADVISOR
KUBELET
Por ejemplo, para recopilar solo las métricas de cAdvisor/Kubelet en un clúster existente, ejecuta el siguiente comando:
gcloud container clusters update CLUSTER_NAME \ --location=COMPUTE_LOCATION \
--enable-managed-prometheus
\ --monitoring=SYSTEM,CADVISOR,KUBELETEl conjunto de valores proporcionados a la marca
--monitoring
anula cualquier configuración anterior. En el ejemplo anterior, si el clúster se configuró antes para recopilar métricasDAEMONSET
del paquete de estado de kube, el comando de ejemplo desactiva la recopilación de esas métricas.
Terraform
Para configurar la colección de métricas de cAdvisor/Kubelet mediante Terraform, consulta el bloque monitoring_config
en el registro de Terraform para google_container_cluster
.
Para obtener información general sobre el uso de Google Cloud con Terraform, consulta Terraform con Google Cloud.
Usa las métricas de cAdvisor/Kubelet
Consulta Usa métricas de cAdvisor/Kubelet para obtener lo siguiente:
- Información sobre cómo consultar las métricas de cAdvisor/Kubelet.
- Tablas de las métricas de cAdvisor/Kubelet.
Inhabilita paquetes de métricas
Puedes inhabilitar el uso de paquetes de métricas en el clúster. Se recomienda inhabilitar ciertos paquetes para reducir costos o si usas un mecanismo alternativo a fin de recopilar las métricas, como Google Cloud Managed Service para Prometheus y un exportador.
Console
Para inhabilitar la recopilación de métricas de la pestaña Detalles del clúster, haz lo siguiente:
-
En la consola de Google Cloud, ve a la página Clústeres de Kubernetes.
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Kubernetes Engine.
Haz clic en el nombre del clúster.
En la fila Funciones etiquetada como Cloud Monitoring, haz clic en el ícono Editar.
En el menú desplegable Componentes, borra los componentes de la métrica que deseas inhabilitar.
Haga clic en Aceptar.
Haz clic en Guardar cambios.
gcloud
Abre una ventana de la terminal con el SDK de Google Cloud y Google Cloud CLI instalada. Una forma de hacerlo es mediante Cloud Shell:
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Llama al comando
gcloud container clusters update
y pasa un conjunto actualizado de valores a la marca--monitoring
. El conjunto de valores proporcionados a la marca--monitoring
anula cualquier configuración anterior.Por ejemplo, para desactivar la recopilación de todas las métricas, excepto las métricas del sistema, ejecuta el siguiente comando:
gcloud container clusters update CLUSTER_NAME \ --location=COMPUTE_LOCATION \
--enable-managed-prometheus
\ --monitoring=SYSTEMEste comando inhabilita la recopilación de cualquier paquete de métricas configurado con anterioridad.
Terraform
Para configurar la colección de métricas del sistema mediante Terraform,
consulta el bloque monitoring_config
en el
registro de Terraform para google_container_cluster
.
Para obtener información general sobre el uso de Google Cloud con Terraform, consulta Terraform con Google Cloud.
Precios y cuotas para los paquetes de observabilidad
La información de esta sección se aplica a los siguientes paquetes de observabilidad:
Las métricas del plano de control de GKE y Kube State Metrics usan Google Cloud Managed Service para Prometheus para transferir métricas a Cloud Monitoring. Cloud Monitoring cobra por la transferencia de estas métricas según la cantidad de muestras transferidas. Sin embargo, estas métricas son sin costo para los clústeres registrados que pertenecen a un proyecto que tiene habilitada la edición GKE Enterprise.
Para obtener más información, consulta los Precios de Cloud Monitoring.
Información sobre tu factura de Monitoring
Puedes usar Cloud Monitoring para identificar el plano de control o Kube State Metrics que escriben la mayor cantidad de muestras. Estas métricas son las que más contribuyen a los costos. Después de identificar las métricas más costosas, puedes modificar tu configuración de recopilación para filtrarlas de forma adecuada.
En la página Administración de métricas de Cloud Monitoring, se proporciona información que puede ayudarte a controlar el importe que inviertes en las métricas cobrables sin afectar la observabilidad. En la página Administración de métricas, se informa la siguiente información:
- Los volúmenes de transferencia para la facturación basada en bytes y de muestra, en todos los dominios de métricas y para las métricas individuales.
- Datos sobre etiquetas y cardinalidad de métricas.
- Uso de métricas en políticas de alertas y paneles personalizados.
- Tasa de errores de escritura de métricas.
Para ver la página Administración de métricas, haz lo siguiente:
-
En la consola de Google Cloud, ve a la página
Administración de métricas:Ir a Administración de métricas
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Monitoring.
- En la barra de herramientas, selecciona tu período. De forma predeterminada, la página Administración de métricas muestra información sobre las métricas recopiladas en el día anterior.
Para obtener más información sobre la página Administración de métricas, consulta Visualiza y administra el uso de métricas.
Para identificar qué métricas del plano de control o Kube State Metrics tienen la mayor cantidad de muestras transferidas, haz lo siguiente:
-
En la consola de Google Cloud, ve a la página
Administración de métricas:Ir a Administración de métricas
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Monitoring.
En el cuadro de evaluación Muestras facturables, haz clic en Ver gráficos.
Ubica el gráfico Transferencia de volúmenes de espacio de nombres y haz clic en more_vert Más opciones de gráfico.
En el campo Métrica, verifica que estén seleccionados los recursos y la métrica siguientes:
Metric Ingestion Attribution
ySamples written by attribution id
.En la página Filtros, haz lo siguiente:
En el campo Etiqueta, verifica que el valor sea
attribution_dimension
.En el campo Comparación, verifica que el valor sea
= (equals)
.En el campo Valor, selecciona
cluster
.
Borra la configuración Agrupar por.
De manera opcional, filtra solo ciertas métricas. Por ejemplo, todas las métricas del servidor de la API del plano de control incluyen “apiserver” como parte del nombre de la métrica, y todas las métricas de Pods de estado de kube incluyen “kube_pod” como parte del nombre de la métrica, por lo que puedes filtrar. para las métricas que contienen esas strings:
Haz clic en Agregar filtro.
En el campo Etiqueta, selecciona
metric_type
.En el campo Comparación, selecciona
=~ (equals regex)
.En el campo Valor, ingresa
.*apiserver.*
o.*kube_pod.*
.
De manera opcional, agrupa la cantidad de muestras transferidas por región o proyecto de GKE:
Haz clic en Agrupar por.
Asegúrate de que esté seleccionado metric_type.
Para agrupar por región de GKE, selecciona ubicación.
Para agrupar por proyecto, selecciona project_id.
Haz clic en OK.
De manera opcional, agrupa la cantidad de muestras transferidas por nombre del clúster de GKE:
Haz clic en Agrupar por.
Para agrupar por nombre del clúster de GKE, asegúrate de que estén seleccionados attribution_dimension y attribution_id.
Haz clic en OK.
Para ver el volumen de transferencia de cada una de las métricas, selecciona Ambos en el botón de activación Gráfico de tabla de ambos. En la tabla, se muestra el volumen transferido para cada métrica de la columna Valor.
Haz clic en el encabezado de la columna Valor dos veces para ordenar las métricas por volumen de transferencia descendente.
En estos pasos, se muestran las métricas con la tasa más alta de muestras transferidas a Cloud Monitoring. Dado que las métricas en los paquetes de observabilidad se cobran por la cantidad de muestras transferidas, presta atención a las métricas con la tasa de muestreo más alta.
Cuota
Las métricas del plano de control y las métricas de estado de kube consumen la cuota de “solicitudes de transferencia de series temporales por minuto” de la API de Cloud Monitoring. Antes de habilitar los paquetes de métricas, verifica tu uso máximo reciente de esa cuota. Si tienes muchos clústeres en el mismo proyecto o ya te acercaste al límite de esa cuota, puedes solicitar un aumento del límite de cuota antes de habilitar cualquiera de los paquetes de observabilidad.
Otras métricas
Además de las métricas del sistema y los paquetes de métricas que se describen en este documento, hay métricas de Istio disponibles para clústeres de GKE. Para obtener información sobre los precios, consulta Precios de Cloud Monitoring.