現象
Managed Service for Prometheus で ServiceMonitor または PodMonitor を追加した後、期待されるメトリックが収集されません。
トラブルシューティング
ターゲットが検出されているかどうかを確認します。
-
ARMS コンソールにログインします。
-
左側のナビゲーションウィンドウで、 を選択します。
ターゲット Prometheus インスタンスの名前をクリックします。 左側のナビゲーションウィンドウでサービスディスカバリーをクリックし、[ターゲット] タブで関連ターゲットが検出されたかどうかを確認します。
ターゲットが検出されない場合:
ServiceMonitor または PodMonitor が有効になっているかどうかを確認します。
サービスディスカバリー ページで、設定 タブをクリックします。次に、[ServiceMonitor] または [PodMonitor] タブをクリックし、ステータスが有効になっているかどうかを確認します。
定義された ServiceMonitor または PodMonitor のカスタムリソースが ACK クラスターに存在するかどうかを確認します。
ACK コンソールにログインします。
左側のナビゲーションウィンドウで クラスター をクリックします。 クラスターリスト ページで、対象のクラスターの名前をクリックします。
左側のナビゲーションウィンドウで、 を選択します。
[CRD] タブで、Name 列にある ServiceMonitor または PodMonitor のハイパーリンクをクリックします。 ビューが リソースオブジェクト タブに切り替わります。 関連する名前空間を選択し、有効にした ServiceMonitor または PodMonitor がリストに表示されることを確認します。
リストにない場合は、Managed Service for Prometheus コンソールで サービスディスカバリー > 設定 に移動し、Operation 列で ServiceMonitor または PodMonitor を再度有効にします。
リストにある場合は、次のステップに進みます。
ラベルセレクターが目的の Pod またはサービスを選択していることを確認します。
次のコマンドを実行し、出力を確認します。 結果が返されない場合は、ラベルセレクターまたは名前空間セレクターを調整して、目的の Pod またはサービスを選択します。
# 名前空間セレクターで 'any' が true に設定されている場合。 kubectl get pod/service -l label_key=label_value -A # 名前空間が指定されている場合は、指定された名前空間を使用します。 kubectl get pod/service -l label_key=label_value -n <your_namespace>ポート設定を確認します。
portフィールドを使用してポートを指定する場合、pod定義のspec.containers[i].ports[i].nameの値、またはservices定義のspec.ports[i].nameの値に設定します。ポートが
targetPortフィールドで指定されている場合、pod定義内のspec.containers[i].ports[i].containerPortの値、またはservices定義内のspec.ports[i].targetPortの値に設定します。
ターゲットは検出されたが、赤色で表示される場合:
これはスクレイプの失敗を示しており、通常はターゲットの問題が原因です。 エラー 列のエラーメッセージに基づいて問題をトラブルシューティングします。
ターゲットが検出され、[状態] 列に [UP] と表示されているにもかかわらず、期待されるメトリックがまだ見つからない場合:
ターゲットのエンドポイントのハイパーリンク (アイコン ②) をクリックして、ターゲットからプルされた生データを表示します。 このデータで期待されるメトリックを確認します。 メトリックが存在する場合は、サービスディスカバリー > メトリック に移動し、右上隅にある 破棄するメトリックの設定 をクリックします。 表示されるダイアログボックスで、メトリックが破棄リストに含まれているかどうかを確認します。 含まれている場合、そのメトリックは手動で破棄されています。 リストから削除して、収集を再開します。 詳細については、「破棄されたメトリックを有効にする」をご参照ください。
関連ドキュメント
ServiceMonitor または PodMonitor のサービス検出を手動で設定するには、「Kubernetes クラスターのサービス検出の管理」をご参照ください。
ServiceMonitor または PodMonitor のサービス検出を設定した後、サービス検出を通じて収集されたメトリックを表示する必要がある場合があります。 詳細については、「破棄されたメトリックの設定」をご参照ください。
ServiceMonitor または PodMonitor のサービス検出を設定した後、収集された一部のメトリックで料金が発生する可能性があることにご注意ください。 課金の詳細については、「プロダクト課金」および「プロダクト課金 (旧バージョン)」をご参照ください。