En esta página se describe cómo enviar métricas de Config Sync a Cloud Monitoring.
Config Sync 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.
Te recomendamos que uses Cloud Monitoring (esta página) o Prometheus para exportar métricas. También se pueden usar métricas personalizadas.
Para configurar las métricas de Cloud Monitoring, se necesita el permiso iam.serviceAccounts.setIamPolicy
en el proyecto.
Para ver ejemplos de cómo consultar estas métricas, consulta Ejemplos de procedimientos de depuración.
Puedes ver estas métricas con el explorador de métricas o mediante la API Cloud Monitoring.
Conceder permiso de escritura de métricas para Cloud Monitoring
Para configurar Cloud Monitoring en Config Sync, debes conceder permiso de escritura de métricas a una cuenta de servicio de tu proyecto. El permiso necesario depende de si Workload Identity Federation para GKE está habilitado.
Configurar Cloud Monitoring con Workload Identity Federation para GKE
Si Workload Identity Federation for GKE está habilitado, permite que Config Sync envíe métricas ejecutando 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]"
Sustituye PROJECT_ID
por el ID del proyecto del clúster.
Configurar Cloud Monitoring sin Workload Identity Federation para GKE
Si Workload Identity Federation para GKE no está habilitado y Config Sync se ejecuta en unGoogle Cloud entorno, puedes usar la cuenta de servicio predeterminada de Compute Engine. Si tu organización aplica la restricción de la política de organización iam.automaticIamGrantsForDefaultServiceAccounts
, es posible que no se conceda automáticamente a esta cuenta de servicio el rol Editor (roles/editor
) en tu proyecto. Debes asignar el rol de gestión de identidades y accesos Escritor de métricas de Monitoring (roles/monitoring.metricWriter
) a la cuenta de servicio predeterminada de Compute Engine del proyecto ejecutando el siguiente comando:
gcloud projects add-iam-policy-binding PROJECT_ID \
--role=roles/monitoring.metricWriter \
--member=serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com
Haz los cambios siguientes:
PROJECT_ID
: tu ID de proyecto.PROJECT_NUMBER
: tu número de proyecto.
Lista predeterminada de métricas de 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 | Indicador |
Para modificar la lista de permitidos de métricas en Cloud Monitoring, sigue las instrucciones para aplicar un parche a la implementación del recolector de OpenTelemetry con ConfigMap.
Ejemplos de procedimientos de depuración de Cloud Monitoring
Los siguientes ejemplos de Cloud Monitoring ilustran algunos patrones para usar métricas de OpenCensus con el fin de detectar y diagnosticar problemas relacionados con Config Sync cuando se usan las APIs RootSync y RepoSync.
Formato de la métrica
En Cloud Monitoring, las métricas tienen el siguiente formato: custom.googleapis.com/opencensus/config_sync/METRIC
.
El nombre de esta métrica se compone de los siguientes elementos:
custom.googleapis.com
: todas las métricas personalizadas tienen este prefijoopencensus
: este prefijo se añade porque Config Sync usa la biblioteca OpenCensus.config_sync/
: métricas que Config Sync exporta a Cloud Monitoring tienen este prefijoMETRIC
: el nombre de la métrica que quieres consultar
Consultar métricas por conciliador
Los objetos RootSync y RepoSync se instrumentan con métricas de alto nivel que te proporcionan información valiosa sobre cómo funciona Config Sync en el clúster. Casi todas las métricas se etiquetan con el nombre del reconciliador, por lo que puedes ver si se ha producido algún error y configurar alertas para ellos en Cloud Monitoring.
Un reconciliador es un pod que se implementa como un Deployment. Sincroniza manifiestos de una fuente de información veraz con un clúster. Cuando creas un objeto RootSync, Config Sync crea un reconciliador llamado root-reconciler-ROOT_SYNC_NAME
o root-reconciler
si el nombre de RootSync es root-sync
. Cuando creas un objeto RepoSync, Config Sync crea un reconciliador llamado ns-reconciler-NAMESPACE-REPO_SYNC_NAME-REPO_SYNC_NAME_LENGTH
o ns-reconciler-NAMESPACE
si el nombre de RepoSync es repo-sync
, donde NAMESPACE
es el espacio de nombres en el que has creado el objeto RepoSync.
En el siguiente diagrama se muestra cómo funcionan los pods de reconciliación cuando la fuente de información principal es un repositorio de Git:
Por ejemplo, para filtrar por el nombre del reconciliador cuando usas Cloud Monitoring, completa las siguientes tareas:
En la Google Cloud consola, ve a Monitoring:
En el panel de navegación Monitoring, haga clic en leaderboard Explorador de métricas.
En la lista desplegable Seleccionar una métrica, añada
custom.googleapis.com/opencensus/config_sync/reconciler_errors
.En la lista desplegable Filter (Filtro), selecciona reconciler (Conciliador). Aparecerá un cuadro de campos de filtro.
En el cuadro de campos de filtro, selecciona = en el primer campo y el nombre del reconciliador (por ejemplo,
root-reconciler
) en el segundo.Haz clic en Aplicar.
Ahora puede ver las métricas de sus objetos RootSync.
Para obtener más instrucciones sobre cómo filtrar por un tipo de datos específico, consulta Filtrar los datos.
Consultar operaciones de Config Sync por componente y estado
Cuando hayas habilitado las APIs RootSync y RepoSync, los reconciliadores se encargarán de importar y obtener datos de una fuente de información fiable, así como de sincronizarlos con un clúster.
La métrica reconciler_errors
se etiqueta por componente para que puedas ver dónde se han producido los errores.
Por ejemplo, para filtrar por componente cuando usas Cloud Monitoring, completa las siguientes tareas:
En la Google Cloud consola, ve a Monitoring:
En el panel de navegación Monitoring, haga clic en leaderboard Explorador de métricas.
En la lista desplegable Selecciona una métrica, añade
custom.googleapis.com/opencensus/config_sync/reconciler_errors
.En la lista desplegable Filtrar, 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 puede ver los errores que se han producido al obtener datos de una fuente fiable para sus conciliadores.
También puede consultar las métricas de los procesos de origen y sincronización. Para ello, consulte las siguientes métricas y filtre 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