Supervisa Config Connector con Prometheus
Puedes usar Prometheus para recopilar y mostrar métricas desde Config Connector.
Antes de comenzar
Para completar los pasos de esta página, debes instalar Prometheus en tu clúster. Para ello, tienes las siguientes opciones:
Mediante el Operador Prometheus proporcionado por CoreOS, o
Sigue la documentación de Prometheus para configurar el clúster para la recopilación.
Copia métricas
Prometheus recopila métricas mediante la copia de un extremo HTTP. En esta sección, se describen extremos de copia de Config Connector y la configuración de Prometheus.
Extremos de copia de Config Connector
En Config Connector, los extremos del servicio están en el puerto 8888 en cnrm-controller-manager-service
y cnrm-resource-stats-recorder-service
.
Estos servicios tienen las anotaciones prometheus.io/scrape: "true"
y prometheus.io/port: "8888"
. Los servicios también incluyen las etiquetas cnrm.cloud.google.com/monitored: "true"
y cnrm.cloud.google.com/system: "true"
. Debes configurar Prometheus para recopilar los componentes de Config Connector de estas anotaciones y etiquetas.
Configura a Prometeo
Antes de recopilar métricas, es posible que debas configurar Prometheus para Descubrimiento de servicios de Kubernetes (SD) para descubrir objetivos de recopilación de la API de REST de Kubernetes.
La forma en que configuras Prometheus para borrar las métricas de Config Connector depende de cómo instalaste Prometheus. Consulta la documentación de la instalación de Prometheus para saber cómo actualizar la configuración.
Por ejemplo, si está usando el operador Prometheus y lo configuras con ServiceMonitor, puedes aplicar la siguiente configuración para borrar las métricas de Config Connector.
spec:
endpoints:
- interval: 10s
port: metrics
namespaceSelector:
matchNames:
- cnrm-system
selector:
matchLabels:
cnrm.cloud.google.com/monitored: "true"
cnrm.cloud.google.com/system: "true"
Para obtener más información sobre la configuración de ServiceMonitor, consulta Primeros pasos en la documentación del operador de Prometheus.
Consultas de ejemplo
Prometheus usa un lenguaje de consulta llamado PromQL. Esta sección contiene consultas de PromQL de ejemplo para las métricas de Config Connector. Puedes configurar Prometheus para que genere alertas de cualquier consulta válida de PromQL.
Consulta solicitudes conciliadas por tipo de recurso y estado
Puedes ver el recuento de solicitudes de conciliación fallidas por tipo de recurso y estado.
Por ejemplo, para verificar el recuento total de errores para los recursos PubSubTopic
, usa la siguiente consulta.
configconnector_reconcile_requests_total{group_version_kind="PubSubTopic.pubsub.cnrm.cloud.google.com", status="ERROR"}
Verifica el estado agregado de los recursos por tipo y espacio de nombres
Puedes ver el recuento de recursos que se encuentran en un espacio de nombres.
Por ejemplo, para verificar el recuento total de recursos PubSubTopic
en el espacio de nombres default
, usa la siguiente consulta.
configconnector_applied_resources_total{group_version_kind="PubSubTopic.pubsub.cnrm.cloud.google.com", Namespace="default"}
Consulta el uso de trabajadores conciliados por tipo de recurso
(configconnector_reconcile_occupied_workers_total / configconnector_reconcile_workers_total)
Métricas disponibles
Config Connector recopila las siguientes métricas y las pone a disposición.
Name | Tipo | Etiquetas | Descripción |
---|---|---|---|
configconnector_reconcile_requests_total | Counter | Espacio de nombres group_version_kind estado |
La cantidad total de solicitudes de conciliación. |
configconnector_reconcile_request_duration_seconds | Histograma | Espacio de nombres group_version_kind estado |
Distribuciones de tiempo para completar las solicitudes de conciliación. |
configconnector_applied_resources_total | Gauge | Espacio de nombres group_version_kind estado |
El número total de recursos bajo administración. |
configconnector_build_info | Gauge | version | Versión actual de Config Connector. |
configconnector_reconcile_workers_total | Gauge | group_version_kind | La cantidad total de trabajadores conciliados que se agregaron por tipo de recurso. |
configconnector_reconcile_occupied_workers_total | Gauge | group_version_kind | La cantidad total de trabajadores de conciliación ocupados que se agregaron por tipo de recurso. |
Habilita etiquetas de nombre de recurso
De forma predeterminada, las métricas se agregan en el tipo de recurso (por ejemplo, PubSubTopic). Puedes habilitar las métricas que se agregaran por recursos individuales.
Para habilitar la agregación por nombre de recurso, realiza los siguientes pasos.
Edita el objeto
cnrm-controller-manager
de StatefulSetkubectl edit statefulset cnrm-controller-manager -n cnrm-system
Si utilizas Modo de espacio de nombres Reemplaza
NAMESPACE_NAME
por tu espacio de nombres.kubectl edit statefulset cnrm-controller-manager -n NAMESPACE_NAME
Encuentra el arreglo
spec.args
y agrega--resource-name-label=true
.apiVersion: apps/v1 kind: StatefulSet name: cnrm-controller-manager spec: template: spec: containers: - name: manager args: - --resource-name-label=true
¿Qué sigue?
Para obtener más información sobre la escritura de consultas, lee el documento de Prometheus Documentación del lenguaje de consulta y Ejemplos