Neste documento, descrevemos como configurar sua implantação do Google Kubernetes Engine para que você possa usar o Google Cloud Managed Service para Prometheus e coletar métricas das solicitações HTTP exibidas pelo aplicativo. Este documento explica como fazer o seguinte:
- Configure o aplicativo para exportar métricas HTTP em um formato predefinido.
- Configurar um recurso PodMonitoring para o serviço gerenciado para Prometheus a fim de coletar as métricas exportadas.
- Veja o painel Aplicativo para a implantação do GKE.
Estas instruções se aplicam somente ao usar a coleção gerenciada com o serviço gerenciado para Prometheus.
Configurar
Para coletar métricas do servidor HTTP que podem ser exibidas no painel Aplicativo, exporte as seguintes métricas, conforme descrito:
http_requests_total
do tipocounter
, com os rótuloscode
emethod
.http_request_duration_seconds_bucket
do tipohistogram
, com o rótulomethod
.
Para ver um exemplo que coleta essas métricas usando o cliente Go do Prometheus, consulte prometheus-example-app.
Para verificar se o servidor HTTP está emitindo métricas nos endpoints esperados, faça o seguinte:
- Configure o encaminhamento de portas usando o seguinte comando:
kubectl -n NAMESPACE_NAME port-forward deploy/HTTP_SERVER_DEPLOYMENT_NAME PROMETHEUS_PORT_NUMBER
- Acesse
localhost:PROMETHEUS_PORT_NUMBER
usando o navegador ou o utilitáriocurl
em outra sessão do terminal.
Definir um recurso do PodMonitoring
Para descobrir o destino, o operador do Managed Service para Prometheus, é necessário um recurso PodMonitoring que corresponde ao servidor HTTP no mesmo namespace.
É possível usar a seguinte configuração do PodMonitoring:
apiVersion: monitoring.googleapis.com/v1 kind: PodMonitoring metadata: name: my-prometheus-http-app labels: app.kubernetes.io/name: my-prometheus-http-app app.kubernetes.io/part-of: google-cloud-managed-prometheus spec: endpoints: - port: web scheme: http interval: 30s path: /metrics selector: matchLabels: app.kubernetes.io/name: prometheus-example-app
Verifique se os valores dos campos port
e MatchLabels
correspondem aos do aplicativo HTTP que você quer
monitorar.
Para aplicar as alterações de configuração de um arquivo local, execute o seguinte comando:
kubectl apply -n NAMESPACE_NAME -f FILE_NAME
Também é possível usar o Terraform para gerenciar as configurações.
Ver métricas do aplicativo
Para visualizar as métricas de solicitação, taxa de erro e latência do aplicativo HTTP, faça o seguinte:
-
No Console do Google Cloud, acesse a página Cargas de trabalho:
Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Kubernetes Engine.
- Clique em uma implantação na lista de cargas de trabalho. A coluna Tipo na lista indica o tipo de carga de trabalho.
- Na página Detalhes da implantação, clique na guia Observabilidade.
- Selecione Aplicativo no seletor do painel.
Para mais informações, consulte Usar métricas de desempenho do aplicativo.
Solução de problemas
Para informações sobre solução de problemas de ingestão de métricas no Managed Service para Prometheus, consulte Problemas com a coleta dos exportadores em Solução de problemas de ingestão.