LoginSignup
2
2

More than 3 years have passed since last update.

Zabbix Server2.2 Dockerコンテナのリソース監視

Last updated at Posted at 2019-10-09

こちらのサイトを参考に進めています。
https://dev.classmethod.jp/cloud/zabbix-docker-monitoring/

概要

対象のホスト機へ監視用のDockerコンテナを作成し、zabbix_serverで監視することで、その他のDockerコンテナも監視できる。
取得できる値 -> CPU MEM SWAP 死活監視
その他にも未検証ですが、ネットワーク監視用のテンプレートもありました。
https://raw.githubusercontent.com/cavaliercoder/zabbix-module-sockets/master/templates/Template_App_TCP_Sockets_3.2.xml

注意

以下手順では、Dockerimageを「zabbix-agent-xxl」ではなく一つ古い「dockbix-agent-xxl-limited」を使用してます。
(dockbix-agent-xxl-limited はCPUの値が取得できず断念...)

テンプレートの入手 -> インポート

テンプレートURL: https://github.com/monitoringartist/zabbix-docker-monitoring/blob/master/template/Zabbix-Template-App-Docker.xml
リンクのままだと使えないので以下のように編集する
(zabbix2.2ではfilerが使えないようです。ここでだいぶハマりました...)

52行目の「filter」をコメントアウト
<!--               <filter>
                        <evaltype>0</evaltype>
                        <formula/>
                        <conditions/
                    </filter>
 -->

■zabbix-server へテンプレートをインポート

設定 -> テンプレート -> インポート -> ファイルを選択 しインポート

dockerコンテナの作成

docker監視対象へモニタリング用のdockerコンテナを起動させる。
(portは適宜使用していないportを使用。下記では、ホスト機もzabbix-agentを入れているので、10150使用。)
には監視元serverのIPを入力

docker pull monitoringartist/dockbix-agent-xxl-limited
docker run \
  --name=dockbix-agent-xxl-limited \
  -h docker-host-1 \
  -p 10150:10050 \
  -v /:/rootfs \
  -e "ZA_Server=<ZABBIX SERVER IP/DNS NAME>" \
  -d monitoringartist/dockbix-agent-xxl-limited:latest

zabbix管理画面で新たにホストの追加

- ホスト名はわかりやすいように {$HOSTNAME}_docker_monitoring など
- 設定 -> ホスト -> ホストの作成
ホスト名: example_docker_monitoring
グループ: 適宜
IP: ホストのIP
ポート: 10150
テンプレート: Templates -> Template App Docker - www.monitoringartist.com
しばらくすると値が取得できます。

監視サーバーから以下コマンド実行すると値が取得できているかわかります。

zabbix_get -s  <監視対象IP> -k docker.discovery -p 10150

追伸 (トリガーの設定,不具合など)

トリガー設定
■5分間値が取得できなかったら (dockbix-agent-xxlが停止したことを想定)
Container {#HCONTAINERID} is not running
条件式: {Template App Docker - www.monitoringartist.com:docker.up[/{#HCONTAINERID}].nodata(5m)}=1

■5回連続でdocker.upが0の値(Exited 状態の場合)
Container {#HCONTAINERID} is not running
条件式: {Template App Docker -www.monitoringartist.com:docker.up[/{#HCONTAINERID}].count(#5,0,"eq")}=5

■dockbix-agent-xxlを一度停止すると起動できなくなるので(謎ですが)
再度作成し直す。

docker stop dockbix-agent-xxl
docker rm dockbix-agent-xxl
docker run \
  --name=dockbix-agent-xxl \
  -h docker-host-1 \
  -p 10150:10050 \
  -v /:/rootfs \
  -e "ZA_Server=<ZABBIX SERVER IP/DNS NAME>" \
  -d monitoringartist/dockbix-agent-xxl-limited:latest

参考

https://dev.classmethod.jp/cloud/zabbix-docker-monitoring/
https://github.com/anapsix/zabbix-haproxy/issues/1
https://github.com/anapsix/zabbix-haproxy/pull/2
https://hub.docker.com/r/monitoringartist/dockbix-agent-xxl-limited/

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2