Este documento descreve como configurar a sua implementação do Google Kubernetes Engine para que possa usar o Google Cloud Managed Service for Prometheus para recolher métricas do Jenkins. Este documento mostra como fazer o seguinte:
- Configure o Jenkins para comunicar métricas.
- Aceda a um painel de controlo no Cloud Monitoring para ver as métricas.
- Configure regras de alerta para monitorizar 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 Jenkins 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 obter informações sobre o Jenkins, consulte o artigo Jenkins.
Pré-requisitos
Para recolher métricas do exportador do Jenkins 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 Jenkins, tem de usar a versão 2.0.11 ou posterior.
jenkins
Para mais informações acerca dos painéis de controlo disponíveis, consulte o artigo Ver painéis de controlo.
Se instalou o gráfico de leme da comunidade Jenkins, pode anexar os plug-ins Metrics e Prometheus
no campo controller.installPlugins
values:
controller: installPlugins: - kubernetes:3734.v562b_b_a_627ea_c - workflow-aggregator:590.v6a_d052e5a_a_b_5 - git:4.13.0 - configuration-as-code:1569.vb_72405b_80249 - metrics - prometheus:2.0.11
Em alternativa, pode criar a sua própria imagem de contentor do Jenkins com o seguinte Dockerfile:
FROM jenkins/jenkins:lts RUN jenkins-plugin-cli --plugins prometheus metrics
Para verificar se o exportador do Jenkins está a emitir métricas nos pontos finais esperados, faça o seguinte:
Configure o encaminhamento de portas com o seguinte comando:
kubectl -n NAMESPACE_NAME port-forward POD_NAME 8080
Aceda ao ponto final
localhost:8080/prometheus
através do navegador ou da utilidadecurl
noutra sessão de terminal.
Defina um recurso PodMonitoring
Para a deteção de alvos, o operador do serviço gerido para Prometheus requer um recurso PodMonitoring que corresponda ao exportador do Jenkins no mesmo espaço de nomes.
Pode usar a seguinte configuração PodMonitoring:
Certifique-se de que os valores dos camposport
e matchLabels
correspondem aos dos pods do Jenkins que quer monitorizar. Por predefinição, as instalações do Helm do Jenkins
incluem um valor port
de http
e uma etiqueta app.kubernetes.io/name
com o valor jenkins
.
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.
Defina regras e alertas
Pode usar a seguinte configuração Rules
para definir
alertas nas suas métricas do Jenkins:
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 mais informações sobre a aplicação de regras ao seu cluster, consulte o artigo Avaliação e alertas de regras geridas.
Pode ajustar os limites de alerta de acordo com a sua aplicação.Valide a configuração
Pode usar o Explorador de métricas para verificar se configurou corretamente o exportador do Jenkins. 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="jenkins", cluster="CLUSTER_NAME", namespace="NAMESPACE_NAME"}
Veja painéis de controlo
A integração do Cloud Monitoring inclui o painel de controlo Vista geral do Prometheus do Jenkins. 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 Jenkins 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 Jenkins 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.