方案一(最简单,容错率低)
该示例示范了如何使用内置 MySQL 数据库、Zabbix server、基于 Nginx Web 服务器的 Zabbix Web 界面和 Zabbix Java gateway 来运行 Zabbix 应用。
docker run --name zabbix-appliance -t -d \
-e PHP_TZ="Asia/Shanghai" \
-v /etc/timezone:/etc/timezone \
-v /etc/localtime:/etc/localtime \
-p 10051:10051 -p 80:80 \
zabbix/zabbix-appliance:latest
-e PHP_TZ="Asia/Shanghai" 参数必须加,如果不加的话,容器里面的时区问题无法处理
执行命令后,查看容器,启动后直接访问就行了,端口是80,这种方式用来做测试简直不要太舒服,生产环境中如果不要求监控存储的话,也可以用,没问题。
方案二(稍复杂,容错率高)
该示例示范了如何运行 MySQL 数据库支持、基于 Nginx Web 服务器的 Zabbix Web 界面和 Zabbix Java gateway。
一、 创建docker容器工作目录
mkdir -p /usr/local/docker/mysql
二、 在Server端创建Zabbix的docker容器
2.1 创建mysql容器
可以根据自己的需求,进行版本的调节。
docker run --name mysql-server -t \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbixadmin" \
-e MYSQL_PASSWORD="zabbixpwd" \
-e MYSQL_ROOT_PASSWORD="zabbixroot" \
-v /usr/local/docker/mysql:/var/lib/mysql \
-v /etc/localtime:/etc/localtime \
-d mysql:5.7 \
--character-set-server=utf8 \
--collation-server=utf8_bin
2. 2 创建zabbix-server-mysql容器
可以根据自己的需求,进行版本的调节。
docker run --name zabbix-server-mysql -t \
-e DB_SERVER_HOST="mysql-server" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbixadmin" \
-e MYSQL_PASSWORD="zabbixpwd" \
-e MYSQL_ROOT_PASSWORD="zabbixroot" \
-v /etc/localtime:/etc/localtime \
--link mysql-server:mysql \
-p 10051:10051 \
-d zabbix/zabbix-server-mysql:centos-5.4.0
2. 3 创建zabbix-web-nginx-mysql容器
注意此处的端口号的映射,这里的web-nginx-mysql容器里面的端口号应该是8080,有的教程上写的是80,笔者开始主机80端口>>映射容器80端口并不能用,当然也有可能是版本不同。
??可以根据自己的需求,进行版本的调节。
docker run --name zabbix-web-nginx-mysql -t \
-e DB_SERVER_HOST="mysql-server" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbixadmin" \
-e MYSQL_PASSWORD="zabbixpwd" \
-e MYSQL_ROOT_PASSWORD="zabbixroot" \
-v /etc/localtime:/etc/localtime \
--link mysql-server:mysql \
--link zabbix-server-mysql:zabbix-server \
-p 80:8080 \
-d zabbix/zabbix-web-nginx-mysql:centos-5.4.0
三、 开启防火墙
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --zone=public --add-port=10051/tcp --permanent
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
四、 登录检测
账号:Admin 密码:zabbix
五、 安装Client端的控件
1.docker 安装
docker run --name zabbix-agent \
--restart=always \
--network=host \
-e ZBX_HOSTNAME="Tomcat1V3_agent" \
-e ZBX_SERVER_HOST="10.0.1.17" \
-e ZBX_METADATA="Tomcat1V3_agent" \
--privileged \
-d zabbix/zabbix-agent:alpine-4.0.24