第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>/metricsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記curlがインストールされている Pod でコマンドを実行する必要があります。以下の出力例は、有効なバージョンのメトリクスを含む結果を示しています。
出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 無効な出力は、対応するアプリケーションに問題があることを示しています。
-
PodMonitorCRD を使用している場合は、PodMonitorCRD がラベル一致を使用して適切な Pod を参照するよう設定されていることを確認します。詳細は、Prometheus Operator のドキュメントを参照してください。 ServiceMonitorCRD を使用し、Pod の/metricsエンドポイントがメトリクスデータを表示している場合は、以下の手順を実行して設定を確認します。サービスが正しい
/metricsエンドポイントを参照していることを確認します。この出力のサービスlabelsは、後続の手順でサービスが定義するサービスモニターのlabelsと/metricsエンドポイントと一致する必要があります。oc get service
$ oc get serviceCopy 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>/metricsCopy 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一致ラベルがある点に注意してください。
- すべて有効になっていても、メトリクスが利用できない場合は、サポートチームにお問い合わせください。