docker zabbix安裝

參考 :https://www.cnblogs.com/double-dong/p/11441168.html

鏡像準備

下載鏡像:mysql、zabbix/zabbix-server-mysql、zabbix/zabbix-web-nginx-mysql

docker pull mysql:5.7
docker pull zabbix/zabbix-server-mysql
docker pull zabbix/zabbix-web-nginx-mysql
[root@localhost ~]# docker images
REPOSITORY                      TAG                 IMAGE ID            CREATED             SIZE
zabbix/zabbix-web-nginx-mysql   latest              9102571b2fef        3 weeks ago         155MB
zabbix/zabbix-server-mysql      latest              6da679c2a6c6        3 weeks ago         65.8MB
zabbix/zabbix-agent             latest              be72aee790c3        3 weeks ago         16.6MB
zabbix/zabbix-java-gateway      latest              e175083b2981        3 weeks ago         83.4MB
mysql                           5.7                 1e4405fe1ea9        3 weeks ago         437MB

mysql安裝

docker run --name mysql-server \
-v /etc/localtime:/etc/localtime -t \
-v /home/docker/data/mysql:/var/lib/mysql \
--hostname zabbix_mysql \
-p 3306:3306 \
--restart=always \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix" \
-e MYSQL_ROOT_PASSWORD="zabbix" \
-d mysql:5.7 \
--character-set-server=utf8 --collation-server=utf8_bin

安裝java-gateway

docker run --name zabbix-java-gateway \
-v /etc/localtime:/etc/localtime -t \
-d zabbix/zabbix-java-gateway:latest

安裝zabbix-server

docker run --name zabbix-server-mysql \
-v /etc/localtime:/etc/localtime:ro -t \
-v /home/docker/data/zabbix:/usr/lib/zabbix \
-v /home/zabbix/alertscripts:/usr/lib/zabbix/alertscripts \
 -v /home/zabbix/externalscripts:/usr/lib/zabbix/externalscripts \
--restart=always \
-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_JAVAGATEWAY="zabbix-java-gateway" \
--link mysql-server:mysql \
--link zabbix-java-gateway:zabbix-java-gateway \
-p 10051:10051 \
-d zabbix/zabbix-server-mysql:latest

/usr/lib/zabbix/alertscripts
該卷用於保存自定義警報腳本,它是AlertScriptsPath參數zabbix_server.conf
/usr/lib/zabbix/externalscripts
外部檢查(項目類型)使用該卷,它是ExternalScripts參數zabbix_server.conf
安裝前端頁面 將宿主機的localtime 與容器的localtime映射

docker run --name zabbix-web-nginx-mysql \
-v /etc/localtime:/etc/localtime -t \
--restart=always \
-e PHP_TZ="Asia/Shanghai" \
-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-server-mysql:zabbix-server \
-p 8080:80 \
-p 8443:443 \
-d zabbix/zabbix-web-nginx-mysql:latest

此時瀏覽器訪問宿主機8080端口,即可使用zabbix-server服務
帳號:admin,密碼:zabbix

鏡像的導出與導入

鏡像的導出

docker save -o /opt/zabbix_agent.tar zabbix/zabbix-agent:latest
#/opt/zabbix_agent.tar 導出鏡像的位置及名稱
#zabbix/zabbix-agent:latest 導出鏡像的REPOSITORY與TAG
docker save -o /opt/zabbix_server.tar zabbix/zabbix-server-mysql:latest
docker save -o /opt/zabbix_nginx.tar zabbix/zabbix-web-nginx-mysql:latest
docker save -o /opt/zabbix_mysql.tar mysql:5.7

我們查看/opt下文件列表,可以看到導出成功

ll /opt

-rw------- 1 root root 61114368 Dec 16 14:54 zabbix_agent.tar

-rw------- 1 root root 305571840 Dec 16 15:02 zabbix_mysql.tar

-rw------- 1 root root 182195200 Dec 16 15:01 zabbix_nginx.tar

-rw------- 1 root root 112269824 Dec 16 15:00 zabbix_server.tar

導入鏡像:

docker load -i /opt/zabbix_agent.tar

#/opt/zabbix_agent.tar爲剛剛導出的鏡像

docker load -i /opt/zabbix_server.tar

docker load -i /opt/zabbix_nginx.tar

docker load -i /opt/zabbix_mysql.tar

再次使用docker images,可以看到鏡像已經導入成功,可以在當前未聯網機器上使用

zabbix重新部署與遷移

對於使用了docker的zabbix來說,因爲我們已經做了存儲的映射,所以數據庫和zabbix的配置可以很容器的遷移到其他機器上,拷貝宿主機上如下目錄,然後重新部署zabbix容器即可。

/home/docker/data/zabbix

/home/docker/data/mysql

因映射是存儲在宿主機上的,爲了防止數據丟失,可以使用雲備份。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章