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