This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.7.2. ユーザー定義プロジェクトのメトリクスコレクションの設定
ServiceMonitor
リソースを作成して、ユーザー定義プロジェクトのサービスエンドポイントからメトリクスを収集できます。これは、アプリケーションが Prometheus クライアントライブラリーを使用してメトリクスを /metrics
の正規の名前に公開していることを前提としています。
このセクションでは、ユーザー定義のプロジェクトでサンプルサービスをデプロイし、次にサービスのモニター方法を定義する ServiceMonitor
リソースを作成する方法を説明します。
7.2.1. サンプルサービスのデプロイ リンクのコピーリンクがクリップボードにコピーされました!
ユーザー定義のプロジェクトでサービスのモニタリングをテストするには、サンプルサービスをデプロイできます。
手順
-
サービス設定の YAML ファイルを作成します。この例では、
prometheus-example-app.yaml
という名前です。 以下のデプロイメントおよびサービス設定の詳細をファイルに追加します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow この設定は、
prometheus-example-app
という名前のサービスをユーザー定義のns1
プロジェクトにデプロイします。このサービスは、カスタムversion
メトリクスを公開します。設定をクラスターに適用します。
oc apply -f prometheus-example-app.yaml
$ oc apply -f prometheus-example-app.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow サービスをデプロイするには多少時間がかかります。
Pod が実行中であることを確認できます。
oc -n ns1 get pod
$ oc -n ns1 get pod
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME READY STATUS RESTARTS AGE prometheus-example-app-7857545cb7-sbgwq 1/1 Running 0 81m
NAME READY STATUS RESTARTS AGE prometheus-example-app-7857545cb7-sbgwq 1/1 Running 0 81m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.2.2. サービスのモニター方法の指定 リンクのコピーリンクがクリップボードにコピーされました!
サービスが公開するメトリクスを使用するには、OpenShift Container モニタリングを、/metrics
エンドポイントからメトリクスを収集できるように設定する必要があります。これは、サービスのモニタリング方法を指定する ServiceMonitor
カスタムリソース定義、または Pod のモニタリング方法を指定する PodMonitor
CRD を使用して実行できます。前者の場合は Service
オブジェクトが必要ですが、後者の場合は不要です。これにより、Prometheus は Pod によって公開されるメトリクスエンドポイントからメトリクスを直接収集することができます。
この手順では、ユーザー定義プロジェクトでサービスの ServiceMonitor
リソースを作成する方法を説明します。
前提条件
-
cluster-admin
クラスターロールまたはmonitoring-edit
クラスターロールのあるユーザーとしてクラスターにアクセスできる。 - ユーザー定義プロジェクトのモニタリングを有効にしている。
この例では、
prometheus-example-app
サンプルサービスをns1
プロジェクトにデプロイしている。注記prometheus-example-app
サンプルサービスは TLS 認証をサポートしません。
手順
-
ServiceMonitor
リソース設定の YAML ファイルを作成します。この例では、ファイルはexample-app-service-monitor.yaml
という名前です。 以下の
ServiceMonitor
リソース設定の詳細を追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow これは、
prometheus-example-app
サンプルサービスによって公開されるメトリクスを収集するServiceMonitor
リソースを定義します。これにはversion
メトリクスが含まれます。注記ユーザー定義の namespace の
ServiceMonitor
リソースは、同じ namespace のサービスのみを検出できます。つまり、ServiceMonitor
リソースのnamespaceSelector
フィールドは常に無視されます。設定をクラスターに適用します。
oc apply -f example-app-service-monitor.yaml
$ oc apply -f example-app-service-monitor.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ServiceMonitor
をデプロイするのに多少時間がかかります。ServiceMonitor
リソースが実行中であることを確認できます。oc -n ns1 get servicemonitor
$ oc -n ns1 get servicemonitor
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME AGE prometheus-example-monitor 81m
NAME AGE prometheus-example-monitor 81m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow