@Zabbix配置snmptrap及使用snmptt解析格式化输出


在这里插入图片描述

1. snmptrap与snmptt工作关系

1)snmptrapd 收到网络设备所发出的trap
2)snmptrapd将trap的信息传递给SNMPTT或调用Perl接收器,安装是直接默认即可
3)snmptt或Perl trap接收器信息解析,格式化并将trap写入到指定的log文件中
4)Zabbix SNMP trap读取并解析trap文件,对于每个trap,Zabbix发现主机接口与接收的trap地址匹配的所有“SNMP trap”监控项;注,在匹配期间只使用主机接口中选定的“IP”或“DNS”
5)SNMP trap匹配到的监控项,将trap与“snmptrap[regexp]”中的regexp进行比较;trap设置为all匹配项的值。如果没有找到匹配的监控项,并且有一个“snmptrap.fallback”监控项,则将trap设置为该值。
如果trap未设置为任何监控项的值,Zabbix默认记录不匹配的trap。
(管理 - >常规 - >其它中的“记录不匹配的SNMP trap(Log unmatched SNMP traps)”配置。)

2. snmptrap安装部署

#安装net-snmp组件
[root@Server ~]# yum install -y net-snmp net-snmp-utils net-snmp-perl 




#调整配置snmp trap
[root@Server ~]# egrep '^[^#]' /etc/snmp/snmptrapd.conf
authCommunity log,execute,net public          #指定认证的团体名       
#traphandle default /usr/sbin/snmptthandler   #配置snmptt接收器,默认配配置,可以指定接收器



#启动snmptrap
[root@Server ~]# systemctl enable snmptrapd   #加入开启自启
[root@Server ~]# systemctl start snmptrapd    #启动snmptrap





