Ad Widget

Collapse

BGP lld

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • fatherfbi
    Junior Member
    • Apr 2013
    • 16

    #1

    BGP lld

    Добрый день. Есть шаблон lld который, находит на маршрутизаторе всех пиров и мониторит значения bgpPeerAdminStatus и bgpPeerState
    Сейчас все выглядит как на скрине.
    Но хотелка хочет что бы вместо IP пира, был его description. Понимаю что по SNMP такие значения не отдаются. Как вариант прогнать все эти адреса через "Преобразование значений", но как это сделать, я не знаю. Подскажите куда копать, укажите направление
    Attached Files
  • sadman
    Senior Member
    • Dec 2010
    • 1611

    #2
    Originally posted by fatherfbi
    Но хотелка хочет что бы вместо ip пира, был его description. Понимаю что по snmp такие значения не отдаются. Как вариант прогнать все эти адреса через "Преобразование значений", но как это сделать, я не знаю. Подскажите куда копать, укажите направление
    Может отдавать скриптом {#peername} сразу в lld (я не любитель по живой базе апдейтами и инсертами фигачить)? Откуда-то же вы хотите брать сопоставленные имена, полагаю...

    Comment

    • fatherfbi
      Junior Member
      • Apr 2013
      • 16

      #3
      Originally posted by sadman
      Может отдавать скриптом {#peername} сразу в lld (я не любитель по живой базе апдейтами и инсертами фигачить)? Откуда-то же вы хотите брать сопоставленные имена, полагаю...
      А можно более подробно, желательно с примером.

      Comment

      • zyxar
        Member
        • Feb 2016
        • 33

        #4
        Как вариант написать скрипт lld который будет логиниться на роутер парсить конфиг и доставать description и возвращать его вместо IP, но это дыра в безопасности и костыль. Можно к IP пира добавить номер удаленной AS. Можно IP пира или AS скормить whois и получить имя организации. Лучше искать приемлемую альтернативу и забить на description.

        Comment

        • fatherfbi
          Junior Member
          • Apr 2013
          • 16

          #5
          Originally posted by zyxar
          Как вариант написать скрипт lld который будет логиниться на роутер парсить конфиг и доставать description и возвращать его вместо ip, но это дыра в безопасности и костыль. Можно к ip пира добавить номер удаленной as. Можно ip пира или as скормить whois и получить имя организации. Лучше искать приемлемую альтернативу и забить на description.
          Дело в том что номер as не катит, по одной просто причине. Есть много bgp сессия построенных с одной as но через разные маршруты, есть много своих внутренних сессий.

          Comment

          • zyxar
            Member
            • Feb 2016
            • 33

            #6
            Если исходить из "Преобразование значений" можно жестко в lld скрипте зашить IP - description, description вручную внести в скрипт. Только если появится новый пир, прийдется каждый раз редактировать скрипт, добавлять description.

            Comment

            • sl0n
              Junior Member
              • Mar 2016
              • 5

              #7
              Originally posted by zyxar
              Только если появится новый пир, прийдется каждый раз редактировать скрипт, добавлять description.
              Ну, это ни разу не проблема - новые сессии строятся не так часто.

              Originally posted by zyxar
              Если исходить из "Преобразование значений" можно жестко в lld скрипте зашить IP - description, description вручную внести в скрипт.
              В примерах скриптов, здесь, например, вижу, что они делают тоже самое, на что способно lld в 3.0.
              Не совсем понятно теперь как туда всунуть "преобразование значений"...
              Last edited by sl0n; 11-03-2016, 10:45.

              Comment

              • zyxar
                Member
                • Feb 2016
                • 33

                #8
                В шаблоне есть правила обнаружения, обычно используются внутренние средства забикса для snmp обнаружения с типом "SNMPv2 агент" и правилом discovery[бла, бла], в типах есть пункт "внешняя проверка" собственно в поле ключа указывается имя скрипта и передаваемые параметры. Скрипт может получать данные откуда угодно. Как это работает написано в документации 3.4 Обнаружение SNMP OID'ов, Внешние проверки
                Если перейти к практике вот шаблон для: Juniper MX, там есть скрипт на питоне для обнаружения BGP пиров, можете воспользоваться им. В скрипте есть функция "convert_ip" собственно ее и нужно будет переписать, добавить туда словарь {'IP' : 'description', ...}, на входе функция получает IP, а возвращает description. Скрипт написан по аналогии с Advanced SNMP Discovery.

                Comment

                • sl0n
                  Junior Member
                  • Mar 2016
                  • 5

                  #9
                  Originally posted by zyxar
                  В скрипте есть функция "convert_ip" собственно ее и нужно будет переписать, добавить туда словарь {'ip' : 'description', ...}, на входе функция получает ip, а возвращает description. Скрипт написан по аналогии с advanced snmp discovery.
                  Спасибо за мысль!
                  Пойду покурю скрипты

                  Comment

                  • Vandoyn
                    Junior Member
                    • Jan 2014
                    • 8

                    #10
                    я делал подстановку с помощью макросов
                    например имя айтема в дискавери:
                    Ip Sla ping status {$I{#SNMPINDEX}}

                    и макрос:
                    {$I253166} ул.Чернышевского,24а 217.24.22.16

                    тут {#SNMPINDEX} равен 253166

                    в итоге айтем выглядит так:
                    Ip Sla ping status ул.Чернышевского,24а 217.24.22.16

                    Comment

                    • zyxar
                      Member
                      • Feb 2016
                      • 33

                      #11
                      Хороший вариант, скрипт для обнаружения не нужен.

                      Comment

                      Working...