現象
ServiceMonitor または PodMonitor を Managed Service for Prometheus に追加した後、Prometheus が期待されるメトリクスのスクレイプに失敗することがあります。
トラブルシューティング
ターゲットが発見されたことを確認します。
にログインします。 Prometheusコンソールのマネージドサービス。
左側のナビゲーションウィンドウで、[インスタンス] をクリックします。
-
ターゲットの Prometheus インスタンスの名前をクリックします。左側のナビゲーションペインで、サービスディスカバリー をクリックし、次に [ターゲット] タブをクリックして、対応するターゲットが検出されたかどうかを確認します。
-
ターゲットが検出されない場合:
-
ServiceMonitor または PodMonitor が有効になっているか確認します。
サービスディスカバリー ページで 設定 タブをクリックし、[ServiceMonitor] または [PodMonitor] タブをクリックします。ステータスが有効 (①) になっている場合は、次のステップに進みます。

-
ServiceMonitor または PodMonitor リソースが ACK クラスターに適用されているか確認します。
-
ACK コンソールにログインします。
-
左側のナビゲーションペインで クラスター をクリックします。クラスターリスト ページで、対象クラスターの名前をクリックします。
-
左側のナビゲーションペインで、を選択します。
-
[CRDs] タブで、Name 列 (①) の ServiceMonitor または PodMonitor のリンクをクリックします。これにより、リソースオブジェクト タブが開きます。名前空間を選択し、有効にした ServiceMonitor または PodMonitor がリストに表示されているか確認します。

-
リストにない場合: Prometheus マネージドサービスコンソールで、サービスディスカバリー ページに移動し、設定 タブをクリックし、Operation 列で ServiceMonitor または PodMonitor を再度有効にします。
-
リストにある場合は、次のステップに進みます。
-
-
-
ラベルセレクターが対象の Pod または Service と一致することを確認します。
次のコマンドを実行し、出力を確認します。結果が返されない場合は、ラベルセレクターまたは名前空間セレクターを調整して、対象の Pod または Service と一致させます。
# namespaceSelector で 'any' が true に設定されている場合 kubectl get pod/service -l label_key=label_value -A # 名前空間が指定されている場合 kubectl get pod/service -l label_key=label_value -n xx_namespace_xx -
ポート設定を確認します。
-
portフィールドは、Pod定義のspec.containers[i].ports[i].nameフィールドの値、またはService定義のspec.ports[i].nameフィールドの値と一致する必要があります。 -
targetPortフィールドは、Pod定義のspec.containers[i].ports[i].containerPortフィールドの値、またはService定義のspec.ports[i].targetPortフィールドの値と一致する必要があります。
例:

-
-
-
検出されたターゲットの状態が赤の場合:
これは、Prometheus がターゲットのスクレイプに失敗したことを示します。この問題は通常、ターゲット側に原因があります。[Error] 列のエラーメッセージに基づいてトラブルシューティングを行います。
-
ターゲットが検出され、その [状態] が [UP] (①) であるにもかかわらず、Prometheus が期待されるメトリクスをスクレイピングしない場合:
ターゲットのエンドポイントリンク (②) をクリックします。このアクションにより、ターゲットから生データがプルされます。このデータに期待されるメトリックが含まれていることを確認します。期待されるメトリックが存在する場合は、サービスディスカバリー ページの メトリック タブに移動します。右上隅にある 破棄するメトリックの設定 をクリックします。ダイアログボックスで、メトリックが破棄リストにあるかどうかを確認します。メトリックがリストにある場合は、手動で破棄されています。リストからメトリックを削除して、再度有効にすることができます。詳細については、「破棄されたメトリックの有効化」をご参照ください。
-
関連ドキュメント
-
ServiceMonitor または PodMonitor のサービスディスカバリを設定するには、「ACK クラスターのサービスディスカバリの管理」をご参照ください。
-
サービスディスカバリによって収集されたメトリックを表示するには、「破棄されたメトリックの有効化」をご参照ください。
-
ServiceMonitor または PodMonitor のサービスディスカバリを設定すると、システムによって関連するメトリックがスクレイプされ、料金が発生する場合があります。課金の詳細については、「課金」および「課金 (レガシー)」をご参照ください。