2.5. メトリクスコレクションの設定

サービスが公開するメトリクスを使用するには、OpenShift Monitoring を、/metrics エンドポイントからメトリクスを収集できるように設定する必要があります。これは、ServiceMonitor、サービスのモニタリング方法を指定するカスタムリソース定義 (CRD)、または PodMonitor、Pod のモニタリング方法を指定する CRD を使用して実行できます。前者の場合はサービスオブジェクトが必要ですが、後者の場合は不要です。これにより、Prometheus は Pod によって公開されるメトリクスエンドポイントからメトリクスを直接収集することができます。

以下の手順では、サービスの ServiceMonitor を作成する方法を説明します。

前提条件

  • クラスター管理者または monitor-crd-edit ロールを持つユーザーとしてログインします。

手順

  1. ServiceMonitor 設定の YAML ファイルを作成します。この例では、ファイルは example-app-service-monitor.yaml という名前です。
  2. ServiceMonitor を作成するための設定をファイルに入力します。

    apiVersion: monitoring.coreos.com/v1
    kind: ServiceMonitor
    metadata:
      labels:
        k8s-app: prometheus-example-monitor
      name: prometheus-example-monitor
      namespace: ns1
    spec:
      endpoints:
      - interval: 30s
        port: web
        scheme: http
      selector:
        matchLabels:
          app: prometheus-example-app

    この設定により、OpenShift Monitoring は「サンプルサービスのデプロイ」でデプロイされるサンプルサービスによって公開されるメトリクスを収集します。これには、単一の version メトリクスが含まれます。

  3. 設定ファイルをクラスターに適用します。

    $ oc apply -f example-app-service-monitor.yaml

    ServiceMonitor をデプロイするのに多少時間がかかります。

  4. ServiceMonitor が実行中であることを確認できます。

    $ oc -n ns1 get servicemonitor
    NAME                         AGE
    prometheus-example-monitor   81m

追加リソース

ServiceMonitor および PodMonitor についての詳細は、Prometheus Operator API のドキュメントを参照してください。


このページには機械翻訳が使用されている場合があります (詳細はこちら)。