Docker Compose な zabbix をサービス化する
- docker-compose で動作する zabbix を systemd でサービス化するメモです
- ここでは、zabbix 6.2 を稼働させて、systemd のサービスとして登録します
- dockerの設定、docker-composeの説明は省きます
前提
- 利用する OS は ubuntu
$ uname -a
Linux nouer 5.4.0-125-generic #141-Ubuntu SMP Wed Aug 10 13:42:03 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.5 LTS"
$ cat /etc/os-release
NAME="Ubuntu"
VERSION="20.04.5 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.5 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
$ docker --version
$ Docker version 20.10.18, build b40c2f6
$ docker-compose --version
docker-compose version 1.29.2, build 5becea4c
- zabbix の docker-compose のインストールフォルダは、/usr/local/bin/zabbix-docker
- インストールする zabbix は 6.2
- zabbix は ubuntu_mysql を利用する
zabbix のインストール
$ cd /usr/local/bin
$ git clone https://github.com/zabbix/zabbix-docker.git
$ cd zabbix-docker
$ git branch
* 6.2
$ cp docker-compose_v3_ubuntu_mysql_latest.yaml docker-compose.yaml
$ docker-compose pull
zabbix の起動
$ docker-compose up -d
zabbix の動作確認
- terminal で確認
$ docker-compose logs -f
- ブラウザでもAdmin/zabbixでログインして確認
zabbix の停止
$ docker-compose down
systemd のユニットファイルを作成
- ユニットファイル
/etc/systemd/system/docker-compose-service@.service
を作成する
$ cat /etc/systemd/system/docker-compose-service@.service
[Unit]
Description=%i managed by docker-compose
Requires=docker.service
[Service]
Type=simple
Environment=COMPOSE_FILE=/usr/local/bin/%i/docker-compose.yaml
ExecStartPre=-/usr/local/bin/docker-compose -f ${COMPOSE_FILE} down --volumes
ExecStart=/usr/local/bin/docker-compose -f ${COMPOSE_FILE} up
ExecStop=/usr/local/bin/docker-compose -f ${COMPOSE_FILE} down --volumes
[Install]
WantedBy=multi-user.target
systemd のサービス登録
$ sudo systemctl enable docker-compose-service@zabbix-docker
systemd でサービス化した zabbix を起動
$ sudo systemctl start docker-compose-service@zabbix-docker
systemd でサービス化した zabbix の動作確認
- terminal で確認
$ sudo systemctl status docker-compose-service@zabbix-docker
または
$ docker-compose logs -f
- ブラウザでもAdmin/zabbixでログインして確認
systemd でサービス化した zabbix を停止
$ sudo systemctl stop docker-compose-service@zabbix-docker
systemd のサービス解除
$ sudo systemctl disable docker-compose-service@zabbix-docker
さいごに
かんたんでしたね