Zabbix:主动模式

简介

  • Zabbix 是由 Alexei Vladishev 开发的一种网络监视、管理系统,基于 Server-Client 架构。可用于监视各种网络服务、服务器和网络机器等状态,官方站点:https://www.zabbix.com
  • 如何自动化批量添加zabbix监控就要用到zabbix的主动模式,主动模式分为agent的主动和proxy的主动,主动和被动都是针对zabbix的agent和proxy来说的;所谓主动,就是agent或proxy主动向服务器请求监控项并报告监控数据,被动则是agent和proxy监听端口等待服务器来取相应的监控项和监控数据。
  • 本文将介绍如何使用zabbix的agent和proxy批量添加主机的方法,希望对需要的小伙伴有所帮助。

主动模式逻辑结构

img-w500

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

img-w500

zabbix server自动注册

配置自动注册,将自动注册上来的机器按照特征(也就是hostname的命名规范,可参考之前的文档https://www.cnblogs.com/William-Guozi/p/Ops_nameRules.html),划分到不同群组里,并链接到上述模版上

img-w500

zabbix server proxy代理程序发现

代理配置完毕会自动注册到server端,可将其设置为主动模式,如下图:

img-w500

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

参考文档

原文地址:https://www.cnblogs.com/William-Guozi/p/zabbix-active.html