A página descreve como enviar métricas do Config Sync para o Cloud Monitoring.
O Config Sync usa o OpenTelemetry para criar, registar e exportar as respetivas métricas. Esta página explica como configurar as métricas do Cloud Monitoring.
Recomendamos que use o Cloud Monitoring (esta página) ou o Prometheus para exportar métricas. Também é possível usar métricas personalizadas.
A configuração de métricas do Cloud Monitoring requer a autorização iam.serviceAccounts.setIamPolicy
no projeto.
Para ver exemplos de como ver estas métricas, consulte os
Procedimentos de depuração de exemplo.
Pode ver estas métricas com o
Explorador de métricas ou
usando a API Cloud Monitoring.
Conceda autorização de escrita de métricas para o Cloud Monitoring
Para configurar o Cloud Monitoring para o Config Sync, tem de conceder autorização de escrita de métricas a uma conta de serviço no seu projeto. A autorização necessária depende de a federação de identidade da força de trabalho para o GKE estar ativada.
Configure o Cloud Monitoring com a Workload Identity Federation para o GKE
Se a federação de identidade da carga de trabalho para o GKE estiver ativada, permita que o Config Sync envie métricas executando 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]"
Substitua PROJECT_ID
pelo ID do projeto do cluster.
Configure o Cloud Monitoring sem a Workload Identity Federation para o GKE
Se a Workload Identity Federation para o GKE não estiver ativada e o Config Sync estiver a ser executado num
Google Cloud ambiente, pode usar a conta de serviço predefinida do Compute Engine. Se a sua organização aplicar a restrição da política da organização iam.automaticIamGrantsForDefaultServiceAccounts
, esta conta de serviço pode não receber automaticamente a função de Editor (roles/editor
) no seu projeto. Tem de conceder a função IAM
Monitoring Metric Writer (roles/monitoring.metricWriter
) no projeto à conta de serviço predefinida do Compute Engine executando o seguinte comando:
gcloud projects add-iam-policy-binding PROJECT_ID \
--role=roles/monitoring.metricWriter \
--member=serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com
Substitua o seguinte:
PROJECT_ID
: o ID do seu projeto.PROJECT_NUMBER
: o número do seu projeto.
Lista predefinida de métricas no Cloud Monitoring
Nome | Tipo |
---|---|
api_duration_seconds | Distribuição |
apply_duration_seconds | Distribuição |
apply_operations_total | Contagem |
declared_resources | Último valor |
internal_errors_total | Contagem |
last_sync_timestamp | Último valor |
pipeline_error_observed | Último valor |
reconciler_errors | Último valor |
resource_fights_total | Contagem |
reconcile_duration_seconds | Distribuição |
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 a lista de autorizações de métricas no Cloud Monitoring, siga as instruções para aplicar patch à implementação do coletor otel com o ConfigMap.
Exemplos de procedimentos de depuração para o Cloud Monitoring
Os exemplos do Cloud Monitoring seguintes ilustram alguns padrões de utilização das métricas do OpenCensus para detetar e diagnosticar problemas relacionados com o Config Sync quando usa as APIs RootSync e RepoSync.
Formato da métrica
No Cloud Monitoring, as métricas têm o seguinte formato:
custom.googleapis.com/opencensus/config_sync/METRIC
.
O nome desta métrica é composto pelos seguintes componentes:
custom.googleapis.com
: todas as métricas personalizadas têm este prefixoopencensus
: este prefixo é adicionado porque o Config Sync usa a biblioteca OpenCensusconfig_sync/
: as métricas que o Config Sync exporta para o Cloud Monitoring têm este prefixoMETRIC
: o nome da métrica que quer consultar
Consulte métricas por reconciliador
Os objetos RootSync e RepoSync são instrumentados com métricas de alto nível que lhe dão estatísticas úteis sobre o funcionamento do Config Sync no cluster. Quase todas as métricas são etiquetadas pelo nome do reconciliador, para que possa ver se ocorreram erros e configurar alertas para os mesmos no Cloud Monitoring.
Um reconciliador é um pod implementado como uma implementação. Sincroniza manifestos de uma fonte de informação fidedigna para um cluster. Quando cria um objeto RootSync, o Config Sync cria um reconciliador denominado root-reconciler-ROOT_SYNC_NAME
ou root-reconciler
se o nome do RootSync for root-sync
. Quando cria um objeto RepoSync, o Config Sync cria um reconciliador denominado
ns-reconciler-NAMESPACE-REPO_SYNC_NAME-REPO_SYNC_NAME_LENGTH
ou ns-reconciler-NAMESPACE
se o nome do RepoSync for
repo-sync
, em que NAMESPACE
é o espaço de nomes no qual criou
o objeto RepoSync.
O diagrama seguinte mostra como funcionam os pods de reconciliação quando a fonte de verdade é um repositório Git:
Por exemplo, para filtrar pelo nome do reconciliador quando estiver a usar o Cloud Monitoring, conclua as seguintes tarefas:
Na Google Cloud consola, aceda a Monitorização:
No painel de navegação Monitorização, clique em leaderboard Explorador de métricas.
Na lista pendente Selecionar uma métrica, adicione:
custom.googleapis.com/opencensus/config_sync/reconciler_errors
.Na lista pendente Filtrar, selecione reconciliador. É apresentada uma caixa de campos de filtro.
Na caixa de campos de filtro, selecione = no primeiro campo e o nome do reconciliador (por exemplo,
root-reconciler
) no segundo.Clique em Aplicar.
Agora, pode ver as métricas dos seus objetos RootSync.
Para mais instruções sobre como filtrar por um tipo de dados específico, consulte Filtrar os dados.
Consulte as operações do Config Sync por componente e estado
Quando ativou as APIs RootSync e RepoSync, a importação e o fornecimento
a partir de uma fonte de verdade e a sincronização com um cluster são processados pelos reconciliadores.
A métrica reconciler_errors
é etiquetada por componente para que possa ver onde ocorreram erros.
Por exemplo, para filtrar por componente quando estiver a usar o Cloud Monitoring, conclua as seguintes tarefas:
Na Google Cloud consola, aceda a Monitorização:
No painel de navegação Monitorização, clique em leaderboard Explorador de métricas.
Na lista pendente Selecionar uma métrica, adicione
custom.googleapis.com/opencensus/config_sync/reconciler_errors
.Na lista pendente Filtro, selecione componente. É apresentada uma caixa de campos de filtro.
Na caixa de campos de filtro, selecione = na primeira caixa e source na segunda.
Clique em Aplicar.
Agora, pode ver os erros que ocorreram ao obter dados de uma fonte fidedigna para os seus reconciliadores.
Também pode verificar as métricas dos processos de origem e sincronização consultando as seguintes métricas e filtrando pela 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