关于zabbix
系列的博文我已经很久没有更新了,主要原因是最近太忙了。如果读者诸君有认真阅读我前面的文章并亲自实践过的话,相信你肯定会大有收获的。到目前为止zabbix
的基础知识在我的博文中基本已经全都涉及到了,至于如何运用,遇到问题如何解决建议大家多看看官方的文档。
zabbix-proxy就是zabbix server的代理,zabbix-proxy 和zabbix-server之间通过心跳机制进行数据的同步,通过zabbix-proxy收集客户机的监控项信息,然后再同步到zabbix-server服务器的数据库,这样zabbix-server和zabbix-proxy配合就解决了非zabbix-server同一网段的监控的问题。
前提条件
本文主要讲解如何安装并配置zabbix-proxy
服务器,在开始下面的操作之前你需要准备好一台已经安装好zabbix-server的服务器,如果您对zabbix-server的安装还不太熟悉的话,请移步在下的拙作zabbix6.0 LTS Sever 安装,下面是我的操作环境。
- ubuntu 2004 server
- zabbix 6.0 LTS
- Mysql 8.0.31(通过apt源安装)
1.选配zabbix proxy
首先登录zabbix的官网,通过下载页面选择你要安装的zabbix-proxy的版本号,注意要和你预安装的zabbix-server的版本一致。
zabbix官网下载页
根据自己的实际情况完成上面的选配,选配完成后页面会自动生成对应的安装代码,上图就是我的选择。
# wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-4%2Bubuntu20.04_all.deb
# dpkg -i zabbix-release_6.0-4+ubuntu20.04_all.deb
# apt update
2.安装zabbix proxy
通过页面中b.install zabbix proxy下面的代码框中的代码进行安装。下面的代码是我选择mysql数据库后生成的代码,如果你选择的不是mysql数据库则不可以使用下面的代码来安装。
# apt install zabbix-proxy-mysql zabbix-sql-scripts
安装过程中没有报错信息既是安装成功。
3.创建并初始化proxy数据库
3.1 创建proxy数据库
由于zabbix server 和zabbix proxy部署在同一台机器上,所以它们使用的数据库名称必须有所区分,不能使用同一个数据库。下面我新建一个zabbix_proxy数据库,这个数据库就是zabbix-proxy的主库。
登录数据库,使用下面代码创建zabbix_proxy数据库。
use mysql;
create database zabbix_proxy character set utf8mb4 collate utf8mb4_bin;
create user zabbix_proxy@localhost identified by 'yourpassword'; #不需要创建新用户,使用zabbix-server的用户,并将zabbix_proxy数据库的所有权限赋给zabbix用户就可以了
grant all privileges on zabbix_proxy.* to zabbix@localhost;
flush privileges;
quit
🎶 由于zabbix-server 和 zabbix-proxy需要使用同一套前端页面展示监控信息,所以无需给zabbix-proxy新创建新用户,将zabbix-proxy数据库的权限赋给zabbix-server的用户zabbix就可以了。
3.2 导入zabbix-proxy的schema
# cat /usr/share/zabbix-sql-scripts/mysql/proxy.sql | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix_proxy
🎶 注意 -uzabbix,u后面的‘zabbix’是安装zabbix-server时创建的zabbix用户名,-p zabbix_proxy中‘zabbix_proxy’是zabbix-proxy的数据库名。
在上述导入zabbix-proxy schema的过程中输入密码后并没有进度信息,需要大家耐心等待一会。数据导入过程中只要没有报错信息,等回到终端提示符后就说明导入成功了。
上图就是导入成功的图片。
3.3 配置zabbix_proxy.conf
修改/etc/zabbix/zabbix_proxy.conf
文件,将DBPassword
修改成你新建的zabbix_proxy数据库的密码。此处要对应你在数据库中新建的zabbix_proxy的用户名和密码。配置如下
Server=x.x.x.x # 此处最好是写上ip地址,虽然是localhost
Hostname=Zabbix proxy # 默认的Hostname 是Zabbix proxy 在管理页面中添加zabbix proxy时名称要和此处的一致
ListenPort=10061 # 此处监听的端口,不能和server的10051相同,否则无法启动
DBUser=zabbix # 和zabbix-server是同一个用户
DBPassword=password
修改zabbix-proxy默认的端口号,由于zabbix-server和zabbix-proxy使用同一台服务器,这两个应用使用的默认端口都是10051,所以要把zabbix-proxy的默认端口修改成不同与zabbix-server的,不然会出现无法启动的情况。(这里我的zabbix-proxy修改成了10061,注意在防火墙中将此端口放开)
4.验证
重启zabbix server,zabbix proxy server,并将zabbix-proxy设置开机自启。
systemctl restart zabbix-server zabbix-agent zabbix-proxy
systemctl enable zabbix-proxy
查看一下zabbix-server,zabbix-proxy,zabbix-agent的状态,如果出现下图中信息,说明zabbix-proxy的安装没有问题了。
systemctl status zabbix-server
systemctl status zabbix-proxy
systemctl status zabbix-agent
4.1 创建zabbix-proxy代理
通过上面的步骤,已经完成zabbix-proxy的安装了,接下来需要将zabbix-proxy添加到“agent代理程序”中,非zabbix-server网段的主机可以通过zabbix-proxy代理实现zabbix-server对其的监控。。
登录管理页面,“创建代理”。
agent代理程序名称
要和/etc/zabbix/zabbix_proxy.conf
文件中的Hostname
一致。
4.2 通过zabbix-proxy添加监控主机
通过 zabbix-proxy添加一个非zabbix-server网段的主机。
登录zabbix的配置管理页面,找到配置选项,点击右上角的“创建主机”,通过zabbix-proxy创建一个主机。
在监测选项卡中查看新建的主机,如果出现类似下图的情景说明你通过代理服务器新建的监控主机成功了。
👿 注意:在新建主机时,客户端的IP地址要使用客户机的真实IP地址,不能使用127.0.0.1。由于zabbix-proxy需要向zabbix-server同步数据,所以新建的监控主机可能数据不会马上出现在监控页面,要耐心等待一段时间,只要ZBX图标正常变绿,agent代理程序心跳正常说明你的配置是没问题的,只要耐心等待即可。如果ZBX图标是红色,则需要进一步排查了。
好了,至此通过zabbix-proxy添加其他网段监控主机的教程就结束了,有什么问题大家可以留言给我,我会抽时间解答的。