Servidor HTTP

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:

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 tipo counter, com os rótulos code e method.
  • http_request_duration_seconds_bucket do tipo histogram, com o rótulo method.

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:

  1. Configure o encaminhamento de portas usando o seguinte comando:
    kubectl -n NAMESPACE_NAME port-forward deploy/HTTP_SERVER_DEPLOYMENT_NAME PROMETHEUS_PORT_NUMBER
      
  2. Acesse localhost:PROMETHEUS_PORT_NUMBER usando o navegador ou o utilitário curl 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:

  1. No Console do Google Cloud, acesse a página Cargas de trabalho:

    Acesse Cargas de trabalho

    Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Kubernetes Engine.

  2. Clique em uma implantação na lista de cargas de trabalho. A coluna Tipo na lista indica o tipo de carga de trabalho.
  3. Na página Detalhes da implantação, clique na guia Observabilidade.
  4. 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.