Cette page explique comment envoyer des métriques depuis Config Sync vers Cloud Monitoring.
Config Sync utilise OpenTelemetry pour créer, enregistrer et exporter ses métriques. Cette page explique comment configurer des métriques Cloud Monitoring. Pour découvrir d'autres moyens d'exporter des métriques, consultez la page Surveiller Config Sync avec Prometheus ou Surveiller Config Sync avec une surveillance personnalisée.
La configuration des métriques Cloud Monitoring nécessite une autorisation iam.serviceAccounts.setIamPolicy
sur le projet.
Pour obtenir des exemples sur la façon d'afficher ces métriques, consultez la page Exemples de procédures de débogage.
Vous pouvez afficher ces métriques avec l'explorateur de métriques ou à l'aide de l'API Cloud Monitoring.
Accorder l'autorisation d'écriture des métriques pour Cloud Monitoring
Pour configurer Cloud Monitoring pour Config Sync, vous devez autoriser un compte de service de votre projet à écrire des métriques. L'autorisation nécessaire varie selon que Workload Identity est activé ou non.
Configurer Cloud Monitoring avec Workload Identity
Si Workload Identity est activé, autorisez Config Sync à envoyer des métriques en exécutant la commande suivante :
gcloud projects add-iam-policy-binding PROJECT_ID \
--role=roles/monitoring.metricWriter \
--member="serviceAccount:PROJECT_ID.svc.id.goog[config-management-monitoring/default]"
Remplacez PROJECT_ID
par l'ID de projet du cluster.
Configurer Cloud Monitoring sans Workload Identity
Si Workload Identity n'est pas activé et que Config Sync s'exécute dans un environnement Google Cloud, vous pouvez utiliser le compte de service Compute Engine par défaut. Si les attributions de rôles automatiques d'éditeur (roles/editor
) sont désactivées, attribuez au compte de service le rôle IAM "Rédacteur de métriques Monitoring" (roles/monitoring.metricWriter
) en exécutant la commande suivante :
gcloud projects add-iam-policy-binding PROJECT_ID \
--role=roles/monitoring.metricWriter \
--member=serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com
Remplacez les éléments suivants :
PROJECT_ID
: ID de votre projet.PROJECT_NUMBER
: votre numéro de projet.
Liste par défaut des métriques dans Cloud Monitoring
Nom | Type |
---|---|
api_duration_seconds | Distribution |
apply_duration_seconds | Distribution |
apply_operations_total | Nombre |
declared_resources | Dernière valeur |
internal_errors_total | Nombre |
last_sync_timestamp | Dernière valeur |
pipeline_error_observed | Dernière valeur |
reconciler_errors | Dernière valeur |
resource_fights_total | Nombre |
reconcile_duration_seconds | Distribution |
resource_group_total | Dernière valeur |
resource_count | Dernière valeur |
ready_resource_count | Dernière valeur |
resource_ns_count | Dernière valeur |
cluster_scoped_resource_count | Dernière valeur |
kcc_resource_count | Jauge |
Pour modifier la liste d'autorisation de métriques dans Cloud Monitoring, suivez les instructions pour appliquer un correctif au déploiement du collecteur otel avec ConfigMap.
Exemples de procédures de débogage pour Cloud Monitoring
Les exemples Cloud Monitoring suivants illustrent certains modèles d'utilisation des métriques OpenCensus pour détecter et diagnostiquer les problèmes liés à Config Sync lorsque vous utilisez les API RootSync et RepoSync.
Format de la métrique
Dans Cloud Monitoring, les métriques sont au format suivant : custom.googleapis.com/opencensus/config_sync/METRIC
.
Ce nom de métrique comprend les composants suivants :
custom.googleapis.com
: toutes les métriques personnalisées ont ce préfixeopencensus
: ce préfixe est ajouté, car Config Sync utilise la bibliothèque OpenCensus.config_sync/
: les métriques exportées par Config Sync vers Cloud Monitoring ont ce préfixeMETRIC
: nom de la métrique que vous souhaitez interroger.
Interroger des métriques par rapprochement
Les objets RootSync et RepoSync sont instrumentés avec des métriques de haut niveau qui vous donnent des informations précieuses sur le fonctionnement de Config Sync sur le cluster. La quasi-totalité des métriques sont marquées par le nom du rapprochement. Vous pouvez donc voir si des erreurs se sont produites et configurer des alertes pour Cloud Monitoring.
Un rapprochement est un pod qui est déployé en tant que déploiement. Il synchronise les fichiers manifestes d'une source fiable avec un cluster. Lorsque vous créez un objet RootSync, Config Sync crée un rapprochement appelé root-reconciler-ROOT_SYNC_NAME
ou root-reconciler
si le nom de RootSync est root-sync
. Lorsque vous créez un objet RepoSync, Config Sync crée un rapprochement appelé ns-reconciler-NAMESPACE-REPO_SYNC_NAME-REPO_SYNC_NAME_LENGTH
ou ns-reconciler-NAMESPACE
si le nom de RepoSync est repo-sync
, où NAMESPACE
correspond à l'espace de noms dans lequel vous avez créé votre objet RepoSync.
Le schéma suivant montre comment fonctionnent les pods de rapprochement lorsque la source fiable est un dépôt Git :
Par exemple, pour filtrer par nom de rapprochement lorsque vous utilisez Cloud Monitoring, effectuez les tâches suivantes :
Dans Google Cloud Console, accédez à Monitoring.
Dans le volet de navigation Surveillance, cliquez sur leaderboard Explorateur de métriques.
Dans la liste déroulante Sélectionner une métrique, ajoutez :
custom.googleapis.com/opencensus/config_sync/reconciler_errors
.Dans la liste déroulante Filtre, sélectionnez rapprochement. Une zone de filtre s'affiche.
Dans la zone des champs de filtre, sélectionnez = dans le premier champ et le nom du rapprochement (par exemple,
root-reconciler
) dans le second.Cliquez sur Appliquer.
Vous pouvez maintenant voir les métriques de vos objets RootSync.
Pour en savoir plus sur le filtrage par type de données, consultez la section Filtrer les données.
Interroger les opérations Config Sync par composant et état
Lorsque vous avez activé les API RootSync et RepoSync, l'importation et l'approvisionnement à partir d'une source fiable, ainsi que la synchronisation avec un cluster, sont gérées par les rapprochements.
La métrique reconciler_errors
est libellée par composant, ce qui vous permet de savoir où se sont produites les erreurs.
Par exemple, pour filtrer par composant lorsque vous utilisez Cloud Monitoring, effectuez les tâches suivantes :
Dans Google Cloud Console, accédez à Monitoring :
Dans le volet de navigation Surveillance, cliquez sur leaderboard Explorateur de métriques.
Dans le menu déroulant Sélectionner une métrique, ajoutez
custom.googleapis.com/opencensus/config_sync/reconciler_errors
.Dans la liste déroulante Filtre, sélectionnez composant. Une zone de filtre s'affiche.
Dans la zone des champs de filtre, sélectionnez = dans la première case et source dans la seconde.
Cliquez sur Appliquer.
Vous pouvez désormais voir les erreurs qui se sont produites lorsque vous approvisionnez un compte à partir d'une source fiable.
Vous pouvez également vérifier les métriques des processus source et de synchronisation en interrogeant les métriques suivantes et en filtrant par le tag 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