千家信息网

docker zabbix安装

发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,参考 :https://www.cnblogs.com/double-dong/p/11441168.html镜像准备下载镜像:mysql、zabbix/zabbix-server-mysql、zab
千家信息网最后更新 2025年02月02日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.7docker pull zabbix/zabbix-server-mysqldocker pull zabbix/zabbix-web-nginx-mysql
[root@localhost ~]# docker imagesREPOSITORY                      TAG                 IMAGE ID            CREATED             SIZEzabbix/zabbix-web-nginx-mysql   latest              9102571b2fef        3 weeks ago         155MBzabbix/zabbix-server-mysql      latest              6da679c2a6c6        3 weeks ago         65.8MBzabbix/zabbix-agent             latest              be72aee790c3        3 weeks ago         16.6MBzabbix/zabbix-java-gateway      latest              e175083b2981        3 weeks ago         83.4MBmysql                           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与TAGdocker save -o /opt/zabbix_server.tar zabbix/zabbix-server-mysql:latestdocker save -o /opt/zabbix_nginx.tar zabbix/zabbix-web-nginx-mysql:latestdocker 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

因映射是存储在宿主机上的,为了防止数据丢失,可以使用云备份。

0