Ad Widget

Collapse

BGP snmp trap

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Azag
    Junior Member
    • May 2014
    • 15

    #1

    BGP snmp trap

    Добрый день,

    хочу мониторить состояние bgp сессий на с7600. Есть zabbix 3.0, snmptt, snmptrapd. На циске настроено:
    snmp-server enable traps bgp
    snmp-server host х.х.х.х community bgp
    На заббиксе snmptt.conf:
    http://pastebin.com/MRwg1Q4N

    Скачал шаблон для 7600 с share.zabbix.com https://share.zabbix.com/network_dev...ate-cisco-7600
    В нём есть две конструкции для мониторинга сессий:
    snmptrap["(bgpEstablished|bgpBackwardTransition|cbgpFsmStat eChange).*bgpPeerState\.{#SNMPINDEX}[[:space:]][a-zA-Z]+[[:space:]]"]
    snmptrap["(bgpBackwardTransition|cbgpFsmStateChange).*bgpPe erState\.{#SNMPINDEX}[[:space:]][a-zA-Z]+[[:space:]]"]

    Так вот, в последних данных падение сессий в шаблонные item'ы не попадают. Зато если создать общий item для трапов, трапы туда попадают:
    11:24:25 2016/04/18 PDU INFO:
    messageid 0
    transactionid 1
    receivedfrom UDP: [1.1.1.1]:56550->[2.2.2.2]:162
    notificationtype TRAP
    community community
    errorindex 0
    version 0
    errorstatus 0
    requestid 0
    VARBINDS:
    DISMAN-EVENT-MIB::sysUpTimeInstance type=67 value=Timeticks: (1918645145) 222 days, 1:34:11.45
    SNMPv2-MIB::snmpTrapOID.0 type=6 value=OID: SNMPv2-SMI::enterprises.9.9.43.2.0.1
    SNMPv2-SMI::enterprises.9.9.43.1.1.6.1.3.362 type=2 value=INTEGER: 1
    SNMPv2-SMI::enterprises.9.9.43.1.1.6.1.4.362 type=2 value=INTEGER: 3
    SNMPv2-SMI::enterprises.9.9.43.1.1.6.1.5.362 type=2 value=INTEGER: 2
    SNMP-COMMUNITY-MIB::snmpTrapAddress.0 type=64 value=IpAddress: 1.1.1.1
    SNMP-COMMUNITY-MIB::snmpTrapCommunity.0 type=4 value=STRING: "community"
    SNMPv2-MIB::snmpTrapEnterprise.0 type=6 value=OID: SNMPv2-SMI::enterprises.9.9.43.2

    Вопрос - как мне добиться попаданий трапов в шаблон, чтобы сессии мониторились?
    Last edited by Azag; 18-04-2016, 11:16.
  • Azag
    Junior Member
    • May 2014
    • 15

    #2
    В общем не запускается скрипт zabbix_trap_receiver.pl

    perl do "/etc/snmp/zabbix_trap_receiver.pl"
    Can't open perl script "do": Нет такого файла или каталога

    или

    perl "/etc/snmp/zabbix_trap_receiver.pl"
    Undefined subroutine &NetSNMP::TrapReceiver::register called at /etc/snmp/zabbix_trap_receiver.pl line 105.

    Но -
    perl -MCPAN -e shell
    install NetSNMP::TrapReceiver
    Reading '/home/manager/.cpan/Metadata'
    Database was generated on Mon, 18 Apr 2016 05:53:50 GMT
    NetSNMP::TrapReceiver is up to date (5.0702).

    ОС - убунта. Что не так?

    Comment

    • Azag
      Junior Member
      • May 2014
      • 15

      #3
      С другой стороны, если я получаю данные в заббиксе, даже пусть и в общем item'е, значит этот скрипт всё таки работает? Подскажите, куда копать?

      Comment

      • zmdpc
        Senior Member
        • Oct 2014
        • 484

        #4
        Это значит что скрипт лежит в другом месте ).
        Обычно это настраивается в файле /etc/snmp/snmptrapd.conf

        Comment

        • Azag
          Junior Member
          • May 2014
          • 15

          #5
          Да в правильном месте он лежит..
          sudo cat /etc/snmp/snmptrapd.conf | grep *.pl
          perl do "/etc/snmp/zabbix_trap_receiver.pl"
          ls -l /etc/snmp | grep *.pl
          -rwxr-xr-x 1 root root 3613 апр. 15 12:23 zabbix_trap_receiver.pl

          Тогда начну с начала.
          Настройки заббикса (касамео трапера):

          StartSNMPTrapper=1
          SNMPTrapperFile=/var/log/snmptt/trap.log

          snmptrapd:
          cat snmptrapd.conf

          perl NetSNMP::TrapReceiver::register("trapOID", \&myfunc);
          perl do "/usr/sbin/snmptthandler-embedded";
          perl do "/etc/snmp/zabbix_trap_receiver.pl"

          disableAuthorization yes
          donotlogtraps no
          authCommunity execute community

          snmptt.ini
          http://pastebin.com/r2qdAqNv

          От snmptrapd получаю примерно следующее:

          SNMPTTHANDLER-EMBEDDED started: Mon Apr 18 16:39:25 2016

          s = 1460986765, usec = 855479
          s_pad = 1460986765, usec_pad = 855479

          Data received:

          1.1.1.1
          1.1.1.1
          .1.3.6.1.2.1.1.3.0 (1920534991) 222 days, 6:49:09.91
          .1.3.6.1.6.3.1.1.4.1.0 .1.3.6.1.2.1.15.7.0.1
          .1.3.6.1.6.3.18.1.4.0 community
          .1.3.6.1.2.1.15.3.1.14.192.168.1.2 Hex-STRING: 04 00
          .1.3.6.1.2.1.15.3.1.2.1.192.168.1.2 6
          .1.3.6.1.6.3.18.1.3.0 1.1.1.1
          .1.3.6.1.6.3.18.1.4.0 " community"
          .1.3.6.1.6.3.1.1.4.3.0 .1.3.6.1.2.1.15.7
          .1.3.6.1.6.3.10.2.1.1.0 "0x57e6b6e6f677e6"
          .1.3.6.1.6.3.18.1.1.1.3 "unknown"
          .1.3.6.1.6.3.18.1.1.1.4 "0x57e6b6e6f677e6"
          .1.3.6.1.6.3.18.1.1.1.5 "unknown"
          perl callback function 0x133d6e8 returns 1

          snmptt делает вот так:

          http://pastebin.com/twyUyURJ

          В итоге в заббикс попадает следующие данные:

          18.04.2016 16:39:26

          16:39:25 2016/04/18 PDU INFO:
          errorindex 0
          notificationtype TRAP
          receivedfrom UDP: [1.1.1.1]:56550->[10.20.1.1]:162
          transactionid 36
          messageid 0
          community community
          requestid 0
          errorstatus 0
          version 0
          VARBINDS:
          .1.3.6.1.2.1.1.3.0 type=67 value=Timeticks: (1920534991) 222 days, 6:49:09.91
          .1.3.6.1.6.3.1.1.4.1.0 type=6 value=OID: .1.3.6.1.4.1.9.9.187.0.1
          .1.3.6.1.2.1.15.3.1.14.192.168.1.2 type=4 value=Hex-STRING: 04 00
          .1.3.6.1.2.1.15.3.1.2.192.168.1.2 type=2 value=INTEGER: 6
          .1.3.6.1.4.1.9.9.187.1.2.1.1.7.192.168.1.2 type=4 value=STRING: "hold time expired"
          .1.3.6.1.4.1.9.9.187.1.2.1.1.8.192.168.1.2 type=2 value=INTEGER: 5
          .1.3.6.1.6.3.18.1.3.0 type=64 value=IpAddress: 1.1.1.1
          .1.3.6.1.6.3.18.1.4.0 type=4 value=STRING: "community"
          .1.3.6.1.6.3.1.1.4.3.0 type=6 value=OID: .1.3.6.1.4.1.9.9.187

          и перловый скрипт отрабатывает, потому что строчки ZBXTRAP нет!

          Но почему тогда не отрабатывает шаблонный regexp:
          nmptrap["(bgpBackwardTransition|cbgpFsmStateChange).*bgpPe erState\.{#SNMPINDEX}[[:space:]][a-zA-Z]+[[:space:]]"]

          Куда копать? бьюсь головой о стенку третий день.

          Comment

          • zmdpc
            Senior Member
            • Oct 2014
            • 484

            #6
            Вопрос почему используете сразу и snmptt и snmptrapd?
            Покажите zabbix_trap_receiver.pl который используете.

            Comment

            • Azag
              Junior Member
              • May 2014
              • 15

              #7
              А как иначе? snmtrapd прнимает трапы, snmptt осуществляет их трансляцию (перевод). О их одновременном использовании кстати и в инструкции написано.


              а вот zabbix_trap_receiver.pl
              http://pastebin.com/iLumv1xe

              Comment

              • zmdpc
                Senior Member
                • Oct 2014
                • 484

                #8
                Я про это:

                snmptrapd:
                cat snmptrapd.conf

                perl NetSNMP::TrapReceiver::register("trapOID", \&myfunc);
                perl do "/usr/sbin/snmptthandler-embedded";
                perl do "/etc/snmp/zabbix_trap_receiver.pl"
                и про это:
                SNMPTT или получатель трапов Perl, форматируют и записывают трап в файл

                Почитай тут
                Last edited by zmdpc; 19-04-2016, 17:19.

                Comment

                Working...