首页 > 其他分享 >zabbix接收snmptrap并触发告警

zabbix接收snmptrap并触发告警

时间:2023-12-16 13:22:24浏览次数:32  
标签:snmp snmptrap zabbix TRIGGER 告警 net

1、配置陷阱处理脚本

# 在zabbix 服务器或者代理服务器上,复制源码目录中的Perl脚本到 /usr/bin目录下并赋予执行权限
cp zabbix-6.0.2/misc/snmptrap/zabbix_trap_receiver.pl /usr/bin/
chmod a+x /usr/bin/zabbix_trap_receiver.pl

2、安装snmp相关软件包

yum -y install net-snmp net-snmp-utils net-snmp-libs net-snmp-agent-libs net-snmp-devel net-snmp-perl

3、修改snmptrap配置文件

cat >>/etc/snmp/snmptrapd.conf<<EOF
disableAuthorization  yes
perl do "/usr/bin/zabbix_trap_receiver.pl"
EOF

4、启动服务并测试

systemctl enable snmptrapd --now
snmptrap -v 1 -c public 127.0.0.1 '.1.3.6.1.6.3.1.1.5.3' '0.0.0.0' 6 33 '55' .1.3.6.1.6.3.1.1.5.3 s "test"
systemctl status snmptrapd

5、修改zabbix-server配置文件

StartSNMPTrapper=1
SNMPTrapperFile=/tmp/zabbix_traps.tmp
# 注:SNMPTrapperFile路径必须跟/usr/bin/zabbix_trap_receiver.pl脚本中设置的路径相同

6、重启zabbix-server服务

systemctl restart zabbix-server.service

7、配置监控项

名称:snmptrap.fallback
类型:SNMP trap
键值:snmptrap.fallback
信息类型:日志
日志时间格式:hh:mm:sszyyyy/MM/dd
# 键值配置为snmptrap.fallback,可以接收所有未配置成SNMPtrap监控项的设备发出的trap信息

8、配置触发器

名称:snmptrap.fallback
Event name:接收到snmptrap信息
表达式:length(last(/<...模板名称...>/snmptrap.fallback))>0
# 该触发器的含义是,只要接受到新的trap信息就触发告警

9、验证监控项和触发器

snmptrap -v 1 -c public 127.0.0.1 '.1.3.6.1.6.3.1.1.5.3' '0.0.0.0' 6 33 '55' .1.3.6.1.6.3.1.1.5.3 s "test"

10、查看snmp配置的mib文件路径

net-snmp-config --default-mibdirs
/root/.snmp/mibs:/usr/share/snmp/mibs

11、告警通知模板

<table border="1" bordercolor="black" cellspacing="0px" cellpadding="4px" width="500px">
	<tr bgcolor="#FF3333">
		<th colspan=2>
			{TRIGGER.STATUS} Status Report
	</tr>
	<tr>
		<td bgcolor="#ff7d0a" width="20%">告警主机</td>
		<td bgcolor="#ff7d0a">{HOSTNAME1}</td>
	</tr>
	<tr>
		<td bgcolor="#ff7d0a">主机别名</td>
		<td bgcolor="#ff7d0a">{HOST.NAME} </td>
	<tr>
	<tr>
		<td bgcolor="#ff7d0a">告警地址</td>
		<td bgcolor="#ff7d0a">{HOST.IP}</td>
	</tr>
	<tr>
		<td bgcolor="#ff7d0a">告警时间</td>
		<td bgcolor="#ff7d0a">{EVENT.DATE} {EVENT.TIME}</td>
	</tr>
	<tr>
		<td bgcolor="#ff7d0a">告警等级</td>
		<td bgcolor="#ff7d0a">{TRIGGER.SEVERITY}</td>
	</tr>
	<tr>
		<td bgcolor="#ff7d0a">告警信息</td>
		<td bgcolor="#ff7d0a">{TRIGGER.NAME}</td>
	</tr>
	<tr>
		<td bgcolor="#ff7d0a">告警项目</td>
		<td bgcolor="#ff7d0a">{TRIGGER.KEY1}</td>
	</tr>
	<tr>
		<td bgcolor="#FF3333">问题详情</td>
		<td bgcolor="#FF3333">{ITEM.NAME}:&nbsp;{ITEM.VALUE}</td>
	</tr>
	<tr>
		<td bgcolor="#ff7d0a">当前状态</td>
		<td bgcolor="#ff7d0a">{TRIGGER.STATUS}:&nbsp;{ITEM.VALUE1}</td>
	</tr>
	<tr>
		<td bgcolor="#ff7d0a">事件ID</td>
		<td bgcolor="#ff7d0a">{EVENT.ID}</td>
	</tr>
</table>

12、告警恢复模板

