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)を表示すると、監視対象ホストの一覧が表示されます。