Prometheusはコンテナやクラウドなどの大量コンポーネントを監視する事に特化したソフトウェアです。監視対象は大量に存在しますので、その監視対象を1つ1つ手作業で定義するのは非現実的です。このような問題に対応するため、Prometheusには監視対象を動的に検出するサービスディスカバリという機能が備わっています。このページではAWS EC2をサービスディスカバリする方法を説明します。
前提
参照資料
動作確認済環境
- Rocky Linux 8.5
- Prometheus 2.36.2
サービスディスカバリ
prometheus.ymlの設定例
prometheus.ymlを以下のように編集します。region, access_key, secret_keyなどは適宜の変更をお願いします。
global:
scrape_interval: 10s
scrape_configs:
- job_name: prometheus
static_configs:
- targets:
- localhost:9090
- job_name: node
ec2_sd_configs:
- region: us-east-1
access_key: XXXXXXXXXXXXXXXXXXXX
secret_key: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
port: 9100
Prometheusを起動します。
./prometheus
動作確認
Service Discoveryページ(http://<ip_addr>:9090/service-discovery)を表示すると、サービスディスカバリの結果が表示されます。

Targetsページ(http://<ip_addr>:9090/targets)を表示すると、監視対象ホストの一覧が表示されます。

