Este documento descreve como configurar a implementação do Google Kubernetes Engine para que possa usar o Google Cloud Managed Service for Prometheus para recolher métricas do HashiCorp Consul. Este documento mostra como fazer o seguinte:
- Configure o Consul para comunicar métricas.
- Aceda a um painel de controlo no Cloud Monitoring para ver as métricas.
Estas instruções aplicam-se apenas se estiver a usar a recolha gerida com o serviço gerido para Prometheus. Se estiver a usar a recolha implementada automaticamente, consulte a documentação do Consul para obter informações de instalação.
Estas instruções são fornecidas como exemplo e espera-se que funcionem na maioria dos ambientes do Kubernetes. Se estiver com problemas na instalação de uma aplicação ou de um exportador devido a políticas organizacionais ou de segurança restritivas, recomendamos que consulte a documentação de código aberto para receber apoio técnico.
Para informações sobre o HashiCorp Consul, consulte o artigo Consul.
Pré-requisitos
Para recolher métricas do exportador do Consul através do Managed Service for Prometheus e da recolha gerida, a sua implementação tem de cumprir os seguintes requisitos:
- O cluster tem de estar a executar a versão 1.28.15-gke.2475000 ou posterior do Google Kubernetes Engine.
- Tem de estar a executar o Managed Service for Prometheus com a recolha gerida ativada. Para mais informações, consulte o artigo Comece a usar a recolha gerida.
- Para usar os painéis de controlo disponíveis no Cloud Monitoring para a integração do Consul, tem de usar a versão 1.13.3 ou posterior.
consul
Para mais informações acerca dos painéis de controlo disponíveis, consulte o artigo Ver painéis de controlo.
prometheus_retention_time
e disable_hostname
estão definidas. Pode definir estas opções ao montar um configmap em /consul/config/metrics.hcl
. A HashiCorp recomenda a utilização de um tempo de retenção duas vezes superior ao intervalo de recolha.
Modifique a configuração do Consul
Modifique a configuração do Consul, conforme mostrado no seguinte exemplo:
Tem de adicionar todas as linhas precedidas pelo símbolo +
à sua configuração.
Para aplicar alterações de configuração a partir de um ficheiro local, execute o seguinte comando:
kubectl apply -n NAMESPACE_NAME -f FILE_NAME
Também pode usar o Terraform para gerir as suas configurações.
Para determinar se o Consul está a expor métricas, execute o seguinte comando:kubectl exec -n NAMESPACE_NAME POD_NAME -- curl -sS localhost:8500/v1/agent/metrics?format=prometheus
Defina um recurso PodMonitoring
Para a deteção de alvos, o serviço gerido para o operador do Prometheus requer um recurso PodMonitoring que corresponda ao exportador do Consul no mesmo espaço de nomes.
Pode usar a seguinte configuração PodMonitoring:
Para aplicar alterações de configuração a partir de um ficheiro local, execute o seguinte comando:
kubectl apply -n NAMESPACE_NAME -f FILE_NAME
Também pode usar o Terraform para gerir as suas configurações.
Valide a configuração
Pode usar o Explorador de métricas para verificar se configurou corretamente o exportador do Consul. O Cloud Monitoring pode demorar um ou dois minutos a carregar as suas métricas.
Para verificar se as métricas são carregadas, faça o seguinte:
-
Na Google Cloud consola, aceda à página leaderboard Explorador de métricas:
Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cujo subtítulo é Monitorização.
- Na barra de ferramentas do painel do criador de consultas, selecione o botão cujo nome é code MQL ou code PromQL.
- Verifique se a opção PromQL está selecionada no botão Idioma. O botão para alternar o idioma encontra-se na mesma barra de ferramentas que lhe permite formatar a consulta.
- Introduza e execute a seguinte consulta:
up{job="consul", cluster="CLUSTER_NAME", namespace="NAMESPACE_NAME"}
Veja painéis de controlo
A integração do Cloud Monitoring inclui o painel de controlo Consul Prometheus Overview. Os painéis de controlo são instalados automaticamente quando configura a integração. Também pode ver pré-visualizações estáticas de painéis de controlo sem instalar a integração.
Para ver um painel de controlo instalado, faça o seguinte:
-
Na Google Cloud consola, aceda à página
Painéis de controlo:
Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cujo subtítulo é Monitorização.
- Selecione o separador Lista do painel de controlo.
- Escolha a categoria Integrações.
- Clique no nome do painel de controlo, por exemplo, Vista geral do Consul Prometheus.
Para ver uma pré-visualização estática do painel de controlo, faça o seguinte:
-
Na Google Cloud consola, aceda à página
Integrações:
Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cujo subtítulo é Monitorização.
- Clique no filtro de plataforma de implementação Kubernetes Engine.
- Localize a integração do HashiCorp Consul e clique em Ver detalhes.
- Selecione o separador Painéis de controlo.
Resolução de problemas
Para informações sobre a resolução de problemas de carregamento de métricas, consulte a secção Problemas com a recolha de exportadores em Resolução de problemas do lado do carregamento.