Servidor HTTP

Este documento descreve como configurar a implementação do Google Kubernetes Engine para poder usar o Google Cloud Managed Service for Prometheus para recolher métricas dos pedidos HTTP processados pela sua aplicação. Este documento descreve como fazer o seguinte:

Estas instruções aplicam-se apenas se estiver a usar a recolha gerida com o serviço gerido para Prometheus.

Configurar

Para recolher métricas do seu servidor HTTP que podem ser apresentadas no painel de controlo Aplicação, tem de exportar as seguintes métricas conforme descrito:

  • http_requests_total do tipo counter, com as etiquetas code e method.
  • http_request_duration_seconds_bucket do tipo histogram, com a etiqueta method.

Para ver um exemplo que recolhe estas métricas através do cliente Go do Prometheus, consulte prometheus-example-app.

Para verificar se o seu servidor HTTP está a emitir métricas nos pontos finais esperados, faça o seguinte:

  1. Configure o encaminhamento de portas com o seguinte comando:
    kubectl -n NAMESPACE_NAME port-forward deploy/HTTP_SERVER_DEPLOYMENT_NAME PROMETHEUS_PORT_NUMBER
      
  2. Aceda a localhost:PROMETHEUS_PORT_NUMBER através do navegador ou da utilidade curl noutra sessão do terminal.

Defina um recurso PodMonitoring

Para a deteção de destinos, o operador do Managed Service for Prometheus requer um recurso PodMonitoring que corresponda ao servidor HTTP no mesmo espaço de nomes.

Pode usar a seguinte configuração 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

Certifique-se de que os valores dos campos port e MatchLabels correspondem aos da aplicação HTTP que quer monitorizar.

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.

Veja as métricas da aplicação

Para ver as métricas de pedidos, taxa de erros e latência da sua aplicação HTTP, faça o seguinte:

  1. Na Google Cloud consola, aceda à página Workloads:

    Aceda a Cargas de trabalho

    Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cujo subtítulo é Kubernetes Engine.

  2. Clique numa implementaçã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 implementação, clique no separador Observabilidade.
  4. Selecione Aplicação no seletor do painel de controlo.

Para mais informações, consulte o artigo Use métricas de desempenho da aplicação.

Resolução de problemas

Para informações sobre a resolução de problemas de carregamento de métricas no Managed Service for Prometheus, consulte Problemas com a recolha de exportadores em Resolução de problemas do lado do carregamento.