一、环境准备及镜像安装
初始环境条件:
·zabbix服务器主机和远程主机网络可用,本例中主机IP:192.168.1.163
·zabbix服务器主机操作系统推荐RHEL7.5、Centos7(1804)或更高
1.docker安装配置
阿里镜像源安装docker
命令:curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
在这里插入图片描述

执行完成后检查版本
命令:docker version
在这里插入图片描述

启动docker
命令:systemctl start docker
在这里插入图片描述

设置docker开机自启
命令:systemctl enable docker
在这里插入图片描述

2.从docker仓库拉取相关镜像到本地
分别执行以下命令拉取所需镜像:
Mysql容器镜像:docker pull mysql
Zabbix server容器镜像:docker pull zabbix/zabbix-server-mysql
Zabbix web容器镜像:docker pull zabbix/zabbix-web-nginx-mysql
Zabbix java gateway容器镜像:docker pull zabbix/zabbix-java-gateway
Zabbix agent容器镜像:docker pull zabbix/zabbix-agent
拉取镜像过程中,会显示进度,完成后会显示编码信息、容器地址等,如下图:
(请注意:截图较老,用的是8.0版本的mysql,正文内容都是用latest版本的)
在这里插入图片描述

常见报错:Error response from daemon… TLS handshake timeout
在这里插入图片描述
此报错产生原因为国内访问docker仓库的网络不稳定,重试即可,如持续失败,建议替换docker镜像源地址,本文不做赘述

全部拉取完成后检查镜像列表
命令:docker images
在这里插入图片描述

上述列表会显示安装好的zabbix的基础服务组件镜像,zabbix server为zabbix服务端,zabbix agent为zabbix监控端。监控端可以安装在本机,也可以安装在其他机器,但需保证服务端和监控端的网络是连通的(能够ping通)。

二、Zabbix组件安装及配置
创建zabbix相关容器时的部分重要参数说明如下:
· TZ=“Asia/Shanghai” —— 设置时区
· ip=172.20.240.x —— 设置容器固定IP,以免容器或服务器重启后IP重新分配导致agent和server连接不上,因为agent和server是通过IP进行绑定的
· privileged=true —— 设置容器运行为root权限,避免权限问题导致监控不到
· p 80:8080 —— 设置端口号,第一个是外部端口号,第二个是容器内部端口号,建议web容器的外部端口改掉,不要用80,其他不用改

1.创建专用于zabbix的子网络
命令:docker network create --subnet 172.20.0.0/16 --ip-range 172.20.240.0/20 zabbix-net
在这里插入图片描述

2.创建专用于zabbix的mysql数据库容器
命令:docker run --name zabbix-database-mysql -t
-e MYSQL_DATABASE=“zabbix”
-e MYSQL_USER=“zabbix”
-e MYSQL_PASSWORD=“zabbix”
-e MYSQL_ROOT_PASSWORD=“root123”
-e TZ=“Asia/Shanghai”
–network=zabbix-net
–ip=172.20.240.1
–restart=always
–privileged=true \(设置root权限,否则部分监控项无法获取到)
-d mysql
–character-set-server=utf8
–collation-server=utf8_bin
在这里插入图片描述
注:MYSQL_USER、MYSQL_PASSWORD、MYSQL_ROOT_PASSWORD可以自定义为更安全的账号和密码

3.创建zabbix java gateway容器(可选,用于监控java项目)
命令:docker run --name zabbix-java-gateway -t
-e TZ=“Asia/Shanghai”
–network=zabbix-net
–ip=172.20.240.2
–restart=always
–privileged=true
-d zabbix/zabbix-java-gateway
在这里插入图片描述

4.创建zabbix server容器
命令:docker run --name zabbix-server-mysql -t
-e DB_SERVER_HOST=“zabbix-database-mysql”
-e MYSQL_DATABASE=“zabbix”
-e MYSQL_USER=“zabbix”
-e MYSQL_PASSWORD=“zabbix”
-e MYSQL_ROOT_PASSWORD=“root123”
-e ZBX_JAVAGATEWAY=“zabbix-java-gateway”
-e TZ=“Asia/Shanghai”
–network=zabbix-net
–ip=172.20.240.3
-p 10051:10051
–restart=always
–privileged=true
-d zabbix/zabbix-server-mysql
在这里插入图片描述

