架构
docker部署zabbix-server端:
1.部署zabbix-mysql
docker pull mysql:5.7
docker run --name zabbix-mysql --restart=always -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="zabbix_pwd" -e MYSQL_ROOT_PASSWORD="root_pwd" -itd mysql:5.7
2.部署zabbix-java-gateway
docker pull zabbix/zabbix-java-gateway:centos-4.0.10
docker run \
--name zabbix-java-gateway \
--restart=always \
-itd zabbix/zabbix-java-gateway:centos-4.0.10
3.部署zabbix-server-mysql
docker pull zabbix/zabbix-server-mysql:centos-4.0.10
docker run \
--name zabbix-server-mysql \
--restart=always \
-e DB_SERVER_HOST="zabbix-mysql" \ //指定MySQL的容器名。
-e MYSQL_DATABASE="zabbix" \ //指定MySQL中的数据库名。
-e MYSQL_USER="zabbix" \ //指定MySQL中的一个用户名。
-e MYSQL_PASSWORD="zabbix_pwd" \
-e MYSQL_ROOT_PASSWORD="root_pwd" \
-e ZBX_JAVAGATEWAY="zabbix-java-gateway" \ //Java网关。
--link zabbix-mysql:mysql \ //此容器链接到第1个容器。
--link zabbix-java-gateway:zabbix-java-gateway \ //链接到第2个容器。
-p 10051:10051 \
-itd zabbix/zabbix-server-mysql:centos-4.0.10
docker run --name zabbix-server-mysql --restart=always -e DB_SERVER_HOST="zabbix-mysql" -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="zabbix_pwd" -e MYSQL_ROOT_PASSWORD="root_pwd" -e ZBX_JAVAGATEWAY="zabbix-java-gateway" --link zabbix-mysql:mysql --link zabbix-java-gateway:zabbix-java-gateway -p 10051:10051 -itd zabbix/zabbix-server-mysql:centos-4.0.10
4.部署zabbix-web-nginx-mysql
docker pull ④zabbix-web-nginx-mysql:centos-4.0.10
docker run \
--name zabbix-web-nginx-mysql \
--restart=always \
-e DB_SERVER_HOST="zabbix-mysql" \ //指定MySQL的容器名。
-e MYSQL_DATABASE="zabbix" \ //指定MySQL中的数据库名。
-e MYSQL_USER="zabbix" \ //指定MySQL中的一个用户名。
-e MYSQL_PASSWORD="zabbix_pwd" \
-e MYSQL_ROOT_PASSWORD="root_pwd" \
--link zabbix-mysql:mysql \ //此容器链接到第1个容器。
--link zabbix-server-mysql:zabbix-server \ //链接到第3个容器。
-p 80:80 \
-itd zabbix/zabbix-web-nginx-mysql:centos-4.0.10
docker run --name zabbix-web-nginx-mysql --restart=always -e DB_SERVER_HOST="zabbix-mysql" -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="zabbix_pwd" -e MYSQL_ROOT_PASSWORD="root_pwd" --link zabbix-mysql:mysql --link zabbix-server-mysql:zabbix-server -p 80:80 -itd zabbix/zabbix-web-nginx-mysql:centos-4.0.10
部署zabbix-agent端:
使用docker部署
docker run --name zabbix-agent --restart=always -e ZBX_HOSTNAME="xiaohong" -e ZBX_SERVER_HOST="172.17.0.4" -p 10050:10050 -itd zabbix/zabbix-agent:centos-4.0.10
注: “ZBX_HOSTNAME=”xiaohong” ” 这里指定的主机的名字 要和你在zabix网页上指定的名字一样 才可以监控到 这台主机 
注:这里的IP地址 的话要写容器自己的IP地址不能够写宿主机的IP地址
我的架构是 zabbix-server 和 zabbix-agent 都是在同一台物理机器上
传统部署
wget http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.10-1.el7.x86_64.rpm //下载
rpm -ivh zabbix-agent-4.0.10-1.el7.x86_64.rpm //安装
vim /etc/zabbix/zabbix_agentd.conf //配置,如下图所示。
systemctl start zabbix-agent //启动
systemctl enable zabbix-agent //开机启动
配置文件改动如下:
