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 Operator には、同じ Namespace 内の 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

port フィールドと MatchLabels フィールドの値が、モニタリング対象の gRPC アプリケーションの値と一致していることを確認します。

構成の変更をローカル ファイルから適用するには、次のコマンドを実行します。

kubectl apply -n NAMESPACE_NAME -f FILE_NAME

Terraform を使用して構成を管理することもできます。

アプリケーション指標を表示する

gRPC アプリケーションからのリクエスト、エラー率、レイテンシの指標を表示するには、次の操作を行います。

  1. Google Cloud コンソールで [ワークロード] ページに移動します。

    [ワークロード] に移動

    検索バーを使用してこのページを検索した場合は、小見出しが [Kubernetes Engine] の結果を選択します。

  2. ワークロードのリストで Deployment をクリックします。リストの [タイプ] 列にワークロードのタイプが表示されます。
  3. [Deployment の詳細] ページで、[オブザーバビリティ] タブをクリックします。
  4. ダッシュボード セレクタで [アプリケーション] を選択します。

詳細については、アプリケーションのパフォーマンス指標を使用するをご覧ください。

トラブルシューティング

Managed Service for Prometheus での指標の取り込みに関するトラブルシューティングについては、取り込み側の問題のトラブルシューティングエクスポータからの収集に関する問題をご覧ください。