Dockerをしようした、zabbixの構築を行いましたが、
zabbixでのDocker監視設定に苦労したため、備忘録として記載しております。
環境
zabbixserverのOS: centOS:7
他ホストのOS: ubuntu:18.04
Docker: 19.03.5
docker-compose: 1.25.0
zabbix serverでのzabbix server と zabbix agentの構築
zabbix Serverとzabbix agentの設定を行う
今回はDocker imageを利用
Dockerのimageはzabbix:4.0.6で構築されているようで
最新のzabbix:4.2等はまだ、対応していない模様
1から自分で構築するべ対応可能なのかもしれないが、今回はあるもので構築
version: '3'
services:
# ↓任意のサービス名
zabbix-agent:
image: monitoringartist/dockbix-agent-xxl-limited:latest
# ↓任意のコンテナ名
container_name: zabbix-agent
# ↓任意のホスト名
hostname: zabbix-agent
environment:
ZA_Server: 0.0.0.0/0
ZA_ServerActive: zabbix-server
volumes:
- /:/rootfs
- /var/run:/var/run
restart: always
# ↓任意のサービス名
zabbix-db:
image: monitoringartist/zabbix-db-mariadb
# ↓任意のコンテナ名
container_name: zabbix-db
environment:
MARIADB_USER: ${DB_USER}
MARIADB_PASS: ${DB_USER_PASSWORD}
volumes:
- /etc/localtime:/etc/localtime:ro
- ./zabbix-db-data:/var/lib/mysql
restart: always
# ↓任意のサービス名
zabbix-server:
image: monitoringartist/dockbix-xxl:latest
# ↓任意のコンテナ名
container_name: zabbix-server
environment:
ZS_DBHost: zabbix-db
ZS_DBUser: ${DB_USER}
ZS_DBPassword: ${DB_USER_PASSWORD}
volumes:
- /etc/localtime:/etc/localtime:ro
- ./zabbix-server/alertscripts:/usr/local/share/zabbix/alertscripts
ports:
- 80:80
- 10051:10051
restart: always
DB_USER=zabbix
DB_USER_PASSWORD=zabbix
docker-compose.ymlと.envは、同じディレクトリに配置
zabbix server以外hostでのzabbix agent構築
version: '3'
services:
# ↓任意のサービス名
xxx-zabbix-agent:
image: monitoringartist/dockbix-agent-xxl-limited:latest
# ↓任意のコンテナ名
container_name: xxx-zabbix-agent
# ↓任意のホスト名
hostname: xxx
environment:
ZA_Server: xxx.xxx.xxx.xxx ←zabbixServerのIPアドレス
ZA_ServerActive: zabbix-server
volumes:
- /:/rootfs
- /var/run:/var/run
expose:
- "10050"
ports:
- "10050:10050"
restart: always
zabbixServerでの設定
ホストの設定は、Docker特有の設定等はない。
ホストの設定時に、テンプレートの設定を行う。
新規テンプレートのリンクを押下して、[Template OS Linux for Dockbix Agent XXL - www.monitoringartist.com] を選択する。
選択したら、テンプレートとのリンクに表示されているか確認し、追加の選択する。
最後
あとは、認識されるか待つのみ・・・
認識されたら、コンテナ起動分のリソース情報が見れるようになる。
随時コンテナを追加していっても、勝手にデータを取得して、表示してくれる
参考リンク
Docker監視用のZabbix Server/Agentをdocker-composeでまとめて立ち上げて簡単に監視する
Zabbix で Docker コンテナの状態を監視する
Zabbix 3.4でdocker上のZabbix Serverから監視しやすくなったよ