主动模式流程:(默认为被动模式)
主动模式一定要记得设置ServerActive=ServerIP
Agent向Server建立一个TCP连接
Agent请求需要检测的数据列表
Server响应Agent,发送一个Items列表
Agent允许响应 TCP连接完成本次会话关闭
Agent开始周期性地收集数据
一、Zabbix的主动监控和被动监控端
zabbix默认采用的是被动监控,主动和被动都是对被监控端主机而言的!
(一)被动监控
Server向Agent发起连接,发送监控key,Agent接受请求,响应监控数据。
(二)主动监控
Agent向Server发起连接,Agent请求需要检测的监控项目列表,Server响应Agent发送一个items列表,Agent确认收到监控列表,TCP连接完成,会话关闭,Agent开始周期性地收集数据
这样Server不用每次需要数据都连接Agent,Agent会自己收集数据并处理数据,Server仅需要保存数据即可
二、Zabbix主动监控的优势
当被监控的主机达到一定量级后,Zabbix服务器的性能会不够,会越来越慢,这时候就可以考虑使用主动监控,这样可以缓解Zabbix的性能压力。同时Zabbix主动监控也支持分布式监控
三、设置Zabbix主动监控的步骤
步骤目录:
步骤一:添加被监控主机
1.1 为被监控主机安装部署zabbix agent
1.2 修改agent配置文件
步骤二:在Zabbix监控页面上创建主动监控的监控模板
2.1 克隆Zabbix自动的监控模板
2.2 修改模板中的监控项目的监控模式
2.2 禁用部分监控项目
步骤三:添加监控主机
3.1 手动添加监控主机(主动模式监控)
3.2 为主机添加监控模板
3.3 查看效果
具体的操作步骤:
步骤一:添加被监控主机
1.1 为被监控主机安装部署zabbix agent
yum -y install gcc pcre-devel
tar -xf zabbix-3.4.4.tar.gz
cd zabbix-3.4.4/
./configure --enable-agent
make && make install
1.2 修改agent配置文件
将agent监控模式修改为主动模式
vim /usr/local/etc/zabbix_agentd.conf
#Server=127.0.0.1,192.168.2.100 #注释该行,允许谁监控本机,192.168.2.100是在做被动监控时设置的Zabbix监控主机的IP
StartAgents=0 #将这里设置为0,是禁止被动监控,不启动zabbix_agentd服务
ServerActive=192.168.2.100 #(zabbix-server ip)允许哪些主机以主动模式监控本机,一定要取消127.0.0.1
Hostname=zabbix_web2 #告诉监控服务器,是谁发的数据信息一定要和zabbix服务器添加的监控主机名称一致,可以在后面设置(最好用zabbix-agent机的IP)
RefreshActiveChecks=120 #设置默认120秒检测一次
UnsafeUserParameters=1 #允许自定义key
Include=/usr/local/etc/zabbix_agentd.conf.d/
killall zabbix_agentd #关闭服务
#zabbix_agentd #启动服务
步骤二:在Zabbix监控页面上创建主动监控的监控模板
2.1 克隆Zabbix自动的监控模板
为了方便,克隆系统自带模板
点击Configuration(配置)–>Templates(模板)–>选择Template OS Linux–>全克隆,克隆该模板,新建一个新的模板。
新模板名称为:Template OS Linux ServerActive
2.2 修改模板中的监控项目的监控模式
将模板中的所有监控项目全部修改为主动监控模式,通过Configuration(配置)–>Templates(模板)–>选择新克隆的模板,点击后面的Items(监控项)–>点击全选,选择所有监控项目,点击批量更新,将类型修改为:Zabbix Agent(Active主动模式)
2.2 禁用部分监控项目
批量修改监控项的监控模式后,并非所有监控项目都支持主动模式,批量修改后,会发现有几个没有修改主动模式成功,说明,这些监控项目不支持主动模式,关闭即可
可以点击类型排序,方便操作,点击状态即可关闭
步骤三:添加监控主机
3.1 手动添加监控主机(主动模式监控)
在Zabbix监控服务器,添加被监控的主机(主动模式),设置主机名称:zabbix_web2,注意,这个必须与被监控端的配置文件Hostname一致),将主机添加到Linux servers组,IP地址修改为0.0.0.0,端口设置为0
注意:
(1).如果IP写0.0.0.0 端口为0,则可以接收到数据,但是zbx信息显示为红色,且微信报警失效(无论隔离网里的客户端映射对外的端口为10050还是10051)
(2).如果ip写127.0.0.1端口为10051,则可以接受收到数据,可以有报警,但是zbx显示红色(无论隔离网里的客户端映射对外的端口为10050还是10051)
(3).如果ip写127.0.0.1端口写10050,则可以接收数据,可以报警,zbx也变为绿色,此方法正确(无论隔离网里的客户端映射对外的端口为10050还是10051)
3.2 为主机添加监控模板
选择刚刚创建的模板(主动模式),添加链接模板到主机2)验证监控效果
3.3 查看效果
查看数据图表,点击Monitoring–>Graphs菜单,选择需要查看的主机组、主机以及图形,CPU、内存等其他数据可用正常获取,但是,查看分区图表时并无数据,因为分区数据采用的是自动发现监控,与普通监控项一样,修改为主动模式即可,选择Template OS Linux ServerActive模板,修改Discovery自动发现为主动模式
注:监控模板调整图示
克隆一个temple os linux模版来修改
克隆之后,修改名称,点击添加
进入模版列表找到刚到添加的模版,并点击监控项
全选
然后找到最下方的批量更新
类型打勾,选择主动式,然后更新
更新自动发现规则的监控项
按照刚才的方法更新监控项
把不支持主动式的监控项暂停
添加主机
配置模版
添加完成之后,你会发现zabbix的Z灯不亮,因为服务器是基于被动模式的。(zbx灯不亮的主要原因是因为监控项里禁用了agent.ping项)
可以查看主动模式自动提交的item
查看监控的图像
#主动监控模式下监控不出现硬盘和网卡情况解决#
点击模版-主动监控的模板-自动发现规则
点击监控项原型-进去之后一个个点击,修改成主动式监控,在模版修改只,主动就会自动应用
在图形界面查看:网卡情况和硬盘情况都出来了
主动模式监控多台zabbix server无压力…