zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Quicksum -SilverN
    uva 140 bandwidth (好题) ——yhx
    uva 129 krypton factors ——yhx
    uva 524 prime ring problem——yhx
    uva 10976 fractions again(水题)——yhx
    uva 11059 maximum product(水题)——yhx
    uva 725 division(水题)——yhx
    uva 11853 paintball(好题)——yhx
    uva 1599 ideal path(好题)——yhx
    uva 1572 self-assembly ——yhx
  • 原文地址:https://www.cnblogs.com/lisenlin/p/14629303.html
Copyright © 2011-2022 走看看