すべてのプロダクト
Search
ドキュメントセンター

:構成した ServiceMonitor または PodMonitor が有効にならないのはなぜですか?

最終更新日:Dec 30, 2024

問題

Managed Service for Prometheus で Prometheus インスタンスに ServiceMonitor または PodMonitor を追加した後、Prometheus インスタンスは期待どおりに監視データを収集しません。

トラブルシューティング

ターゲットが検出されているかどうかを確認します。

  1. ARMS console にログインします。

  2. 左側のナビゲーションペインで、Managed Service for Prometheus > インスタンス を選択します。

  3. 管理する Prometheus インスタンスの名前をクリックします。左側のナビゲーションペインで、サービスディスカバリ をクリックします。サービスディスカバリ ページで、[ターゲット] タブをクリックし、ターゲットが検出されているかどうかを確認します。

    • ターゲットが検出されない場合は、次の手順を実行します。

      1. ServiceMonitor または PodMonitor が有効になっているかどうかを確認します。

        サービスディスカバリ ページで、構成 タブをクリックし、ServiceMonitor または PodMonitor タブをクリックします。次の図(アイコン 1)の状態は、ServiceMonitor または PodMonitor が有効になっていることを示しています。次の手順に進みます。vr

      2. 前の手順で確認した ServiceMonitor または PodMonitor リソースが Container Service for Kubernetes (ACK) クラスタに配信されているかどうかを確認します。

        1. ACKコンソール にログインします。

        2. 左側のナビゲーションペインで、クラスタ をクリックします。クラスタ ページで、確認するクラスタを見つけ、クラスタの名前をクリックします。

        3. 左側のナビゲーションペインで、ワークロード > カスタムリソース を選択します。

        4. CRD タブをクリックし、次の図のアイコン 1 で示されているように、名前 列で ServiceMonitor または PodMonitor をクリックします。リソースオブジェクト タブにリダイレクトされます。名前空間を選択して、有効にした ServiceMonitor または PodMonitor がリストにあるかどうかを確認します。de

          • ServiceMonitor または PodMonitor がリストにない場合は、Managed Service for Prometheus コンソール にログインし、サービスディスカバリ ページの 構成 タブの アクション 列で ServiceMonitor または PodMonitor を再度有効にすることができます。

          • ServiceMonitor または PodMonitor が表示されている場合は、次の手順に進みます。

      3. ラベルセレクターを使用して、期待どおりにポッドまたはサービスを選択できるかどうかを確認します。

        次のコマンドを実行します。結果が返されない場合は、ラベルセレクターまたは名前空間セレクターを構成して、期待どおりにポッドまたはサービスを選択する必要があります。

        # 名前空間セレクターで "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
      4. ポート設定を確認します。

        port フィールドの値を、pod 定義の spec.containers[i].ports[i].name 値、または services 定義の spec.ports[i].name 値に設定します。

    • ターゲットが検出されたが赤で表示されている場合は、次の手順を実行します。

      エラー 列に表示されている情報に基づいて問題のトラブルシューティングを行います。検出されたターゲットが赤で表示されている場合は、ターゲットエラーが原因で Prometheus インスタンスが監視データをキャプチャできなかったことを示します。

    • ターゲットが検出され、そのステータスがUP(アイコン 1)であるが、期待どおりに監視データが収集されない場合は、次の手順を実行します。

      前の図のアイコン 2 で示されているように、ターゲットのエンドポイントをクリックします。システムはターゲットから直接生データをプルします。生データに監視する監視メトリックが含まれているかどうかを確認できます。生データに監視する監視メトリックが含まれている場合は、サービスディスカバリ ページの メトリック タブの右上隅にある 破棄されたメトリックの構成 をクリックできます。表示されるダイアログボックスで、破棄されたメトリックに監視するメトリックが含まれているかどうかを確認します。メトリックを削除して再度有効にすることができます。詳細については、メトリックの構成 を参照してください。

参照

  • ServiceMonitor または PodMonitor を手動で構成する方法については、ACK サービスディスカバリ を参照してください。

  • クラスタで ServiceMonitor または PodMonitor を構成した後、サービスディスカバリによって収集されたメトリックを表示する必要がある場合があります。詳細については、メトリックの破棄 を参照してください。

  • ServiceMonitor または PodMonitor がクラスタで同期された後、収集されたメトリックに対して課金される場合があります。詳細については、課金(新規) および 課金(旧) を参照してください。