Nesta página, descrevemos as métricas do OpenTelemetry disponíveis para monitorar seus recursos do Config Sync.
O Config Sync usa o OpenCensus para criar e registrar métricas e o OpenTelemetry para exportá-las para o Prometheus e o Cloud Monitoring. É possível exportar as métricas do OpenTelemetry para outro sistema de monitoramento. Os guias a seguir explicam como exportar métricas:
Métricas do OpenTelemetry
O Config Sync e o Controlador de Grupos de Recursos coletam as seguintes métricas com o OpenCensus e as disponibilizam por meio do coletor do OpenTelemetry. A coluna Tags lista as tags específicas do Config Sync aplicáveis a cada métrica. As métricas com tags representam várias medidas, uma para cada combinação de valores de tag.
Métricas do Config Sync
Nome | Tipo | Tags | Descrição |
---|---|---|---|
api_duration_seconds | Distribuição | operação, status | A distribuição de latência das chamadas do servidor de API. |
apply_duration_seconds | Distribuição | status | A distribuição de latência da aplicação de recursos declarados da fonte da verdade para um cluster. |
apply_operations_total | Contar | operation, status, controller | O número total de operações realizadas para sincronizar recursos da fonte da verdade com um cluster. |
declared_resources | Último valor | O número de recursos declarados analisados do Git. | |
internal_errors_total | Contagem | source | O número total de erros internos encontrados pelo Config Sync É possível que a métrica não apareça nos resultados da consulta se nenhum erro interno tiver ocorrido. |
last_sync_timestamp | Último valor | status | O carimbo de data/hora da sincronização mais recente do Git. |
parser_duration_seconds | Distribuição | status, trigger, source | A distribuição de latência de diferentes estágios envolvidos na sincronização da fonte da verdade com um cluster. |
pipeline_error_observed | Último valor | nome, reconciliador, componente | O status dos recursos personalizados RootSync e RepoSync. Um valor de 1 indica uma falha. |
reconcile_duration_seconds | Distribuição | status | A distribuição de latência de eventos de reconciliação manipulados pelo gerenciador de reconciliação. |
reconciler_errors | Último valor | component, errorclass | O número de erros encontrados ao sincronizar os recursos da fonte da verdade com um cluster. |
remediate_duration_seconds | Distribuição | status | A distribuição de latência de eventos de reconciliação do remediador. |
resource_conflicts_total | Contar | O número total de conflitos de recursos resultantes de uma incompatibilidade entre os recursos em cache e os recursos de cluster. A métrica pode não aparecer nos resultados da consulta se não tiver ocorrido nenhum conflito de recursos. | |
resource_fights_total | Contagem | O número total de recursos que estão sendo sincronizados com muita frequência. Qualquer resultado maior que zero indica um problema. Para mais informações, consulte KNV2005: ResourceFackWarning. A métrica pode não aparecer nos resultados da consulta se não tiver ocorrido nenhuma disputa de recursos. |
Métricas do controlador de grupo de recursos
O controlador de grupo de recursos é um componente do Config Sync que monitora os recursos gerenciados e verifica se cada recurso individual está pronto ou reconciliado. As seguintes métricas estão disponíveis.
Nome | Tipo | Tags | Descrição |
---|---|---|---|
rg_reconcile_duration_seconds | Distribuição | parada | A distribuição do tempo necessário para reconciliar uma resposta automática do ResourceGroup |
resource_group_total | Último valor | O número atual de CRs de ResourceGroup | |
resource_count | Último valor | resourcegroup | O número total de recursos rastreados por um ResourceGroup |
ready_resource_count | Último valor | resourcegroup | O número total de recursos prontos em um ResourceGroup |
resource_ns_count | Último valor | resourcegroup | O número de namespaces usados por recursos em um ResourceGroup |
cluster_scoped_resource_count | Último valor | resourcegroup | O número de recursos com escopo de cluster em um ResourceGroup |
crd_count | Último valor | resourcegroup | O número de CRDs em um ResourceGroup |
kcc_resource_count | Último valor | resourcegroup | O número total de recursos KCC em um ResourceGroup |
pipeline_error_observed | Último valor | nome, reconciliador, componente | O status dos recursos personalizados RootSync e RepoSync. Um valor de 1 indica uma falha. |
Rótulos de métricas do Config Sync
É possível usar identificadores de métricas para agregar dados de métricas no Cloud Monitoring e no Prometheus. É possível selecioná-las no menu suspenso "Agrupar por" no console do Monitoring.
Para mais informações sobre os identificadores do Cloud Monitoring e os identificadores de métricas do Prometheus, consulte Componentes do modelo de métrica e Modelo de dados do Prometheus.
Rótulos de métrica
Os rótulos a seguir são usados pelas métricas do Config Sync e do controlador de grupos de recursos, disponíveis durante o monitoramento com o Cloud Monitoring e o Prometheus.
Nome | Valores | Descrição |
---|---|---|
operation |
criar, patch, atualizar, excluir | O tipo de operação realizada |
status |
sucesso, erro | O status de execução de uma operação |
reconciler |
rootsync, reposync | Tipo de reconciliador |
source |
Analisar, diferenciar, remediar | A origem do erro interno |
trigger |
tentar novamente, watchUpdate, managementConflict, sincronizar novamente, importar novamente | Acionador de um evento de reconciliação |
name |
Nome do reconciliador | O nome do reconciliador |
component |
análise, origem, sincronização, renderização, prontidão | Nome do componente/estágio atual da reconciliação |
container |
reconciliador, git-sync | O nome do contêiner |
resource |
CPU, memória | O tipo de recurso; |
controller |
aplicador, remediador | O nome do controlador em uma reconciliação ou namespace raiz |
type |
Qualquer recurso do Kubernetes, por exemplo, ClusterRole, Namespace, NetworkPolicy, Role e assim por diante. | O tipo de API Kubernetes |
commit |
---- | O hash do commit sincronizado mais recente |
Rótulos de recursos
As métricas do Config Sync enviadas ao Prometheus e ao Cloud Monitoring têm os seguintes identificadores de métricas definidos para identificar o pod de origem:
Nome | Descrição |
---|---|
k8s.node.name |
O nome do nó que hospeda um pod do Kubernetes |
k8s.pod.namespace |
O namespace do pod |
k8s.pod.uid |
O UID do pod |
k8s.pod.ip |
O IP do pod |
k8s.deployment.name |
O nome da implantação proprietária do pod |
As métricas do Config Sync enviadas ao Prometheus e ao Cloud Monitoring pelos pods reconciler
também têm os
seguintes identificadores de métricas definidos para identificar o RootSync ou o RepoSync usados para configurar
o reconciliador:
Nome | Descrição |
---|---|
configsync.sync.kind |
O tipo de recurso que configura este reconciliador: RootSync ou RepoSync |
configsync.sync.name |
O nome do RootSync ou RepoSync que configura este reconciliador |
configsync.sync.namespace |
O namespace do RootSync ou RepoSync que configura esse reconciliador. |
Identificadores de recursos do Cloud Monitoring
Os identificadores de recursos do Cloud Monitoring são usados para indexar métricas no armazenamento. Isso significa que eles têm um efeito insignificante na cardinalidade, ao contrário dos identificadores de métricas, em que a cardinalidade é uma questão de desempenho importante. Consulte Tipos de recursos monitorados para mais informações.
O tipo de recurso k8s_container
define os seguintes rótulos de recursos para identificar o contêiner de origem:
Nome | Descrição |
---|---|
container_name |
O nome do contêiner |
pod_name |
O nome do pod |
namespace_name |
O namespace do pod |
location |
A região ou a zona do cluster que hospeda o nó |
cluster_name |
O nome do cluster que hospeda o nó |
project |
O ID do projeto que hospeda o cluster |
Compreender a métrica pipeline_error_observed
A métrica pipeline_error_observed
é uma métrica que pode ajudar a identificar rapidamente
as respostas automáticas do RepoSync ou RootSync que não estão sincronizadas ou contêm recursos que não são
reconciliados para o estado desejado.
Para uma sincronização bem-sucedida por um RootSync ou RepoSync, as métricas com todos os componentes (
rendering
,source
,sync
ereadiness
) são observadas com o valor 0.Quando a confirmação mais recente falha na renderização automática, a métrica com o componente
rendering
é observada com o valor 1.Ao verificar que a ocorrência do erro mais recente ou a confirmação mais recente contém uma configuração inválida, a métrica com o componente
source
é observada com o valor 1.Quando algum recurso não é aplicado ao cluster, a métrica com o componente
sync
é observada com o valor 1.Quando um recurso é aplicado, mas não atinge o estado desejado, a métrica com o componente
readiness
é observada com o valor 1. Por exemplo, uma implantação é aplicada ao cluster, mas os pods correspondentes não são criados.
A seguir
- Saiba mais sobre como monitorar objetos RootSync e RepoSync.
- Saiba como usar os SLIs do Config Sync.