Alibaba Cloud Managed Service for Prometheus のデフォルトのサービスディスカバリー、ServiceMonitor、PodMonitor、およびカスタムサービスディスカバリー機能を使用して、Kubernetes クラスターの監視範囲を絞り込むことができます。これらの機能は、さまざまなサービスと Pod を監視および分析するために必要な特定のメトリックデータを収集するのに役立ちます。
サービス検出を使用してメトリクスを収集すると、料金が発生する場合があります。課金の詳細については、製品の課金 および 製品の課金 (旧バージョン)をご参照ください。
前提条件
Container ServiceのPrometheusインスタンスが作成されます。 詳細については、「」「ACKクラスターを監視するためのPrometheusインスタンスの作成」をご参照ください。
制限事項
この機能は、ACK クラスターを監視する Prometheus インスタンスでのみ利用できます。
操作手順
-
にログインします。 ARMSコンソールを使用します。
-
左側のナビゲーションウィンドウで、.
-
対象のPrometheus インスタンスの名前をクリックします。
デフォルトのサービスディスカバリの管理
デフォルトのサービスディスカバリの有効化と表示
デフォルトのサービスディスカバリー機能は、デフォルトで無効になっています。有効にするには、次の手順に従います。
-
インスタンス詳細ページで、左側のナビゲーションペインの サービスディスカバリー をクリックします。
-
サービスディスカバリー ページで、設定 タブをクリックします。
-
デフォルトサービス検出 タブでターゲットの Pod を見つけ、Operation 列のスイッチをオンにします。
説明Pod に次のアノテーションがある場合、デフォルトのサービスディスカバリはメトリクスを自動的に収集し、対応する料金が発生します。
-
prometheus.io/path: /metrics -
prometheus.io/port: "9104" -
prometheus.io/scrape: "true"
-
-
デフォルトのサービスディスカバリを有効にすると、インスタンスのデフォルトのスクレイピングジョブを表示できます。
関連操作
デフォルトサービス検出 タブでは、次の操作を実行できます。
-
詳細の表示:デフォルトのサービスディスカバリの YAML 設定を表示するには、Operation 列の 詳細 をクリックします。
-
デフォルトのサービスディスカバリの無効化:Operation 列のスイッチをオフにします。無効にすると、メトリクスデータの収集と関連する課金が停止します。
ServiceMonitor の管理
ServiceMonitor 設定ファイルを追加して、監視するサービスと収集するメトリクスを定義します。
ServiceMonitor の追加
ServiceMonitor の典型的なユースケースとして、注文情報など、Kubernetes クラスター内のアプリケーションからのビジネスデータの監視が挙げられます。
-
左側のナビゲーションペインで サービスディスカバリー をクリックし、設定 タブをクリックします。
-
[ServiceMonitor] タブをクリックし、次に右上隅の ServiceMonitor の追加 をクリックします。
-
ダイアログボックスで設定を入力し、OK をクリックします。
設定例:
apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: tomcat-demo # 一意の名前を入力します。 namespace: default # ターゲット名前空間を入力します。 spec: endpoints: - interval: 30 s port: tomcat-monitor # service.yaml ファイル内の Prometheus Exporter のポートの Name フィールドの値を入力します。 path: /metrics # Prometheus Exporter のパスを入力します。 namespaceSelector: # 監視対象のサービスが存在する名前空間を選択します。 any: true selector: matchLabels: # ターゲットサービスを特定するために、service.yaml ファイル内の 'app' ラベルの値を入力します。 app: tomcat設定が完了すると、新しい ServiceMonitor が [ServiceMonitor] タブに表示されます。
クラスターで ServiceMonitor の自動同期を有効にすると、システムはそれらを自動的に検出し、データを収集します。 詳細については、「クラスターで ServiceMonitor を同期する」をご参照ください。

