目录
一、环境准备
1、搭建zabbix基础环境
二、主动监控与被动监控介绍
三、设置客户端为主动监控
1、给web2主机安装zabbix_agent
2、修改主动监控配置
四、设置zabbix管理端主动监控
1、克隆模板
2、给目标主机绑定主动监控模板
3、查看主动监控的数据
一、环境准备
1、搭建zabbix基础环境
zabbix基础环境部署参照:zabbix基础环境部署_桂安俊@kylinOS的博客-CSDN博客
二、主动监控与被动监控介绍
1、主动和被动都是对被监控端主机而言的
2、zabbix默认采用的是被动监控
- 被动监控:Server向Agent发起连接
- 主动监控:Agent向Server发起连接
3、主动与被动区别:
- 被动模式:被动模式就是由zabbix server向zabbix agent发出指令获取数据, 即zabbix agent被动的去获取数据并返回给zabbix server, zabbix server周期性的向agent 索取数据, 这总模式的最大问题就是会加大zabbix server的工作量, 在数百台服务器的环境下zabbix server不能及时获取到最新数据, 但这也是默认的工作方式。
- 主动模式:是有zabbix agent主动采集数据并返回给zabbix server, 不再需要zabbix server进行干预, 因此主动模式在一定程度上可减轻zabbix server的压力。
4、在被监控主机数量过多的场景下,主动模式可以大大较少zabbix server的压力
被动模式就是zabbix-sevrer主动向zabbix-agent索要数据,好几千台服务器每次都要索要的话会非常的慢,从而影响监控值的刷新,主动模式就是zabbix-agent主动向zabbix-sever汇报数据,也就好比发了个通知,大家来这里集合一样,这样可以大大减轻zabbix server的压力,被动模式每次刷新监控项几乎都是一秒一个,而主动模式则是一秒全部刷新。
5、zabbix也支持分布式监控
三、设置客户端为主动监控
被动监控前文已经介绍过,下面介绍一下主动监控的操作,首先根据前文介绍,搭建好zabbix server环境,然后用web2主机,作为主动监控的客户端。
1、给web2主机安装zabbix_agent
#在web2主机执行
yum install gcc pcre-devel autoconf -y
tar -xvf zabbix-3.4.4.tar.gz #安装包详见前文《zabbix基础环境部署》
cd zabbix-3.4.4
./configure --enable-agent
make install
2、修改主动监控配置
#在web2主机执行
vim /usr/local/etc/zabbix_agentd.conf
修锁修改如下内容:
#Server=127.0.0.1 #注释该行
StartAgents=0 #禁止被动监控
ServerActive=192.168.2.10 #填写zabbix server监控服务器IP,另一定要取消127.0.0.1
Hostname=web2 #告诉监控服务器,是谁发的数据信息一定要和zabbix服务器配置的监控主机名称一致(后面设置)
RefreshActiveChecks=120 #取消注释,默认120秒检测一次
useradd zabbix
killall zabbix_agentd #如果之前有启动agent,需要先关闭再启动
zabbix_agentd
#如果前面已经加入开机自启,下面步骤忽略
echo zabbix_agentd >> /etc/rc.local
chmod +x /etc/rc.local
四、设置zabbix管理端主动监控
1、克隆模板
为了方便,克隆系统自带模板,不过字体自带的是被动监控的模板,我们需要拷贝一个模板,然后将拷贝模板改成主动监控模式。
进入配置--->模板,找到想要克隆的模板:
因为这里都是Linux系统,就选择一个Temlpate OS Linux模板:
点击模板名,进入模板配置,在最下方有一个“全克隆”按钮,点击进行克隆,就会进入到克隆后的模板配置页面,如下图,改下模板名称后,选择最下方添加:
在回到所有模板页面,可以看到多了一个克隆后的用户主动监控的模板,点击监控项,进行监控项更改,将所有监控项该成主动模式:
点击全选所有监控项,再点击最下面批量更新:
更改监控项模式,勾选类型,然后下拉框选择“zabbix客户端(主动式)”,即设置为主动监控,默认的“zabbix客户端”是被动监控模式,更改完后选择最下面的更新:
更新完后回到的模板所有监控项页面可以看到,并不是所有监控项都支持主动监控,可以把不支持主动监控的监控项关闭:
点击一下状态,就可以切换为关闭状态:
至此,一个用户主动监控的监控模板就已经完成。
2、给目标主机绑定主动监控模板
即给web2主机绑定刚刚克隆创建的主动监控的监控模板
配置--->主机--->选择目标主机,如果目标主机已存在,可以点击直接配置,如果不存在,也可以右上角创建主机,这里直接点击web2目标主机:
如下图,需要注意,主机名称一定要和被监控端的/usr/local/etc/zabbix_agentd.conf文件里的Hostname字段设置的主机名一致,不然zabbixserver会接受不到agent客户端发送个过来的监控信息;另外下面的agent代理程序的接口配置,由于现在是主动监控,就不需要向agent客户端索要数据了,所以这里地址和端口都改成0,配置完成先别急着更新,还要更改后面的模板:
选择模板:
我们刚刚创建的主动监控的模板在Templates组里面,所以先切换组到Templates,找到刚刚创建的主动监控的模板:
选择后,先添加,再更新:
3、查看主动监控的数据
由于web2绑定的主动监控的模板,这里每隔120秒后,web2会主动把数据发送给zabbixserver,
Monitoring--->Graphs,主机选择web2,图形随便找一个,比如看cpu负载,如下可以看到已经有数据过来:
在web2运行死循环脚本,增大cpu负载,查看cpu监控图形变化情况:
#在web2执行死循环,增大cpu负载
while :; do echo a; done
查看web2数据图形,有了明显变化,主动监控配置成功: