Monitorizar o Config Connector com o Prometheus
Pode usar o Prometheus para recolher e mostrar métricas do Config Connector.
Antes de começar
Para concluir os passos nesta página, tem de instalar o Prometheus no seu cluster. Pode fazê-lo:
Usando o Prometheus Operator fornecido pela CoreOS ou
Seguindo a documentação do Prometheus para configurar o cluster para extração de dados.
Métricas de extração
O Prometheus recolhe métricas através da extração de um ponto final de HTTP. Esta secção descreve os pontos finais de recolha do Config Connector e a configuração do Prometheus.
Configurar pontos finais de extração do Config Connector
Para o Config Connector, os pontos finais do serviço estão na porta 8888 em
cnrm-controller-manager-service
e cnrm-resource-stats-recorder-service
.
Estes serviços têm as anotações prometheus.io/scrape: "true"
e prometheus.io/port: "8888"
. Os serviços também incluem as etiquetas
cnrm.cloud.google.com/monitored: "true"
e
cnrm.cloud.google.com/system: "true"
. Configura o Prometheus para extrair componentes do Config Connector destas anotações e etiquetas.
Configurar o Prometheus
Antes de poder extrair métricas, pode ter de configurar o Prometheus para a deteção de serviços (SD) do Kubernetes para descobrir alvos de extração da API REST do Kubernetes.
A forma como configura o Prometheus para extrair métricas do Config Connector depende de como instalou o Prometheus. Consulte a documentação da sua instalação do Prometheus para saber como atualizar a configuração.
Por exemplo, se estiver a usar o operador Prometheus e o configurar com o ServiceMonitor, pode aplicar a seguinte configuração para extrair métricas do Config Connector.
spec:
endpoints:
- interval: 10s
port: metrics
namespaceSelector:
matchNames:
- cnrm-system
selector:
matchLabels:
cnrm.cloud.google.com/monitored: "true"
cnrm.cloud.google.com/system: "true"
Consultas de exemplo
O Prometheus usa uma linguagem de consulta denominada PromQL. Esta secção contém exemplos de consultas PromQL para as métricas do Config Connector. Pode configurar o Prometheus para gerar alertas a partir de qualquer consulta PromQL válida.
Consulte pedidos de conciliação por tipo de recurso e estado
Pode ver a contagem de pedidos de conciliação com falhas por tipo de recurso e estado.
Por exemplo, para verificar a contagem total de erros para recursos PubSubTopic
, use a seguinte consulta.
configconnector_reconcile_requests_total{group_version_kind="PubSubTopic.pubsub.cnrm.cloud.google.com", status="ERROR"}
Verifique o estado agregado dos recursos por tipo e namespace
Pode ver a contagem de recursos que estão num espaço de nomes.
Por exemplo, para verificar a contagem total de recursos PubSubTopic
no espaço de nomes default
, use a seguinte consulta.
configconnector_applied_resources_total{group_version_kind="PubSubTopic.pubsub.cnrm.cloud.google.com", Namespace="default"}
Consulte a utilização de trabalhadores de conciliação por tipo de recurso
(configconnector_reconcile_occupied_workers_total / configconnector_reconcile_workers_total)
Métricas disponíveis
O Config Connector recolhe as seguintes métricas e disponibiliza-as.
Nome | Tipo | Etiquetas | Descrição |
---|---|---|---|
configconnector_reconcile_requests_total | Contrapropor | Namespace group_version_kind status |
O número total de pedidos de conciliação. |
configconnector_reconcile_request_duration_seconds | Histograma | Namespace group_version_kind status |
Distribuições do tempo para concluir pedidos de conciliação. |
configconnector_applied_resources_total | Indicador | Namespace group_version_kind status |
O número total de recursos sob gestão. |
configconnector_build_info | Indicador | versão | Versão atual do Config Connector. |
configconnector_reconcile_workers_total | Indicador | group_version_kind | O número total de trabalhadores de conciliação agregado por tipo de recurso. |
configconnector_reconcile_occupied_workers_total | Indicador | group_version_kind | O número total de trabalhadores de conciliação ocupados, agregados por tipo de recurso. |
Ativar etiquetas de nomes de recursos
Por predefinição, as métricas são agregadas por tipo de recurso (por exemplo, PubSubTopic). Pode ativar a agregação de métricas por recursos individuais.
Para ativar a agregação por nome do recurso, siga estes passos.
Edite o objeto
cnrm-controller-manager
StatefulSetkubectl edit statefulset cnrm-controller-manager -n cnrm-system
Se estiver a usar o modo com espaço de nomes, substitua
NAMESPACE_NAME
pelo seu espaço de nomes.kubectl edit statefulset cnrm-controller-manager -n NAMESPACE_NAME
Encontre a matriz
spec.args
e adicione--resource-name-label=true
.apiVersion: apps/v1 kind: StatefulSet name: cnrm-controller-manager spec: template: spec: containers: - name: manager args: - --resource-name-label=true
O que se segue?
Para mais informações sobre como escrever consultas, consulte a documentação da linguagem de consulta do Prometheus e os exemplos