関連操作
[ServiceMonitor] タブでは、次の操作を実行できます。
-
ServiceMonitor の編集:カスタム ServiceMonitor を変更するには、Operation 列の 編集 をクリックします。
-
ServiceMonitor の削除:カスタム ServiceMonitor を削除するには、Operation 列の 削除 をクリックします。ServiceMonitor を削除すると、メトリクスデータの収集と関連する課金が停止します。
-
ServiceMonitor の無効化:Operation 列のスイッチをオフにします。右上隅の すべて閉じる をクリックして、追加されたすべての ServiceMonitor を一度に無効にすることもできます。ServiceMonitor を無効にすると、メトリクスデータの収集と関連する課金が停止します。
-
ServiceMonitor の有効化:Operation 列のスイッチをオンにします。
重要ServiceMonitor を有効にした後でメトリックデータが収集されない場合は、リンク先の記事を参照して問題をトラブルシューティングしてください。詳細については、「設定した ServiceMonitor または PodMonitor が機能しない理由」をご参照ください。
PodMonitor の管理
PodMonitor 設定ファイルを追加して、監視する Pod と収集するメトリクスを定義します。
PodMonitor の追加
-
左側のナビゲーションペインで、サービスディスカバリー をクリックし、次に 設定 タブをクリックします。
-
[PodMonitor] タブをクリックし、次に右上隅のPodMonitor の追加をクリックします。
-
ダイアログボックスで設定を入力し、OK をクリックします。
設定例:
apiVersion: monitoring.coreos.com/v1 kind: PodMonitor metadata: # 一意の名前を入力します。 name: podmonitor-demo # ターゲット名前空間を入力します。 namespace: default # 詳細については、https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#podmonitorspec をご参照ください。 spec: selector: matchLabels: # ターゲット Pod を特定するために、pod.yaml ファイル内の 'app' ラベルの値を入力します。 app: nginx2-exporter namespaceSelector: # 詳細については、https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#namespaceselector をご参照ください。 any: true podMetricsEndpoints: - interval: 30 s # pod.yaml ファイル内の Prometheus Exporter のポートの Name フィールドの値を入力します。 port: nginx-exporter # Prometheus Exporter のパスを入力します。 path: /metrics設定が完了すると、新しい PodMonitor が [PodMonitor] タブに表示されます。
クラスターで PodMonitor の自動同期を有効にすると、システムはそれらを自動的に検出し、データを収集します。詳細については、「クラスターで PodMonitor を同期する」をご参照ください。

関連操作
[PodMonitor] タブでは、次の操作を実行できます。
-
PodMonitor の編集:カスタム PodMonitor を変更するには、Operation 列の 編集 をクリックします。
-
PodMonitor の削除:カスタム PodMonitor を削除するには、Operation 列の 削除 をクリックします。PodMonitor を削除すると、メトリクスデータの収集と関連する課金が停止します。
-
PodMonitor の無効化:Operation 列のスイッチをオフにします。右上隅の すべて閉じる をクリックして、追加されたすべての PodMonitor を一度に無効にすることもできます。PodMonitor を無効にすると、メトリクスデータの収集と関連する課金が停止します。
-
PodMonitor の有効化:Operation 列のスイッチをオンにします。
重要PodMonitor を有効にしてもメトリックデータが収集されない場合は、リンク先の記事を参照して問題をトラブルシューティングしてください。詳細については、「設定した ServiceMonitor または PodMonitor が機能しない」をご参照ください。
カスタムサービスディスカバリの管理
ビジネス要件に基づいてメトリクスを収集するために、カスタムのスクレイピングジョブを定義することもできます。
カスタムサービスディスカバリの追加
-
左側のナビゲーションペインで、サービスディスカバリー をクリックし、設定 タブをクリックします。
-
カスタマイズサービス検出 タブをクリックし、右上隅の Add をクリックします。
-
ダイアログボックスで設定を入力し、保存 をクリックします。
設定例:
# scrape_configs のみサポートされています。複数のジョブを設定するには、YAML のリスト形式を使用します。 # その他の設定は prometheus.yaml ファイルで設定できます。 - job_name: prometheus metrics_path: /metrics static_configs: - targets: - 127.0.0.1:9090 - job_name: grafana_exporter scrape_interval: 30 s scrape_timeout: 30 s metrics_path: /metrics static_configs: - targets: - 127.0.0.1:3000設定が完了すると、新しいサービスディスカバリが カスタマイズサービス検出 タブに表示されます。

関連操作
カスタマイズサービス検出 タブでは、次の操作を実行できます。
-
サービスディスカバリの編集:カスタムサービスディスカバリを変更するには、Operation 列の 編集 をクリックします。
-
サービスディスカバリの削除:カスタムサービスディスカバリを削除するには、Operation 列の 削除 をクリックします。カスタムサービスディスカバリを削除すると、メトリクスデータの収集と関連する課金が停止します。
関連ドキュメント
-
サービス検出を有効にすると、不要なメトリックデータをドロップするルールを設定できます。詳細については、「メトリックドロップを設定する」をご参照ください。
-
サービス検出を有効にするとメトリック収集が開始され、料金が発生する場合があります。詳細については、「Alibaba Cloud Managed Service for Prometheus の使用後に追加料金が請求される理由」をご参照ください。
-
ServiceMonitor を使用したサービス検出ジョブの作成の詳細については、「ServiceMonitor を使用したサービス検出の作成」をご参照ください。