实验环境: c e n t o s 7 : 192.168.100.12 、 r h e l 9 : 192.168.100.24 实验环境:centos7:192.168.100.12、rhel9:192.168.100.24 实验环境:centos7:192.168.100.12、rhel9:192.168.100.24
1、安装数据库
下载镜像,zabbix 6.x版本要求使用MySQL 8.0
[root@docker ~]# docker pull mysql:8.0
创建存储卷,用于持久化MySQL数据
[root@docker ~]# docker volume create -d local mysql_data
mysql_data
[root@docker ~]# docker volume create -d local mysql_logs
mysql_logs
[root@docker ~]# docker volume create -d local mysql_conf
mysql_conf
启动容器
[root@docker ~]# docker run --name mysql-server -t \
-v mysql_data:/var/lib/mysql \
-v mysql_logs:/var/log/mysql \
-v mysql_conf:/etc/mysql \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix_pwd" \
-e MYSQL_ROOT_PASSWORD="123456" \
--restart=unless-stopped \
-d mysql:8.0 \
--character-set-server=utf8 --collation-server=utf8_bin \
--default-authentication-plugin=mysql_native_password
2、安装zabbix-java-gateway
下载镜像
[root@docker ~]# docker pull zabbix/zabbix-java-gateway:alpine-6.2-latest
启动容器
[root@docker ~]# docker run --name zabbix-java-gateway -t \
--restart=unless-stopped \
-d zabbix/zabbix-java-gateway:alpine-6.2-latest
3、安装zabbix-server
下载镜像
[root@docker ~]# docker pull zabbix/zabbix-server-mysql:6.2-alpine-latest
创建存储卷,用于存储zabbix配置文件
[root@docker ~]# docker volume create -d local zabbix_server
zabbix_server
启动容器,开放10051/TCP端口,用于接收监控数据。添加–link参数,实现MySQL和Java-gateway容器间通信
[root@docker ~]# docker run --name zabbix-server-mysql -t \
-v zabbix_server:/etc/zabbix \
-e DB_SERVER_HOST="mysql-server" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix_pwd" \
-e MYSQL_ROOT_PASSWORD="123456" \
-e ZBX_JAVAGATEWAY="zabbix-java-gateway" \
--link mysql-server:mysql \
--link zabbix-java-gateway:zabbix-java-gateway \
--restart=unless-stopped \
-p 10051:10051 \
-d zabbix/zabbix-server-mysql:alpine-6.2-latest
4、安装zabbix web界面
下载镜像
[root@docker ~]# docker pull zabbix/zabbix-web-nginx-mysql:alpine-6.2-latest
启动容器
[root@docker ~]# docker run --name zabbix-web-nginx-mysql -t \
-e PHP_TZ="Asia/Shanghai" \
-e ZBX_SERVER_HOST="zabbix-server-mysql" \
-e DB_SERVER_HOST="mysql-server" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix_pwd" \
-e MYSQL_ROOT_PASSWORD="123456" \
--link mysql-server:mysql \
--link zabbix-server-mysql:zabbix-server \
-p 80:8080 \
--restart unless-stopped \
-d zabbix/zabbix-web-nginx-mysql:alpine-6.2-latest
5、登录zabbix
登录地址:http://localhost/
账户密码:Admin/zabbix
6、安装agent
注释:zabbix agent部署简单快捷,可以使用docker、二进制包等方式安装,此处演示docker的安装方式
下载镜像
[root@rhel ~]# docker pull zabbix/zabbix-agent:alpine-6.2-latest
创建存储卷,用于存储agent配置文件
[root@rhel ~]# docker volume create -d local zabbix_agent
zabbix_agent
启动agent容器
[root@rhel ~]# docker run --name zabbix-agent -t \
-v zabbix_agent:/etc/zabbix \
-e ZBX_HOSTNAME="host1" \
-e ZBX_SERVER_HOST="192.168.100.12" \
-e ZBX_SERVER_PORT=10051 \
-p 10050:10050 \
--restart=unless-stopped \
--privileged \
-d zabbix/zabbix-agent:alpine-6.2-latest
注释:如果是部署在zabbix Server主机上的监控agent,此时的ZBX_SERVER_HOST需改为zabbix server的容器IP,而不能用主机IP
7、添加主机
注释:在目标主机安装好aget后,就能够在zabbix_server端配置相关的主机监控
1.点击创建主机,创建新的主机配置
2.配置完成后,等待一会便可看到监控目标生效
3.查看监控数据,可看到已正常获取数据