架构

image.png

docker部署zabbix-server端:

1.部署zabbix-mysql

docker pull mysql:5.7

  1. 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网页上指定的名字一样 才可以监控到 这台主机
image.png
注:这里的IP地址 的话要写容器自己的IP地址不能够写宿主机的IP地址 
我的架构是  zabbix-server 和 zabbix-agent 都是在同一台物理机器上
image.png

传统部署

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 //开机启动

配置文件改动如下:
image.png