Zabbix:主动模式
简介
- Zabbix 是由 Alexei Vladishev 开发的一种网络监视、管理系统,基于 Server-Client 架构。可用于监视各种网络服务、服务器和网络机器等状态,官方站点:https://www.zabbix.com。
- 如何自动化批量添加zabbix监控就要用到zabbix的主动模式,主动模式分为agent的主动和proxy的主动,主动和被动都是针对zabbix的agent和proxy来说的;所谓主动,就是agent或proxy主动向服务器请求监控项并报告监控数据,被动则是agent和proxy监听端口等待服务器来取相应的监控项和监控数据。
- 本文将介绍如何使用zabbix的agent和proxy批量添加主机的方法,希望对需要的小伙伴有所帮助。
主动模式逻辑结构
zabbix-agent主动模式配置
和agent的被动模式相比,配置文件中去掉Server=zabbix-server.glinux.top的配置
cat >> /etc/zabbix/zabbix_agentd.conf <<"EOF"
# William Guozi
# https://www.cnblogs.com/William-Guozi
# You are free to modify and distribute this code,
# so long as you keep my name and URL in it.
#----------------Start of conf------------------#
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
StartAgents=0
# zabbix server地址,我这里使用了域名,方便以后调整
ServerActive=zabbix-server.glinux.top
HostMetadataItem=system.uname
Include=/etc/zabbix/zabbix_agentd.d/*.conf
UnsafeUserParameters=1
EOF
zabbix-proxy主动模式配置
proxy 的主动模式是在server端控制的,server在收到proxy的注册时,可以选择其监控的模式,建议使用主动模式,好处有两点:1.proxy主动收集数据,减轻server端压力,2.proxy不需要映射端口,只需要proxy能够连接server端即可,增加安全性。
cat >> /etc/zabbix/zabbix_proxy.conf << "EOF"
# William Guozi
# https://www.cnblogs.com/William-Guozi
# You are free to modify and distribute this code,
# so long as you keep my name and URL in it.
#----------------Start of conf------------------#
Server=zabbix-server.glinux.top
ServerPort=10051
Hostname=Proxy-HK
LogFile=/var/log/zabbix/zabbix_proxy.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_proxy.pid
socketdir=/var/run/zabbix
DBName=zabbix_proxy
DBUser=zabbix
DBPassword=123456
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
EOF
zabbix server模版
主动模式的情况下,server端需要使用主动模式的模版 ,可通过复制原模版修改其监控项类型为Zabbix客户端(主动式),有自动发现的项目也要修改
如图,这里将我的模版共享出来,下载:https://pan.baidu.com/s/186VIIjxyPjsrWa6DLdsPDQ
zabbix server自动注册
配置自动注册,将自动注册上来的机器按照特征(也就是hostname的命名规范,可参考之前的文档https://www.cnblogs.com/William-Guozi/p/Ops_nameRules.html),划分到不同群组里,并链接到上述模版上
zabbix server proxy代理程序发现
代理配置完毕会自动注册到server端,可将其设置为主动模式,如下图:
zabbix发送告警模版
经过研究测试,以下告警模版比较好用,贴出来供您参考。
【{TRIGGER.STATUS}】
[告警主机]: {HOSTNAME1}
[告警信息]: {TRIGGER.NAME}
[告警等级]: {TRIGGER.SEVERITY}
[告警项目]: {TRIGGER.KEY1}
[问题详情]: {ITEM.NAME}-{ITEM.VALUE}
[当前状态]: {TRIGGER.STATUS}
[告警日期]: {EVENT.DATE}
[告警时间]: {EVENT.TIME}
[事件编号]: {EVENT.ID}
[Glinux].
注意事项
- zabbix agent的主动模式是靠hostname来唯一表示一台主机的,因此需要保证主机名的唯一性,centos7 通过
hostnamectl --static set-hostname ops-demo-10
永久修改主机名。 - zabbix proxy的主动模式中需要像zabbix server一样,有一个端口监听在10051上,用来接受其他agent的请求。
- zabbix 安装方法如果需要yum安装,请添加zabbix的yum源
rpm -i https://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
参考文档
- Zabbix安装文档: http://www.rfyy.net/archives/1742.html
- zabbix之主动模式和被动模式参考文档: https://www.centos.bz/2018/01/监控利器zabbix之主动模式和被动模式