#author("2022-05-30T05:58:52+00:00","","")
#topicpath
----

#contents

Dockerで Zabbixサーバ環境を構築したメモ。


** サーバの構築 [#c76ff128]
ほぼ、[[意外と知られていないzabbix公式コンテナイメージ - Qiita>https://qiita.com/_BSmile_/items/f77f2a1dec3ebeca0161]] この情報ですが、zabbix-java-gateway が抜けてるっぽいので追加してます。

 # docker run --name mysql-server -t \
      -e MYSQL_DATABASE="zabbix" \
      -e MYSQL_USER="zabbix" \
      -e MYSQL_PASSWORD="zabbix" \
      -e MYSQL_ROOT_PASSWORD="zabbix" \
      -d mysql:5.7


 # docker run --name zabbix-java-gateway -d zabbix/zabbix-java-gateway:latest

 # docker run --name zabbix-server-mysql -t \
      -e DB_SERVER_HOST="mysql-server" \
      -e MYSQL_DATABASE="zabbix" \
      -e MYSQL_USER="zabbix" \
      -e MYSQL_PASSWORD="zabbix" \
      -e MYSQL_ROOT_PASSWORD="zabbix" \
      --link mysql-server:mysql \
      --link zabbix-java-gateway:zabbix-java-gateway \
      -p 10051:10051 \
      -d zabbix/zabbix-server-mysql:latest


 # docker run --name zabbix-web-nginx-mysql -t \
      -e DB_SERVER_HOST="mysql-server" \
      -e MYSQL_DATABASE="zabbix" \
      -e MYSQL_USER="zabbix" \
      -e MYSQL_PASSWORD="zabbix" \
      -e MYSQL_ROOT_PASSWORD="zabbix" \
      -e ZBX_SERVER_HOST="zabbix-server" \
      -e PHP_TZ="Asia/Tokyo" \
      --link mysql-server:mysql \
      --link zabbix-server-mysql:zabbix-server \
      -p 80:80 \
      -d zabbix/zabbix-web-nginx-mysql:latest

で、http://[Dockerサーバ自体のIP]/ にブラウザでアクセスすればOK。

**つづいてエージェント [#i28e6806]
Dockerのサーバ自体を監視するため、エージェントもインストールしときます。

***zabbix-agentのDockerでやるばあい [#yaad8adc]
 docker run --name zabbix-agent \
            --link zabbix-server-mysql:zabbix-server \
            -d zabbix/zabbix-agent:latest

ところでこのエージェントは、このDockerサーバ自体を監視したいので入れてるのですが、このエージェントは個別にIPを持ってて、127.0.0.1:10050じゃ繋がらないorz。

 # docker exec -it [agentのContainer ID] /bin/bash
 bash-4.3# ifconfig
で IPをしらべて、WEB画面のIPアドレス設定を変更しないとダメっぽいですね

***Dockerサーバ自体に直接エージェントを入れる場合 [#w665e728]
もしくは、直接DockerサーバにAgentをインストールします。手順は Zabbix/Zabbix Agentをセットアップする にもありますが、基本、

 # wget http://repo.zabbix.com/zabbix/3.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.4-1+xenial_all.deb
 # sudo dpkg -i zabbix-release_3.4-1+xenial_all.deb
 # sudo apt update
 # sudo apt install zabbix-agent

で、OK。

設定は、Zabbix Serverが Docker上のネットワークで起動している事を注意しながら、つまりDockerの動いてるOS上で
 # ifconfig
 docker0   Link encap:Ethernet  HWaddr 02:42:58:f8:3a:90
           inet addr:172.17.0.1  Bcast:172.17.255.255  Mask:255.255.0.0
とネットワークアドレスを確認しつつ

 # cat /etc/zabbix/zabbix_agentd.conf
 Server=127.0.0.1,172.17.0.0/16 ← Dockerのネットを指定(3.xからネットワーク指定が可能になった。それ以前はサーバのIPを指定する)
 ServerActive=127.0.0.1 ← 変更なし
 ListenIP=0.0.0.0 ←いらないかも。
 Hostname=Zabbix server

とかでしょうか。動いた実績の最小構成は、
 vagrant@ubuntu-xenial:~$ diff /etc/zabbix/zabbix_agentd.conf /etc/zabbix/zabbix_agentd.conf.20180425
 97c97
 < Server=127.0.0.1,172.17.0.0/16
 ---
 > Server=127.0.0.1

でした。

最後にZabbixの WEB画面の Zabbix server の設定も、IPを172.17.0.1:10050 にしておけばOKです。127.0.0.1のままだとダメでした。。






----
この記事は
#vote(おもしろかった[4],そうでもない[2])
- うーん、Photon OSにはAgentいれられないのかなorz..ってことでDockerのAgentをいれるか。 -- [[きの]] &new{2018-04-24 (火) 14:09:19};
- 6.0-latestではzabbix-web-nginx-mysqlのポートバインドが"-p 80:8080 -p 443:8443"に代わっています -- [[kin]] &new{2022-05-30 (月) 14:58:15};
- 6.0-latestではzabbix-web-nginx-mysqlのポートバインドが"-p 80:8080 -p 443:8443"に代わっています -- [[kin]] &new{2022-05-30 (月) 14:58:19};
- 6.0-latestではzabbix-web-nginx-mysqlのポートバインドが"-p 80:8080 -p 443:8443"に代わっています -- [[kin]] &new{2022-05-30 (月) 14:58:23};
- 6.0-latestではzabbix-web-nginx-mysqlのポートバインドが"-p 80:8080 -p 4

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS