Ad Widget

Collapse

Perl script Авторисования топологии сети в Zabbix

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Perl script Авторисования топологии сети в Zabbix

    На форуме DLINK уже давно есть тема о том как отрисовать используя LLDP протокол карту сети, но рисуют в итоге они все в картинки\pdf файл и всё на этом.

    Собственно сабж. Прикрутил к тому скрипту Zabbix API и наваял отрисовку карты прямо в заббикс.


    Кроме того что он рисует карту, он так же и автоматически переименовывает хосты(только если имя хоста было ввиде IP) беря новое имя из поля snmp::sysname устройства.


    Для работы нужно
    - Свитчи мониторяться по SNMP
    - На свитчах настроен LLDP протокол(CDP от циски не поддерживается)
    - Perl(что надо докинуть прописано в README)


    PS CDP впринципе можно прикрутить как альтернативу LLDP, но у меня нет CDP утройств, кроме разве что микротиков

    PSS Видел как чуваки строят сеть используя FDB таблицы, но к сожалению есть минус - точность страдает, так как для корректного отображения приходится заставлять всех пинговать друг друга... Но это полбеды, FDB корректно собрать со всех это стоит отдельной темы.

    PSSS Видел тут тему как чувак карту с улицами отрисовывал и расположением там коммутаторов, впринципе теоретически, если на коммутаторах заполнить поле Location используя геоданные, то можно рисовать карту куда красивее.
    Attached Files

    #2
    Интересно, но жаль что перл. Попробуем как пройдет НГ)))

    Comment


      #3
      Честно, когда сунулся перепиливать скрипт автора который изначально просто рисовал все в файл, перла я не знал. Но как и в жизни, сначала было страшно, потом больно, но со временем начало даже нравиться.:d

      Comment


        #4
        Прикольно. Неплохо бы было выложить на git. Только README поправить, в пункте "1" очепятка.
        Однако, как мне кажется механизм cdp, lldp и иже с ними не всегда будет корректно отрисовывать топологии.
        Возможно, более точную топологию было бы возможно построить анализируя arp и mac таблицы.

        Comment


          #5
          при построении карты в большой сети использование протокола CDP и LLDP позволяет опрашивать топологию достаточно быстро . Так зная IP одного свича (ядра) можно по рекурсии обойти всё дерево сети. По LDP мы сразу получаем маки, имена, и IP подключенных свичей.
          По CDP имя не получим нужно дополнительно имя получать. Насчёт не корректной отрисовки проблему обнаружения коммутаторов по LLDP встретил только в ситуации когда свич стоял за двумя вайфаями nano-station. Еще в LLDP попадают ПК c OS windows 8, так как эта ос отправляет lldp пакеты на свич. В принципе отсеяьб их возможно.
          Анализ МАК таблиц можно использовать в качестве дополнительного инструмента. для поиска неуправляемых коммутаторов или коммутаторов с подвисшей логикой. Но опираясь на LLDP сделать это проще так как нам не нужно анализировать маки на тех портах где LLDP нашёл коммутаторы. Полностью опираться на анализ MAK таблиц нельзя. Некоторые коммутаторы не отдают свою мак таблицу целиком (к примеру hp procurve 1700 отдает по SNMP только 128 маков из таблицы )

          Comment


            #6
            Originally posted by tuban View Post
            Прикольно. Неплохо бы было выложить на git. Только README поправить, в пункте "1" очепятка.
            Однако, как мне кажется механизм cdp, lldp и иже с ними не всегда будет корректно отрисовывать топологии.
            Возможно, более точную топологию было бы возможно построить анализируя arp и mac таблицы.
            FDB(Forward Database) - таблица соответствия мак адреса порту коммутатора.
            ARP - Таблица соответствия мак адреса IP адресу.


            По FDB не надежно строить, так как если еще центральный коммутатор может знать кто за ним, т.к. трафиг до других свитчей шел через него, то вот свитч после центрального может и не знать о центральном, так как никто и сети за этим свитчем ни обращается к центральному свитчу.


            Есть еще вариант строить на основе STP протокола(правда по SNMP не знаю OIDы все нормальному отдадут или как), он как бы более универсален и работает на большем числе свитчей разных производителей, но есть опасность, что можно сеть положить просто включив его на всех коммутаторах, с ним надо аккуратно играться, это скорее из ряда - знаешь, делай, не знаешь- лучше не трогай.

            LLDP\CDP работает на канальном уровне, если между свитчами с настроенным LLDP\CDP нет неподдерживающей этого железки, то всё все нормально будет отрисовываться. У меня к примеру шлюзом и центральным коммутатором выступает микротик CCR, он LLDP не умеет Приходиться костылить под себя.
            Last edited by flea; 29-12-2015, 09:15.

            Comment


              #7
              Когда писал скрипт он отлично работал под:
              amap - алькатель дискавери протокол
              lldp
              cdp
              На самом деле, lldp лучше чем fdb или arp или cdp, с него лучше вытаскивать порты. В скрипте достаточно только заменить соответствующий оид.

              Comment


                #8
                Originally posted by flea View Post
                На форуме DLINK уже давно есть тема о том как отрисовать используя LLDP протокол карту сети, но рисуют в итоге они все в картинки\pdf файл и всё на этом.

                Собственно сабж. Прикрутил к тому скрипту Zabbix API и наваял отрисовку карты прямо в заббикс.


                Кроме того что он рисует карту, он так же и автоматически переименовывает хосты(только если имя хоста было ввиде IP) беря новое имя из поля snmp::sysname устройства.


                Для работы нужно
                - Свитчи мониторяться по SNMP
                - На свитчах настроен LLDP протокол(CDP от циски не поддерживается)
                - Perl(что надо докинуть прописано в README)


                PS CDP впринципе можно прикрутить как альтернативу LLDP, но у меня нет CDP утройств, кроме разве что микротиков

                PSS Видел как чуваки строят сеть используя FDB таблицы, но к сожалению есть минус - точность страдает, так как для корректного отображения приходится заставлять всех пинговать друг друга... Но это полбеды, FDB корректно собрать со всех это стоит отдельной темы.

                PSSS Видел тут тему как чувак карту с улицами отрисовывал и расположением там коммутаторов, впринципе теоретически, если на коммутаторах заполнить поле Location используя геоданные, то можно рисовать карту куда красивее.
                Добрый день. Отличная идея. Подскажите , а для zabbix 3.0 будет работать? Чет у меня не взлетело. ОНи вродебы поменял API не много

                Comment


                  #9
                  Доброго времени суток! Есть ли какая-нибудь информация об обновлении данного скрипта? Заведётся ли на 4.4 и на той же убунте?

                  Comment

                  Announcement

                  Collapse
                  No announcement yet.
                  Working...
                  X