gRPC 서버

이 문서에서는 Google Cloud Managed Service for Prometheus를 사용하여 애플리케이션이 제공한 gRPC 요청에서 측정항목을 수집할 수 있도록 Google Kubernetes Engine 배포를 구성하는 방법을 설명합니다. 이 문서에서는 다음 작업을 수행하는 방법을 설명합니다.

이 안내는 관리형 컬렉션을 Managed Service for Prometheus와 함께 사용하는 경우에만 적용됩니다.

gRPC에 대한 자세한 내용은 grpc.io를 참조하세요.

설정

gRPC 서버에서 측정항목을 수집하려면 적절한 gRPC 미들웨어를 구성해야 합니다.

gRPC 서버가 예상 엔드포인트에 측정항목을 내보내는지 확인하려면 다음을 수행합니다.

  1. 다음 명령어를 사용하여 포트 전달을 설정합니다.
    kubectl -n NAMESPACE_NAME port-forward deploy/GRPC_SERVER_DEPLOYMENT_NAME PROMETHEUS_PORT_NUMBER
      
  2. 다른 터미널 세션에서 브라우저 또는 curl 유틸리티를 사용하여 localhost:PROMETHEUS_PORT_NUMBER에 액세스합니다.

PodMonitoring 리소스 정의

대상 검색을 위해 Managed Service for Prometheus 연산자에는 동일한 네임스페이스의 gRPC 서버에 해당하는 PodMonitoring 리소스가 필요합니다.

다음 PodMonitoring 구성을 사용할 수 있습니다.

apiVersion: monitoring.googleapis.com/v1
kind: PodMonitoring
metadata:
  name: my-prometheus-grpc-app
  labels:
    app.kubernetes.io/name: my-prometheus-grpc-app
    app.kubernetes.io/part-of: google-cloud-managed-prometheus
spec:
  endpoints:
  - port: prometheus
    scheme: http
    interval: 30s
    path: /metrics
  selector:
    matchLabels:
      app.kubernetes.io/name: my-prometheus-grpc-app

portMatchLabels 필드의 값이 모니터링하려는 gRPC 애플리케이션의 값과 일치하는지 확인합니다.

로컬 파일에서 구성 변경사항을 적용하려면 다음 명령어를 실행합니다.

kubectl apply -n NAMESPACE_NAME -f FILE_NAME

Terraform을 사용하여 구성을 관리할 수도 있습니다.

애플리케이션 측정항목 보기

gRPC 애플리케이션의 요청, 오류율, 지연 시간 측정항목을 보려면 다음을 수행합니다.

  1. Google Cloud 콘솔에서 워크로드 페이지로 이동합니다.

    워크로드로 이동

    검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Kubernetes Engine인 결과를 선택합니다.

  2. 워크로드 목록에서 배포를 클릭합니다. 목록의 유형 열은 워크로드의 유형을 나타냅니다.
  3. 배포 세부정보 페이지에서 관측 가능성 탭을 클릭합니다.
  4. 대시보드 선택기에서 애플리케이션을 선택합니다.

자세한 내용은 애플리케이션 성능 측정항목 사용을 참조하세요.

문제 해결

Managed Service for Prometheus의 측정항목 수집 문제 해결에 대한 자세한 내용은 수집 측 문제 해결에서 내보내기 도구의 수집 관련 문제를 참조하세요.