概要
cAdvisor はコンテナのメトリックを簡単に取得できる監視ツールです
今回はインストールから各コンテナのメトリックの確認までしてみました
環境
- docker 18.03.1-ce
- Ubuntu 16.04 LTS
- cAdvisor (v0.27.4)
インストール
メトリックを取得したいコンテナが動作しているホストで以下を実行します
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
監視に必要なパスをコンテナで ReadOnly でマウントしてファイルからメトリックの情報を取得しています
UI 確認
API もありますが今回は UI から確認してみました
localhost:8080
にアクセスすると localhost:8080/containers/
のトップページにリダイレクトされます
このページだとホストのメトリックしか監視できないので各コンテナの状態が確認できる「Docker Containers」を選択します
すると localhost:8080/docker/
にアクセスします
ここに動作しているコンテナの一覧が表示されると思います
ここからメトリックを確認したいコンテナを選択すると以下のような詳細が画面になります (一部抜粋)
詳細画面では以下を確認することができます
- 起動プロセスの一覧
- CPU 使用率
- メモリ使用率
- ネットワーク転送量
- ファイルシステム使用率
画面を下にスクロールしていくとリアルタイムに上記の情報が確認できると思います
各コンテナの詳細ページではコンテナごとのメトリックが確認できるのでホスト全体で確認したい場合は localhost:8080/containers/
で確認することができます
所感
少ししか触ってないですが所感です
まず複数のホストの監視は基本できません
ホストにメトリック情報を収集するエージェントをインストールして cAdvisor に送信することでできるようですが非公式っぽいです
なので基本はシングルホストの監視として使います
過去に Portainer というツールで監視しましたが基本的にはこれと同じ感じです
Portainer はリモートホストの docker ホストも監視できるので、その点では Portainer のほうがいいかもしれません
またできることはメトリック情報を確認することしかできないのでアラートを飛ばしたりもできません
なのでアラートなどを飛ばしたい場合は Prometheus などの統合監視ツールと連携してコンテナ監視をする感じになります
0 件のコメント:
コメントを投稿