Nesta página, descrevemos como enviar métricas do Config Sync para o Cloud Monitoring.
O Config Sync usa o OpenTelemetry para criar, registrar e exportar as métricas. Nesta página, explicamos como configurar as métricas do Cloud Monitoring. Para outras maneiras de exportar métricas, consulte Monitorar o Config Sync com o Prometheus ou Monitorar o Config Sync com o monitoramento personalizado.
A configuração de métricas do Cloud Monitoring requer
a permissão iam.serviceAccounts.setIamPolicy
no projeto.
Para exemplos de como visualizar essas métricas, consulte
Exemplos de procedimentos de depuração
É possível visualizar essas métricas
Metrics Explorer ou por
usando a API Cloud Monitoring.
Conceder permissão de gravação de métricas para o Cloud Monitoring
Para configurar o Cloud Monitoring para o Config Sync, é necessário conceder permissão de gravação de métricas a uma conta de serviço no projeto. A permissão necessária depende da ativação da Identidade da carga de trabalho.
Configurar o Cloud Monitoring com a Identidade da carga de trabalho
Se a Identidade da carga de trabalho 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.
Configurar o Cloud Monitoring sem a Identidade da carga de trabalho
Se a Identidade da carga de trabalho não estiver ativada e o Config Sync estiver em execução em um
ambiente do Google Cloud, será possível usar a conta de serviço padrão do
Compute Engine. Se as concessões do papel de Editor automático (roles/editor
) estiverem desativadas, conceda à conta de serviço o papel do IAM de Gravador de métricas do Monitoring (roles/monitoring.metricWriter
) 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:
PROJECT_ID
: o ID do projeto.PROJECT_NUMBER
: o número do projeto.
Lista padrão 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 | Medidor |
Para modificar a lista de permissões de métricas no Cloud Monitoring, siga as instruções para corrigir a implantação do coletor de Otel com o ConfigMap.
Exemplo de procedimentos de depuração para o Cloud Monitoring
Os exemplos do Cloud Monitoring a seguir ilustram alguns padrões para usar as métricas do OpenCensus para detectar e diagnosticar problemas relacionados ao Config Sync, quando você está usando 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
.
Esse nome de métrica é composto dos seguintes componentes:
custom.googleapis.com
: todas as métricas personalizadas têm este prefixoopencensus
: esse prefixo é adicionado porque o Config Sync usa a biblioteca do OpenCensus.config_sync/
: as métricas que o Config Sync exporta para o Cloud Monitoring têm esse prefixo.METRIC
: o nome da métrica que você quer consultar
Consultar métricas por reconciliador
Objetos do RootSync e RepoSync são instrumentados com métricas de alto nível que fornecem insights úteis sobre como o Config Sync está operando no cluster. Quase todas as métricas são marcadas com tag pelo nome do reconciliador. Assim, você vê se ocorreu algum erro e pode configurar alertas para ele no Cloud Monitoring.
Um reconciliador é um pod implantado como uma implantação. Ele sincroniza manifestos de uma
fonte de informações com um cluster. Quando você cria um objeto RootSync, o Config Sync cria um reconciliador chamado root-reconciler-ROOT_SYNC_NAME
ou
root-reconciler
se o nome do RootSync for root-sync
. Quando você cria um
objeto RepoSync, o Config Sync cria um reconciliador chamado
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 namespace em que você criou
o objeto do RepoSync.
O diagrama a seguir mostra como os pods reconciliadores funcionam quando a fonte de verdade é um repositório Git:
Por exemplo, para filtrar pelo nome do validador, quando estiver usando o Cloud Monitoring, conclua as seguintes tarefas:
No Console do Google Cloud, acesse o Monitoring:
No painel de navegação do Monitoring, clique emleaderboard Metrics explorer.
Na lista suspensa Selecione uma métrica, adicione:
custom.googleapis.com/opencensus/config_sync/reconciler_errors
.Na lista suspensa Filtro, selecione reconciler. Uma caixa de campos de filtro é exibida.
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 você pode ver as métricas dos seus objetos RootSync.
Para mais instruções sobre como filtrar por um tipo de dado específico, consulte Como filtrar os dados.
Consultar operações do Config Sync por componente e status
Quando você ativa as APIs RootSync e RepoSync, a importação e o fornecimento
de uma fonte de informações e a sincronização com um cluster são operados pelos reconciliadores.
A métrica reconciler_errors
é identificada pelo componente
para que você possa ver onde ocorreram erros.
Por exemplo, para filtrar por componente ao usar o Cloud Monitoring, conclua as seguintes tarefas:
No Console do Google Cloud, acesse o Monitoring:
No painel de navegação do Monitoring, clique emleaderboard Metrics explorer.
Na lista suspensa Selecione uma métrica, adicione:
custom.googleapis.com/opencensus/config_sync/reconciler_errors
.Na lista suspensa Filtro, selecione componente. Uma caixa de campos de filtro é exibida.
Na caixa de campos de filtro, selecione = na primeira caixa e origem na segunda.
Clique em Aplicar.
Agora é possível ver os erros que ocorreram ao buscar uma fonte de informações para seus reconciliadores.
Também é possível verificar as métricas dos processos de origem e sincronização consultando as seguintes métricas e filtrando pela 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