#查看snmptrap状态(数据接获取需要等待很久,这个时候就喝喝茶)
[root@Server ~]# systemctl status snmptrapd.service 
● snmptrapd.service - Simple Network Management Protocol (SNMP) Trap Daemon.
   Loaded: loaded (/usr/lib/systemd/system/snmptrapd.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2022-04-22 14:51:58 CST; 1 weeks 3 days ago
 Main PID: 1404 (snmptrapd)
   CGroup: /system.slice/snmptrapd.service
           └─1404 /usr/sbin/snmptrapd -Lsd -f -O n

Apr 24 22:29:22 zabbix01 snmptrapd[1404]: 2022-04-24 22:29:12 <UNKNOWN> [UDP: [10.21.25.222]:55665->[10.240.0.79]:162]:
                                          .1.3.6.1.2.1.1.3.0 = Timeticks: (333667130) 38 days, 14:51:11.30        .1.3.6.1.6.3.1.1.4.1.0 = OID: .1.3.6.1.4.1.9.0.1        .1.3.6.1.4.1.9.2.9.3.1.1.2.1 = INTEG...
Apr 24 22:35:15 zabbix01 snmptrapd[1404]: 2022-04-24 22:35:05 <UNKNOWN> [UDP: [10.21.25.222]:55665->[10.240.0.79]:162]:
                                          .1.3.6.1.2.1.1.3.0 = Timeticks: (333702414) 38 days, 14:57:04.14        .1.3.6.1.6.3.1.1.4.1.0 = OID: .1.3.6.1.4.1.9.0.1        .1.3.6.1.4.1.9.2.9.3.1.1.1.1 = INTEG...
Apr 24 22:37:32 zabbix01 snmptrapd[1404]: 2022-04-24 22:37:22 <UNKNOWN> [UDP: [10.21.25.222]:55665->[10.240.0.79]:162]:
                                          .1.3.6.1.2.1.1.3.0 = Timeticks: (333716156) 38 days, 14:59:21.56        .1.3.6.1.6.3.1.1.4.1.0 = OID: .1.3.6.1.4.1.9.0.1        .1.3.6.1.4.1.9.2.9.3.1.1.1.1 = INTEG...
Apr 24 22:57:12 zabbix01 snmptrapd[1404]: 2022-04-24 22:57:02 <UNKNOWN> [UDP: [10.21.25.222]:55665->[10.240.0.79]:162]:
                                          .1.3.6.1.2.1.1.3.0 = Timeticks: (333834122) 38 days, 15:19:01.22        .1.3.6.1.6.3.1.1.4.1.0 = OID: .1.3.6.1.4.1.9.0.1        .1.3.6.1.4.1.9.2.9.3.1.1.1.1 = INTEG...
Apr 24 23:17:24 zabbix01 snmptrapd[1404]: 2022-04-24 23:17:14 <UNKNOWN> [UDP: [10.21.25.222]:55665->[10.240.0.79]:162]:
                                          .1.3.6.1.2.1.1.3.0 = Timeticks: (333955332) 38 days, 15:39:13.32        .1.3.6.1.6.3.1.1.4.1.0 = OID: .1.3.6.1.4.1.9.0.1        .1.3.6.1.4.1.9.2.9.3.1.1.1.1 = INTEG...
Apr 24 23:34:49 zabbix01 snmptrapd[1404]: 2022-04-24 23:34:39 <UNKNOWN> [UDP: [10.21.25.222]:55665->[10.240.0.79]:162]:
                                          .1.3.6.1.2.1.1.3.0 = Timeticks: (334059816) 38 days, 15:56:38.16        .1.3.6.1.6.3.1.1.4.1.0 = OID: .1.3.6.1.4.1.9.0.1        .1.3.6.1.4.1.9.2.9.3.1.1.1.1 = INTEG...
Apr 24 23:45:30 zabbix01 snmptrapd[1404]: 2022-04-24 23:45:20 <UNKNOWN> [UDP: [10.21.25.222]:55665->[10.240.0.79]:162]:
                                          .1.3.6.1.2.1.1.3.0 = Timeticks: (334123944) 38 days, 16:07:19.44        .1.3.6.1.6.3.1.1.4.1.0 = OID: .1.3.6.1.4.1.9.0.1        .1.3.6.1.4.1.9.2.9.3.1.1.1.1 = INTEG...
Apr 25 12:00:08 zabbix01 snmptrapd[1404]: 2022-04-25 11:59:58 <UNKNOWN> [UDP: [10.21.25.222]:55665->[10.240.0.79]:162]:
                                          .1.3.6.1.2.1.1.3.0 = Timeticks: (338531845) 39 days, 4:21:58.45        .1.3.6.1.6.3.1.1.4.1.0 = OID: .1.3.6.1.4.1.9.0.1        .1.3.6.1.4.1.9.2.9.3.1.1.1.1 = INTEGE...
Apr 26 12:00:07 zabbix01 snmptrapd[1404]: 2022-04-26 11:59:57 <UNKNOWN> [UDP: [10.21.25.222]:55665->[10.240.0.79]:162]:
                                          .1.3.6.1.2.1.1.3.0 = Timeticks: (347171790) 40 days, 4:21:57.90        .1.3.6.1.6.3.1.1.4.1.0 = OID: .1.3.6.1.4.1.9.0.1        .1.3.6.1.4.1.9.2.9.3.1.1.1.1 = INTEGE...
Apr 26 23:00:05 zabbix01 snmptrapd[1404]: 2022-04-26 22:59:55 <UNKNOWN> [UDP: [10.21.25.222]:55665->[10.240.0.79]:162]:
                                          .1.3.6.1.2.1.1.3.0 = Timeticks: (351131726) 40 days, 15:21:57.26        .1.3.6.1.6.3.1.1.4.1.0 = OID: .1.3.6.1.4.1.9.0.1        .1.3.6.1.4.1.9.2.9.3.1.1.1.1 = INTEG...
Hint: Some lines were ellipsized, use -l to show in full.



#日志查看
[root@Server ~]# tail -f /var/log/messages

3. 网络设备配置snmptrap

【cisco设备snmptrap配置】

4. snmptt安装部署

#安装epel源
[root@Server ~]# yum -y install epel-release[root@Server ~]# rpm -ivh http://dl.fedoraproject.org/pub/epel


#安装snmptt
[root@Server ~]# yum -y install snmptt perl-Sys-Syslog


#snmptt配置修改
[root@Server ~]# vim /etc/snmp/snmptt.ini
date_time_format=  %Y/%m/%d %H:%M:%S      #配置snmptt日志时间格式  

mode = daemon                             #nmptt运行模式

net_snmp_perl_enable = 1
translate_log_trap_oid = 2                #0:显示数字OID,1:显示OID名称,2:显示OID模块名称和其名称
log_file = /var/log/snmptt/snmptt.log     #指定传输的日志文件

snmptt_conf_files = <<END
/etc/snmp/snmptt.conf         #默认格式化日志配置文件
/etc/snmp/cisco.conf          #添加其他的格式化trap日志的配置文件
END




#自定义snmptrap格式化规则
[root@Server ~]# vim /etc/snmp/snmptt.conf 
# 默认规则,没有其他规则匹配上时,所有trap信息都按此规则处理
EVENT general .* "General event" Normal
FORMAT ZBXTRAP $aA $1


#匹配login规则
EVENT tcpConnectionClose .1.3.6.1.4.1.9.0.1 "Status Events" Normal
FORMAT ZBXTRAP $aA tty trap signifies that a TCP connection, $6 LOGIN
SDESC
A tty trap signifies that a TCP connection,
previously established with the sending
protocol entity for the purposes of a tty
session, has been terminated.
Variables:
  1: tslineSesType
  2: tcpConnState
  3: loctcpConnElapsed
  4: loctcpConnInBytes
  5: loctcpConnOutBytes
  6: tsLineUser
EDESC


#匹配Linkdown的规则
EVENT LinkDown .1.3.6.1.6.3.1.1.5.3 "Status Events" Warning
FORMAT ZBXTRAP $aA LinkDown on interface $4.  Admin state: $2.  Operational state: $3

#匹配Linkup的规则
EVENT LinkUp .1.3.6.1.6.3.1.1.5.4 "Status Events" Normal
FORMAT ZBXTRAP $aA Linkup on interface $4.  Admin state: $2.  Operational state: $3



#启动snmptt
[root@Server ~]# systemctl enable snmptt.service
[root@Server ~]# systemctl start snmptt.service



#查看状态
[root@Server ~]# systemctl status snmptt.service 
● snmptt.service - SNMP Trap Translator (SNMPTT)
   Loaded: loaded (/usr/lib/systemd/system/snmptt.service; enabled; vendor preset: disabled)
   Active: active (running) since Sun 2022-04-24 14:27:28 CST; 1 weeks 1 days ago
  Process: 10019 ExecStart=/usr/sbin/snmptt --daemon (code=exited, status=0/SUCCESS)
 Main PID: 10023 (snmptt)
   CGroup: /system.slice/snmptt.service
           ├─10022 /usr/bin/perl /usr/sbin/snmptt --daemon
           └─10023 /usr/bin/perl /usr/sbin/snmptt --daemon

Apr 24 22:29:35 zabbix01 snmptt[10023]: SNMPv2-SMI::enterprises.9.0.1 Normal "Status Events" UNKNOWN - ZBXTRAP 10.21.25.222 tty trap signifies that a TCP connection,  LOGIN
Apr 24 22:35:25 zabbix01 snmptt[10023]: SNMPv2-SMI::enterprises.9.0.1 Normal "Status Events" UNKNOWN - ZBXTRAP 10.21.25.222 tty trap signifies that a TCP connection,  LOGIN
Apr 24 22:37:45 zabbix01 snmptt[10023]: SNMPv2-SMI::enterprises.9.0.1 Normal "Status Events" UNKNOWN - ZBXTRAP 10.21.25.222 tty trap signifies that a TCP connection,  LOGIN
Apr 24 22:57:25 zabbix01 snmptt[10023]: SNMPv2-SMI::enterprises.9.0.1 Normal "Status Events" UNKNOWN - ZBXTRAP 10.21.25.222 tty trap signifies that a TCP connection,  LOGIN
Apr 24 23:17:35 zabbix01 snmptt[10023]: SNMPv2-SMI::enterprises.9.0.1 Normal "Status Events" UNKNOWN - ZBXTRAP 10.21.25.222 tty trap signifies that a TCP connection,  LOGIN
Apr 24 23:35:00 zabbix01 snmptt[10023]: SNMPv2-SMI::enterprises.9.0.1 Normal "Status Events" UNKNOWN - ZBXTRAP 10.21.25.222 tty trap signifies that a TCP connection,  LOGIN
Apr 24 23:45:40 zabbix01 snmptt[10023]: SNMPv2-SMI::enterprises.9.0.1 Normal "Status Events" UNKNOWN - ZBXTRAP 10.21.25.222 tty trap signifies that a TCP connection,  LOGIN
Apr 25 12:00:23 zabbix01 snmptt[10023]: SNMPv2-SMI::enterprises.9.0.1 Normal "Status Events" UNKNOWN - ZBXTRAP 10.21.25.222 tty trap signifies that a TCP connection,  LOGIN
Apr 26 12:00:18 zabbix01 snmptt[10023]: SNMPv2-SMI::enterprises.9.0.1 Normal "Status Events" UNKNOWN - ZBXTRAP 10.21.25.222 tty trap signifies that a TCP connection,  LOGIN
Apr 26 23:00:20 zabbix01 snmptt[10023]: SNMPv2-SMI::enterprises.9.0.1 Normal "Status Events" UNKNOWN - ZBXTRAP 10.21.25.222 tty trap signifies that a TCP connection,  LOGIN



#配置权限,将指定的日志文件所属用户(无日志文件手动创建)
[root@Server ~]#  chown snmptt.snmptt /var/log/snmptt/snmptt.log
[root@Server ~]#  ll  /var/log/snmptt/snmptt.log
-rwxr--r-- 1 snmptt snmptt 0 May  1 03:16 /var/log/snmptt/snmptt.log

5. Zabbix server配置

[root@Server ~]#  vim /etc/zabbix/zabbix_server.conf
StartSNMPTrapper=1                             #开启SNMPTrapper功能
SNMPTrapperFile=/var/log/snmptt/snmptt.log     #指定trap获取的日志文件



#重启zabbix server
[root@Server ~]# systemctl restart zabbix-server

6. zabbix web配置

创建snmptrap监控项,添加新的应用集

在这里插入图片描述

在这里插入图片描述

查看获取的日志

在这里插入图片描述

7. snmptrap文档

【zabbix snmptrap文档】

【snmptt官方文档】

8. snmptt配置扩展

后续若要针对特定oid处理,通过脚本更新。”ZBXTRAP”必须存在,否则zabbix提取数据失败
后续脚本的入参可以指定这些正则符
$i = 在 .conf 匹配条目的文件中定义的事件 OID(可能是通配符 OID)
$O + 以符号格式陷阱OID
$o + 以数字格式陷印OID
$R$r + 陷阱主机名
$aR$ar = IP 地址
$s = 严重性
$T = 正常运行时间:自初始化网络实体以来的时间
$X = 时间陷阱已后台处理(守护进程模式)或当前时间(独立模式)
$x = 日期陷阱已后台处理(守护进程模式)或当前日期(独立模式)
$# = 陷阱中的变量绑定数
$$ = 打印 $
$@ = 自陷阱后台处理(守护进程模式)或当前时间(独立模式)以来的秒数
$n = 展开变量绑定 n (1-n)
$+n = 以变量名称格式展开变量绑定 n (1- n):值
$-n = 以变量名称(变量类型):值的格式展开变量绑定 n (1-n) )
$vn = 展开变量绑定 n (1-n) 的变量名称
$* = 展开所有变量绑定
$=* = 以变量名称格式展开所有变量绑定:值
$-* = 以变量名称格式展开所有变量绑定
  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Zabbix Server上配置SNMP Trap监控,需要进行以下步骤: 1. 创建SNMP Trap项: 在Zabbix Web界面上,进入“配置”->“主机”,选择要接收SNMP Trap告警的主机,点击“创建项”,设置以下参数: - 名称:自定义,例如“SNMP Trap” - 类型:SNMP Trap - SNMP OID:留空 - 类型信息:选择“数据类型”,例如“文本信息” - 键值:自定义,例如“snmptrap” 2. 创建SNMP Trap触发器: 在“配置”->“触发器”界面上,点击“创建触发器”,设置以下参数: - 名称:自定义,例如“SNMP Trap告警” - 表达式:{<Host>:snmptrap.regexp("<Trap_Message>")},其中<Host>为主机名,<Trap_Message>为要匹配的Trap消息内容,可以使用正则表达式进行模糊匹配。 3. 创建操作: 在“配置”->“操作”界面上,点击“创建操作”,设置以下参数: - 名称:自定义,例如“SNMP Trap告警” - 默认状态:选择“启用” - 操作类型:选择“发送信息”,并设置相应的告警内容和接收人等信息。 4. 关联项、触发器和操作: 在“配置”->“主机”->“魔术”->“触发器”界面上,选择刚刚创建的SNMP Trap项和触发器,点击“添加操作”并选择刚刚创建的操作。 完成以上步骤后,Zabbix Server就可以接收并处理SNMP Trap告警了。当SNMP设备发送符合条件的Trap消息时,Zabbix Server将自动触发相应的操作,例如发送邮件或短信。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值