# Zabbix-with-docker ## 概要 [Github / zabbix / zabbix-docker](https://github.com/zabbix/zabbix-docker) に基づき、ローカル環境を管理するコンテナを作成する。 ローカル環境でZabbix 4.0が稼働しており、これをDockerイメージを利用したZabbix 6.0に移行するため、以下の手順を実行した。 * ローカル環境をZabbix 4.0に移行。 * Zabbix 4.0 から Zabbix 6.0にアップグレード。 このdocker-compose.ymlを起動すると、4つのコンテナが起動する。 * Zabbix server * Zabbix agent * Apache * MariaDB (MySQLから変更、変更理由は好み) ここに登録しているファイルのいくつかは本家のファイルそのままで、登録基準はdocker-compose.ymlで必要であること。 ## 移行方法 ### ダウンロード このリポジトリからダウンロードする。 ``` git clone https://gitea.rohhie.net/rohhie/Zabbix-with-docker.git zabbix cd zabbix ``` ### Zabbix 4.0 ブランチ4.0に切り替える。 ``` git checkout 4.0 ``` 初期設定する。 * env_versディレクトリにあるファイルで、環境変数を設定する。 * グラフで使用するフォントを配置する。 * download-font.shを実行。 * もし、他のフォントを使うなら、それを用意して、zabbix-web-apache-mysqlでそのフォントをマウントする。 * プライベート認証局が署名した証明書でLDAPSで認証をする場合には… * CA証明書(ca.crt)を配置。 * docker-compose.ymlのzabbix-web-apache-mysqlでイメージをビルドする設定に変更。 コンテナを起動して、動作することを確認する。 ``` sudo docker compose up --build ``` 稼働中の環境からデーターをエクスポート。 ``` hoge@OLD:~$ mysqldump --single-transaction --routines -u zabbix -p zabbix > zabbix.dmp ``` コンテナを停止し、データーベースだけを起動して、データーをインポート。 ``` sudo docker compose stop sudo docker compose up zabbix-mysql mysql -u zabbix -p zabbix < zabbix.dmp ``` インポートが完了したら他のコンテナも起動し、データーベースのアップグレードが終わったらデタッチする。 ``` sudo docker compose up ↓ アップグレードが確認できたら、[Ctrl]+[4]でデタッチ。 ``` 変更内容を保存しておく。 ``` git commit -a -m "移行完了" ``` ### Zabbix 6.0 稼働中のコンテナを止める。 データーは./zbx_env/var/lib/mysqlに保管されていて消えることはない。 ``` sudo docker compose down --volumes ``` ブランチ6.0に切り替える。 ``` git checkout 6.0 ``` zabbix 4.0で行った設定を参考に初期設定する。 初期設定ができたら、コンテナを起動する。 zabbix-serverとzabbix-mysqlが起動すると、アップグレード処理が走る。 ``` sudo docker compose up --build ↓ アップグレードが確認できたら、[Ctrl]+[4]でデタッチ。 ``` 問題なく動作したら、変更内容を保存しておく。 ``` git commit -a -m "アップグレード完了" ``` ## その他 細かな設定手順は、メインサイト参照。 https://rohhie.net/zabbix-with-docker/ ## ライセンス GPL 2.0 [Github / zabbix / zabbix-docker](https://github.com/zabbix/zabbix-docker) に基づく。