第6章 モニタリング関連の問題のトラブルシューティング
ユーザー定義プロジェクトのモニタリングに関する一般的な問題のトラブルシューティング手順を参照してください。
6.1. ユーザー定義プロジェクトのメトリクスが利用できない理由の判別 リンクのコピーリンクがクリップボードにコピーされました!
ユーザー定義プロジェクトのモニタリング時にメトリクスが表示されない場合は、以下の手順を実行して問題のトラブルシューティングを実行します。
手順
メトリクス名に対してクエリーを実行し、プロジェクトが正しいことを確認します。
- Web コンソールの Developer パースペクティブで、Observe をクリックし、Metrics タブに移動します。
- Project: 一覧でメトリクスで表示するプロジェクトを選択します。
Select query リストから既存のクエリーを選択するか、Expression フィールドに PromQL クエリーを追加してカスタムクエリーを実行します。
メトリクスはグラフに表示されます。
クエリーはプロジェクトごとに実行される必要があります。表示されるメトリクスは、選択したプロジェクトに関連するメトリクスです。
メトリクスが必要な Pod がアクティブにメトリクスを提供していることを確認します。以下の
oc exec
コマンドを Pod で実行し、podIP
、port
、および/metrics
をターゲットにします。oc exec <sample_pod> -n <sample_namespace> -- curl <target_pod_IP>:<port>/metrics
$ oc exec <sample_pod> -n <sample_namespace> -- curl <target_pod_IP>:<port>/metrics
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記curl
がインストールされている Pod でコマンドを実行する必要があります。以下の出力例は、有効なバージョンのメトリクスを含む結果を示しています。
出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 無効な出力は、対応するアプリケーションに問題があることを示しています。
-
PodMonitor
CRD を使用している場合は、PodMonitor
CRD がラベル一致を使用して適切な Pod を参照するよう設定されていることを確認します。詳細は、Prometheus Operator のドキュメントを参照してください。 ServiceMonitor
CRD を使用し、Pod の/metrics
エンドポイントがメトリクスデータを表示している場合は、以下の手順を実行して設定を確認します。サービスが正しい
/metrics
エンドポイントを参照していることを確認します。この出力のサービスlabels
は、後続の手順でサービスが定義するサービスモニターのlabels
と/metrics
エンドポイントと一致する必要があります。oc get service
$ oc get service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow serviceIP
、port
、および/metrics
エンドポイントを取得し、以前に Pod で実行したcurl
コマンドと同じメトリクスがあるかどうかを確認します。以下のコマンドを実行してサービス IP を見つけます。
oc get service -n <target_namespace>
$ oc get service -n <target_namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow /metrics
エンドポイントを取得します。oc exec <sample_pod> -n <sample_namespace> -- curl <service_IP>:<port>/metrics
$ oc exec <sample_pod> -n <sample_namespace> -- curl <service_IP>:<port>/metrics
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の例では、有効なメトリクスが返されます。
出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
ラベルのマッチングを使用して、
ServiceMonitor
オブジェクトが必要なサービスを参照するように設定されていることを確認します。これを実行するには、oc get service
出力のService
オブジェクトをoc get servicemonitor
出力のServiceMonitor
オブジェクトと比較します。メトリクスを表示するには、ラベルが一致している必要があります。たとえば、直前の手順の
Service
オブジェクトにapp: prometheus-example-app
ラベルがあり、ServiceMonitor
オブジェクトに同じapp: prometheus-example-app
一致ラベルがある点に注意してください。
- すべて有効になっていても、メトリクスが利用できない場合は、サポートチームにお問い合わせください。