概要
前回 dockerd の Daemon metrics を使って docker コンテナのメトリック情報を監視してみました
ただ Daemon metrics の場合各コンテナごとのメトリック情報は取得できませんでした
今回は代わりに cAdvisor を使い各コンテナごとのメトリック情報を取得してみました
環境
- Ubuntu 16.04 LTS
- Prometheus 2.4.2
- docker 18.03.1-ce
- cAdvisor v0.27.4
cAdvisor のインストール
監視対象の docker ホストで以下のコマンドを実行します
普通に cAdvisor をインストールしています
ホスト側は 8080 ポートを使っているのですでに 8080 ポートを使っている場合は別のポートにしてください
docker run \
--volume=/:/rootfs:ro \
--volume=/var/run:/var/run:ro \
--volume=/sys:/sys:ro \
--volume=/var/lib/docker/:/var/lib/docker:ro \
--volume=/dev/disk/:/dev/disk:ro \
--publish=8080:8080 \
--detach=true \
--name=cadvisor \
google/cadvisor:latest
この時点で cAdvisor はインストールされているので localhost:8080
にアクセスすると cAdvisor の UI でメトリック情報を確認することができます
Prometheus に監視対象を追加する
- vim prometheus.yml
scrape_configs
に以下の job_name
を追加しましょう
scrape_configs:
- job_name: 'worker_cadvisor'
static_configs:
- targets: ['192.168.100.12:8080']
追記したら Prometheus のコンテナを再起動します
docker restart prometheus
prometheus
の部分は Prometheus のコンテナ名またはコンテナ ID になります
動作確認
Status -> Targets に監視対象の exporter が追加されていると思います
スタータスが UP になっていることを確認しましょう
メトリック名は container_
から始める項目になります
最後に
Prometheus と cAdvisor を連携してみました
これで各コンテナごとのメトリックが Prometheus で監視できるようになります
目的のコンテナのデータを取得するには promQL を駆使する必要があります
0 件のコメント:
コメントを投稿