5.创建zabbix web容器
第一个端口号80建议自定义,如:1314,第二个容器内端口号8080不可更改。
命令:docker run --name zabbix-web-nginx-mysql -t
-e ZBX_SERVER_HOST=“zabbix-server-mysql”
-e DB_SERVER_HOST=“zabbix-database-mysql”
-e MYSQL_DATABASE=“zabbix”
-e MYSQL_USER=“zabbix”
-e MYSQL_PASSWORD=“zabbix”
-e MYSQL_ROOT_PASSWORD=“root123”
-e TZ=“Asia/Shanghai”
-e PHP_TZ=“Asia/shanghai”
–network=zabbix-net
–ip=172.20.240.4
-p 80:8080
–restart=always
–privileged=true
-d zabbix/zabbix-web-nginx-mysql
在这里插入图片描述

6.创建zabbix agent容器(zabbix服务端本机监控)
建议根据实际主机IP命名容器,本例中服务器IP为163
命令:docker run --name zabbix-agent-163
-e ZBX_SERVER_HOST=“zabbix-server-mysql”
-e ZBX_HOSTNAME=“Zabbix server”
-e TZ=“Asia/Shanghai”
–network=zabbix-net
–ip=172.20.240.5
-p 10050:10050
–restart=always
–privileged=true
-d zabbix/zabbix-agent
在这里插入图片描述

7.检查安装好的zabbix容器组件
命令:docker ps
在这里插入图片描述

常见问题:列表中个别容器的STATUS一栏为exited等异常状态,一般是由于创建命令输入错误导致,需要删除容器,检查命令后重新创建;还有一种可能是因为容器子网络的IP冲突了,需要检查容器IP。
8.配置zabbix管理平台
浏览器输入服务器IP:192.168.1.163:1314,打开zabbix管理平台页面,默认账号:Admin,默认密码:zabbix
在这里插入图片描述

登录后界面如图:
在这里插入图片描述

8.1配置语言和监控时间段、刷新间隔
进入系统GUI菜单页,按下图进行语言和监控时间段的配置,并点击update
在这里插入图片描述

进入系统Profile菜单,按下图进行刷新间隔的设置,并点击update
在这里插入图片描述

8.2配置自动发现规则
进入系统Discovery菜单页,按下图步骤进行配置,并点击update
在这里插入图片描述
在这里插入图片描述

配置完成后效果如图:
在这里插入图片描述

8.3配置自动发现后的操作规则
进入系统Discovery actions菜单页,按下图步骤进行配置,并点击update
在这里插入图片描述
在这里插入图片描述
配置完成后效果如图:
在这里插入图片描述

三、待监控主机配置
1.配置zabbix服务端本机监控
登录web端后点击左侧Monitoring主菜单的Hosts子菜单,在主机列表中点击默认的Zabbix server,在弹出菜单中点击Configuration
在这里插入图片描述

在弹出的配置菜单框中找到agent一栏,填入zabbix服务器主机上创建zabbix agent容器时设置的IP地址(172.20.240.5),点击update
在这里插入图片描述
等待1分钟左右后刷新页面,此时显示zabbix宿主机上的agent状态为绿色,表示已可以监控此主机
在这里插入图片描述

2.配置远程主机监控端
在其他准备安装zabbix agent监控的主机上查询主机的IP地址,记录此IP(本例中为192.168.1.147),确保zabbix服务器和远程主机能ping通
命令:ifconfig
在这里插入图片描述
在远程主机上创建zabbix agent容器
zabbix服务器主机IP:192.168.1.163
命令:docker run --name zabbix-agent-147
-e ZBX_SERVER_HOST=“192.168.1.163”
-e ZBX_HOSTNAME=“Zabbix server”
-e TZ=“Asia/Shanghai”
-p 10050:10050
–restart=always
–privileged=true
-d zabbix/zabbix-agent
在这里插入图片描述
登录zabbix管理平台,进入host列表页,等待一段时间,即可看到147主机已在线
在这里插入图片描述
至此,在2台服务器上均已安装好监控端,其中一台为主机,可随时登录主机查看监控状态

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