<table border="1" bordercolor="black" cellspacing="0px" cellpadding="4px" width="500px">
	<tr bgcolor="#49c208">
		<th colspan=2>
			{TRIGGER.STATUS} Status Report
	</tr>
	<tr>
		<td bgcolor="#ffba00" width="20%">恢复主机</td>
		<td bgcolor="#ffba00">{HOSTNAME1}</td>
	</tr>
	<tr>
		<td bgcolor="#ffba00">主机别名</td>
		<td bgcolor="#ffba00">{HOST.NAME} </td>
	<tr>
		<td bgcolor="#ffba00">恢复地址</td>
		<td bgcolor="#ffba00">{HOST.IP}</td>
	</tr>
	<tr>
		<td bgcolor="#ffba00">恢复时间</td>
		<td bgcolor="#ffba00">{EVENT.DATE} {EVENT.RECOVERY.TIME}</td>
	</tr>
	<tr>
		<td bgcolor="#ffba00">持续时长</td>
		<td bgcolor="#ffba00">{EVENT.DURATION}</td>
	</tr>
	<tr>
		<td bgcolor="#ffba00">恢复等级</td>
		<td bgcolor="#ffba00">{TRIGGER.SEVERITY}</td>
	</tr>

	<tr>
		<td bgcolor="#ffba00">恢复信息</td>
		<td bgcolor="#ffba00">{TRIGGER.NAME}</td>
	</tr>

	<tr>
		<td bgcolor="#ffba00">恢复项目</td>
		<td bgcolor="#ffba00">{TRIGGER.KEY1}</td>
	</tr>
	<tr>
		<td bgcolor="#49c208">恢复详情</td>
		<td bgcolor="#49c208">{ITEM.NAME}:&nbsp;{ITEM.VALUE}</td>
	</tr>
	<tr>
		<td bgcolor="#ffba00">当前状态</td>
		<td bgcolor="#ffba00">{TRIGGER.STATUS}:&nbsp;{ITEM.VALUE1}</td>
	</tr>
	<tr>
		<td bgcolor="#ffba00">事件ID</td>
		<td bgcolor="#ffba00">{EVENT.ID}</td>
	</tr>
</table>

标签:snmp,snmptrap,zabbix,TRIGGER,告警,net
From: https://www.cnblogs.com/wanghongwei-dev/p/17904747.html

相关文章

  • 如何做到人均告警减少 90%?B 站新一代告警平台的设计与实践
    一分钟精华速览B站的业务规模和用户群体不断扩大,对于服务的稳定性和可用性的要求也日益增高。这就需要B站的监控告警系统能够及时、准确地发现和定位问题,以便尽快解决,维护好用户的使用体验。本文是对B站在告警监控系统上的一次重要迭代和优化的详细记录。文章详细阐述了B......
  • 记一次 Zabbix agent is not available 问题解决
    好久没折腾zabbix,最近遇到一个奇葩的问题,忽然有一台服务器报警“Zabbixagentisnotavailable(ornodatafor30m)”,但是查看监控数据都有,而且在不断的更新开始分析问题、解决问题:1、先检查了一遍配置,都没问题2、检查了一遍server端和agent端的日志,也没有相应的错......
  • CentOS安装并配置Zabbix Agent
     #/bin/bash#Setupzabbixagent.#configurezabbix_agent.conf.#Checkzabbixagentprocess,andinstallzabbixagent.zabbix_num=`ps-ef|grep'zabbix_agentd:listener'|grep-vgrep|wc-l`if[$zabbix_num-gt1];thenecho'zabbixag......
  • 安防视频/可视化监控云平台EasyCVR对接大华卡口摄像头告警的操作步骤
    旭帆科技的国标GB28181视频融合平台EasCVR不仅具备传统的视频监控功能,还配备了智能分析算法,近期有用户需要在现场的摄像头配备AI识别的功能,如烟火、人脸识别、车牌识别等功能。最新版的EasyCVR(V.3.4)目前可对接大华的卡口摄像头告警,如果大家在使用过程中想要自行配置,只需根据以......
  • 调整ZABBIX“动作”
    背景ZABBIX平台发送的报警信息内容与ZABBIXWEB“最新数据”不符(时间不是当前时间,报警详情与实际结果又差异)。调整“配置”-->“动作”-->“操作”调整前备注:{event.date}:第一次触发报警的日期{event.time}:第一次触发报警的时间{event.value}:第一次触发报警的内......
  • Grafana系列-Loki-基于日志实现告警
    系列文章Loki系列文章前言实际应用中除了基于Metrics告警,往往还有基于日志的告警需求,可以作为基于Metrics告警之外的一个补充.典型如基于NGINX日志的错误率告警.本文将介绍如何基于Loki实现基于日志的告警.本文我们基于以下2类实际场景进行实战演练:基于......
  • zabbix使用自定义监控项权限不足
    一、背景zabbix在配置好个人监控项后,最开始基本上都会遇到权限不足的问题。二、解决方法两种解决方法:1、配置sudoers,然后再key值执行命令前加sudo(相对来说比较麻烦)2、配置zabbix_agent#zabbix-agent配置echo"AllowRoot=1">>/etc/zabbix/zabbix_agentd.conffind/-na......
  • 文件系统Inode使用率 80%——告警问题处理
    1、使用df-i命令查看inode使用情况:df-i这将显示文件系统的inode使用情况,包括已用inode数、可用inode数和inode使用率。2、查找占用inode较多的目录或文件:我得是根文件系统告警find/-xdev-printf'%h\n'|sort|uniq-c|sort-k1-n将 / 替换为要检查的目录......
  • Docker安装Zabbix-server出现[its "users" table is empty]问题的解决
    简述安装过程dockerrun--namezabbix-db--networkzabbixnet-eMYSQL_ROOT_PASSWORD="password"-eMYSQL_USER="zabbix"-eMYSQL_PASSWORD="zabbix"-eMYSQL_DATABASE="zabbix"-dmysqldockerrun--namezabbix-server--net......
  • Zabbix“专家坐诊”第214期问答汇总
    问题一Q:Zabbix 6.4版本,如图,95thpercentable这个值是否会存到zabbix的数据库里?如果存了是存到了哪里?A:这个值是不会保存到数据库里的,它会根据所选的时间段而变化。 问题二Q:把数据库单独部署到一个独立的服务器,需要注意哪一点?我总是无法连接数据库。A:参考,1、确保两台服务器之间网络......