デフォルトサービスディスカバリを有効にすると、デフォルトの Prometheus スクレイピングルールに一致するコンテナクラスター内の Pod からメトリクスをスクレイプし、クラスターの運用管理とパフォーマンス分析を簡素化できます。
重要事項
-
コンテナ環境インスタンスでのみ利用可能です。
-
arms-prom名前空間にアノテーションが付与された Pod は、デフォルトサービスディスカバリが有効になっているかどうかに関わらず、常にスクレイプされます。
課金
前提条件
-
コンテナクラスターが作成されていること。詳細については、「ACK マネージドクラスターの作成」をご参照ください。
-
インテグレーションセンターを通じてクラスターが接続されていること。詳細については、「統合の概要」をご参照ください。
重要デフォルトサービスディスカバリを利用するには、インテグレーションセンターを通じてクラスターを接続する必要があります。
ステップ 1:アノテーションの追加
-
ACKコンソールにログインします。
[クラスター] ページで、管理するクラスターの名前をクリックします。 左側のウィンドウで、 を選択します。
-
対象の Pod を見つけ、編集 列の アクション をクリックし、以下のアノテーションを追加します。
annotations: prometheus.io/path: /metrics # メトリクスエンドポイントの HTTP パス prometheus.io/port: "xxxx" # メトリクスエンドポイントのポート prometheus.io/scrape: "true" # この Pod からメトリクスをスクレイプするかどうかを指定します -
更新 をクリックします。
ステップ 2:デフォルトサービスディスカバリの有効化
にログインします。 ARMSコンソールを使用します。
-
左側メニューで、アクセス管理 をクリックします。
-
[Integrated Environments] タブで、[Container Environment] リストから対象の環境を見つけます。[操作] 列の アクション をクリックして、[Metric Scraping] ページを開きます。
-
[Metric Scraping] タブで、デフォルトサービス検出 をクリックします。
-
デフォルトサービス検出 ページで、[機能を有効化] をクリックします。
有効化すると、Managed Service for Prometheus は、以下のアノテーションが付与されたクラスター内のすべての Pod からメトリクスをスクレイプします。
annotations: prometheus.io/path: /metrics # メトリクスエンドポイントの HTTP パス prometheus.io/port: "xxxx" # メトリクスエンドポイントのポート prometheus.io/scrape: "true" # この Pod からメトリクスをスクレイプするかどうかを指定します -
[Metric Scraping] タブには、デフォルトサービスディスカバリの条件に一致するすべての Pod が表示されます。
関連操作
デフォルトサービス検出 ページで、[機能を無効化] をクリックします。無効化すると、Managed Service for Prometheus は prometheus.io アノテーションが付与された Pod からメトリクスをスクレイプしなくなります。ただし、arms-prom 名前空間の Pod はこの設定の影響を受けません。
統合失敗の一般的な原因とトラブルシューティング
-
アノテーション設定の誤り:
prometheus.io/scrapeが"true"に設定されているか、prometheus.io/portとprometheus.io/pathが正しいポートとパスを指しているかを確認してください。 -
コンテナ環境が Managed Service for Prometheus に接続されていない:コンテナ環境がインテグレーションセンターを通じて接続されていることを確認してください。
arms-prom名前空間にない Pod は、デフォルトサービスディスカバリを手動で有効化する必要があります。 -
Pod がメトリクスエンドポイントを正しく公開していない:Pod の
/metricsパスにアクセスし、Prometheus 形式のデータが返されることを確認してください。 -
ネットワーク接続の問題:Prometheus インスタンスと Pod 間のネットワークが疎通しているかを確認してください。