• Zabbix被动接收SNMP Trap信息


    一、Zabbix服务器接收trap的工作流程

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

    二、安装配置snmptrapd

    1、yum install -y net-snmp net-snmp-utils net-snmp-perl #安装net-snmp及相关工具(里面包含SNMPTrapd)

    2、vim /etc/snmp/snmptrapd.conf

        authCommunity log,execute,net 团体名 #指定团体名

        traphandle default /usr/sbin/snmptthandler #指定snmptt为trap接收器,此时还没安装snmptt

    3、systemctl start snmptrapd #启动snmptrapd

    4、systemctl enable snmptrapd #加入开机启动项

    5、交换机开启snmp和snmptrap,并指定团体名和trap目标主机IP

    6、tail -F /var/log/messages #打开并跟踪日志

    7、手动关闭交换机端口,触发告警,验证snmptrapd是否能正常接收trap

    三、安装配置snmptt

    1、yum -y install epel-release #安装EPRL源
    2、yum -y install snmptt #安装snmptt
    3、systemctl start snmptt (启动报错:Could not load Perl module Sys::Syslog!)
    4、systemctl status snmptt -l #查看出错信息,缺少perl-syslog
    5、yum -y install perl-Sys-Syslog #安装perl-syslog
    6、vim /etc/snmp/snmptt.ini #修改配置文件

      date_time_format= %Y/%m/%d %H:%M:%S
      net_snmp_perl_enable = 1
      translate_log_trap_oid = 2 # 0:数字形式显示OID,1:显示OID名称,2:显示OID所属模块名及其名称
      log_file = /var/log/snmptt/snmptt.log #默认

    7、mv /etc/snmp/snmptt.conf /etc/snmp/snmptt.conf.bak    #备份规则文件
    8、vim /etc/snmp/snmptt.conf    #自定义trap格式化规则

    #匹配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
    # 默认规则,没有其他规则匹配上时,所有trap信息都按此规则处理
    EVENT general .* "General event" Normal
    FORMAT ZBXTRAP $aA $1

    9、systemctl restart snmptt
    10、tail -F /var/log/snmptt/snmptt.log   #打开并跟踪snmptt日志

    四、配置zabbix-server
    1、vim /etc/zabbix/zabbix_server.conf

    StartSNMPTrapper=1   #开启SNMPTrapper功能
    SNMPTrapperFile=/var/log/snmptt/snmptt.log   #指定snmptt日志文件

    2、systemctl restart zabbix-server  #重启Zabbix服务
    3、zabbix添加监控项

    4.匹配snmptt日志中,属于IF-MIB模块的告警(IF-MIB包含设备接口相关的管理对象,告警节点包含linkUp和linkDown)

    5.其余没匹配上的,都匹配到键值为fallback的监控项

    6. 查看获取的trap数据

    五、来源

    1.官方文档:https://www.zabbix.com/documentation/4.0/zh/manual/config/items/itemtypes/snmptrap

     2.转载地址:https://cnblogs.com/zhenwei66/p/10483473.html

  • 相关阅读:
    RFC3489 STUN之客户端所处环境探测流程与部分属性含义说明
    视频直播中用户连麦技术模型与特点分析
    基于网络流量统计与反馈实现边缘机房间媒体流流量调度的一种思路
    基于Flash与window平台本地程序通信实现媒体流发布
    基于Flash ActionScript 实现RTMP发布与播放媒本流
    DirectShow音频采集声音不连续问题分析与解决办法经验总结
    一种高性能与高可用的流媒体系统之媒体流状态管理方法
    复用TCP连接提升流媒体服务器之间流量转发效率
    基于块流协议保证音频优先发送
    LibRTMP优化之调整输出块大小
  • 原文地址:https://www.cnblogs.com/lisenlin/p/14629303.html
Copyright © 2020-2023  润新知