Supervisa el Sincronizador de configuración con Cloud Monitoring
En esta página, se describe cómo enviar métricas del Sincronizador de configuración a Cloud Monitoring.
El Sincronizador de configuración usa OpenTelemetry para crear, registrar y exportar sus métricas. En esta página, se explica cómo configurar las métricas de Cloud Monitoring. Para conocer otras formas de exportar métricas, consulta Supervisa el Sincronizador de configuración con Prometheus o Supervisa el Sincronizador de configuración con supervisión personalizada.
Para configurar las métricas de Cloud Monitoring, se requiere el permiso iam.serviceAccounts.setIamPolicy
en el proyecto.
Si deseas obtener ejemplos sobre cómo ver estas métricas, consulta Ejemplos de procedimientos de depuración y el artículo Métricas de OpenCensus en Cloud Monitoring.
Otorga permisos de escritura de métricas para Cloud Monitoring
Si deseas configurar Cloud Monitoring para el Sincronizador de configuración, debes otorgar permiso de escritura de métricas a una cuenta de servicio en tu proyecto. El permiso necesario depende de si Workload Identity está habilitado.
Configura Cloud Monitoring con Workload Identity
Si Workload Identity está habilitado, permite que el Sincronizador de configuración envíe métricas mediante la ejecución de este comando:
gcloud projects add-iam-policy-binding PROJECT_ID \
--role=roles/monitoring.metricWriter \
--member="serviceAccount:PROJECT_ID.svc.id.goog[config-management-monitoring/default]"
Reemplaza PROJECT_ID
por el ID del proyecto del clúster.
Configura Cloud Monitoring sin Workload Identity
Si Workload Identity no está habilitada y el Sincronizador de configuración se ejecuta dentro de un entorno de Google Cloud, puedes usar la cuenta de servicio predeterminada de Compute Engine. Si las asignaciones automáticas de la función de editor (roles/editor
) están inhabilitadas, otorga a la cuenta de servicio la función de IAM de escritor de métricas de Monitoring (roles/monitoring.metricWriter
) mediante la ejecución del siguiente comando:
gcloud projects add-iam-policy-binding PROJECT_ID \
--role=roles/monitoring.metricWriter \
--member=serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com
Reemplaza lo siguiente:
PROJECT_ID
: Es el ID de tu proyecto.PROJECT_NUMBER
: Es el número de tu proyecto.
Lista predeterminada de métricas en Cloud Monitoring
Nombre | Tipo |
---|---|
api_duration_seconds | Distribución |
apply_duration_seconds | Distribución |
apply_operations_total | Recuento |
declared_resources | Último valor |
internal_errors_total | Recuento |
last_sync_timestamp | Último valor |
pipeline_error_observed | Último valor |
reconciler_errors | Último valor |
resource_fights_total | Recuento |
reconcile_duration_seconds | Distribución |
resource_group_total | Último valor |
resource_count | Último valor |
ready_resource_count | Último valor |
resource_ns_count | Último valor |
cluster_scoped_resource_count | Último valor |
kcc_resource_count | Medidor |
Si quieres modificar la lista de métricas permitidas en Cloud Monitoring, sigue las instrucciones para parchar la implementación del recopilador de otel con ConfigMap.
Procedimientos de depuración de ejemplo para Cloud Monitoring
En los siguientes ejemplos de Cloud Monitoring, se ilustran algunos patrones para usar métricas de OpenCensus a fin de detectar y diagnosticar problemas relacionados con el Sincronizador de configuración cuando usas las API de RootSync y RepoSync.
Formato de métrica
En Cloud Monitoring, las métricas tienen el siguiente formato: custom.googleapis.com/opencensus/config_sync/METRIC
.
Este nombre de métrica tiene los siguientes componentes:
custom.googleapis.com
: todas las métricas personalizadas tienen este prefijoopencensus
: este prefijo se agrega porque el Sincronizador de configuración usa la biblioteca de OpenCensusconfig_sync/
: Las métricas que exporta el Sincronizador de configuración a Cloud Monitoring tienen este prefijo.METRIC
: el nombre de la métrica que deseas consultar
Consulta métricas por conciliador
Los objetos RootSync y RepoSync están equipados con métricas de alto nivel que te brindan estadísticas útiles sobre cómo funciona el Sincronizador de configuración en el clúster. Casi todas las métricas están etiquetadas por el nombre del conciliador. Por lo tanto, puedes ver si se produjeron errores y configurar alertas para ellas en Cloud Monitoring.
Un conciliador es un Pod que se implementa como una implementación. Sincroniza manifiestos de una fuente de información con un clúster. Cuando creas un objeto RootSync, el Sincronizador de configuración crea un conciliador llamado root-reconciler-ROOT_SYNC_NAME
o root-reconciler
si el nombre de RootSync es root-sync
. Cuando creas un objeto RepoSync, el Sincronizador de configuración crea un conciliador llamado ns-reconciler-NAMESPACE-REPO_SYNC_NAME-REPO_SYNC_NAME_LENGTH
o ns-reconciler-NAMESPACE
si el nombre de RepoSync es repo-sync
, en el que NAMESPACE
es el espacio de nombres en el que creaste el objeto RepoSync.
En el siguiente diagrama, se muestra cómo funcionan los Pods del conciliador cuando la fuente de confianza es un repositorio de Git:
Por ejemplo, para filtrar por nombre de conciliador cuando usas Cloud Monitoring, completa las siguientes tareas:
En la consola de Google Cloud, ve a Monitoring.
En el panel de navegación de Monitoring, haz clic en el leaderboard explorador de métricas del Explorador de métricas.
En la lista desplegable Seleccionar una métrica, agrega
custom.googleapis.com/opencensus/config_sync/reconciler_errors
.En la lista desplegable Filtro, selecciona reconciliador. Aparecerá un cuadro de campos de filtro.
En el cuadro de campos de filtro, selecciona = en el primer campo y el nombre del conciliador (por ejemplo,
root-reconciler
) en el segundo.Haz clic en Aplicar.
Ahora podrás ver las métricas de tus objetos RootSync.
Para obtener más instrucciones sobre cómo realizar un filtro por un tipo de datos específico, consulta Filtra los datos.
Consulta las operaciones del Sincronizador de configuración por componente y estado
Cuando habilitas las APIs de RootSync y RepoSync, los conciliadores se encargan de la importación y la obtención de una fuente de información y la sincronización con un clúster.
La métrica reconciler_errors
está etiquetada por componente para que puedas ver dónde se produjeron los errores.
Por ejemplo, para filtrar por componente cuando usas Cloud Monitoring, completa las siguientes tareas:
En la consola de Google Cloud, ve a Monitoring.
En el panel de navegación de Monitoring, haz clic en el leaderboard explorador de métricas del Explorador de métricas.
En la lista desplegable Seleccionar una métrica, agrega
custom.googleapis.com/opencensus/config_sync/reconciler_errors
.En la lista desplegable Filtro, selecciona componente. Aparecerá un cuadro de campos de filtro.
En el cuadro de campos de filtro, selecciona = en el primer cuadro y source en el segundo.
Haz clic en Aplicar.
Ahora puedes ver los errores que se produjeron cuando obtuviste una fuente de información para tus conciliadores.
También puedes verificar las métricas de los procesos de origen y sincronización consultando las siguientes métricas y filtrándolas por la etiqueta status
:
custom.googleapis.com/opencensus/config_sync/parser_duration_seconds
custom.googleapis.com/opencensus/config_sync/apply_duration_seconds
custom.googleapis.com/opencensus/config_sync/remediate_duration_seconds