Ad Widget

Collapse

Discovering windows network interfaces

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • pzabortsev
    Senior Member
    • Dec 2012
    • 338

    #1

    Discovering windows network interfaces

    Коллеги, может кто подскажет, как заставить агента на windows выдавать при обнаружении сетевых интерфейсов не имя устройства, а имя интерфейса?

    Вот пример:
    Click image for larger version

Name:	interfaces.jpg
Views:	1
Size:	39.8 KB
ID:	317133

    Хотелось бы, чтобы в заббиксе появились интерфейсы с именами "vNIC (Cluster)" и т.д. Вместо этого появляется "Адаптер Ethernet для виртуальной сети Hyper-V #4" и пр.

    Можно как-то заставить агента брать данные из колонки Имя, а не из Имя устройства?
  • pzabortsev
    Senior Member
    • Dec 2012
    • 338

    #2
    Немного порывшись в исходниках обнаружил, что для идентификации сетевых интерфейсов windows используется поле bDescr (A description of the interface.), а не wszName (A pointer to a Unicode string that contains the name of the interface.)

    Кто-нить может подсказать, почему сделан выбор в пользу bDescr? Может правильнее было бы использовать поле wszName? Судя по его описанию оно должно как раз ссылаеться на имя интерфейса...

    PS. Я не большой программист, к сожалению сам проверить не смогу ((

    Comment

    • filipp.sudanov
      Senior Member
      Zabbix Certified Specialist
      • May 2014
      • 137

      #3
      Это вопрос к разработчикам - можно поискать кто именно (давным-давно) писал этот кусок кода. Но вряд-ли этот кто-то сейчас вспомнит, почему решили сделать именно так. Остается принять, что в этом решении явно была какая-то логика.

      Comment

      • pzabortsev
        Senior Member
        • Dec 2012
        • 338

        #4
        Так-то оно так. Но очень уж неудобно получается: имена интерфейсам можно дать осмысленные, а заббикс манипулирует внутренними именами, привязанными к оборудованию. И вытащить никак это имя не получается через zabbix_agent.

        Может кто-нибудь сможет собрать виндусового агента из исходников, заменив в нем bDescr на wszName? Наверное там нужно делать не просто "replace all", но все же мне кажется это не очень сложно.

        А может знатоки подскажут, что в поле wszName хранится? Может это еще какая-то внутенняя информация, не имеющая отношения к имени интерфейса?

        Comment

        • Zenith1983
          Junior Member
          • Feb 2014
          • 20

          #5
          А если самому дискаверить интерфейсы?
          Тупо забить на вшитую фичу и использовать самодельный скрипт? Айтему на сервере пофик на то, как ему скармливают дискаверные данные. Т.е. все равно - это внутрення фича или параметр через UserParameter.
          Давно юзаем "свои" скрипты дискаверинга разделов фс.

          ЗЫ. Врядли агент наделен какими-то фичами, которые не доступны через bash/wmi/perl/cmd ...
          Last edited by Zenith1983; 23-03-2015, 15:20.

          Comment

          • pzabortsev
            Senior Member
            • Dec 2012
            • 338

            #6
            Можно и самому... Опять powershell, шаблоны, всю обвязку самому делать - лениво ))

            В агенте и шаблонах из коробки все же уже есть, только имя интерфейса не то используется.

            PS. Честно говоря, я до сих пор не уверен, действительно ли в этом поле, которое я раскопал, находится имя интерфейса...
            Last edited by pzabortsev; 25-03-2015, 15:42.

            Comment

            • Zenith1983
              Junior Member
              • Feb 2014
              • 20

              #7
              Originally posted by pzabortsev
              Можно и самому... Опять powershell, шаблоны - лениво ))
              Ну а так с каждым апдейтом придется заново все компилить и деплоить =)

              Comment

              • pzabortsev
                Senior Member
                • Dec 2012
                • 338

                #8
                Ну если моя догадка подтвердится, то она может оказаться востребованной.
                И будет включена в основную ветку, скажем, с ключиком неким (хотите-де использовать имя интерфейса, или old school hardcore)
                ))

                Comment

                • Zenith1983
                  Junior Member
                  • Feb 2014
                  • 20

                  #9
                  Originally posted by pzabortsev
                  Ну если моя догадка подтвердится, то она может оказаться востребованной.
                  И будет включена в основную ветку, скажем, с ключиком неким (хотите-де использовать имя интерфейса, или old school hardcore)
                  ))
                  Смело :d

                  Ну, Вы бы хоть голосовалку провели...

                  Comment

                  • pzabortsev
                    Senior Member
                    • Dec 2012
                    • 338

                    #10
                    Угу, хорошо бы. А как?

                    Comment

                    • Zenith1983
                      Junior Member
                      • Feb 2014
                      • 20

                      #11
                      Originally posted by pzabortsev
                      Угу, хорошо бы. А как?
                      К сожалению, никогда не пользовался здесь такой фичей. Нужно у админов спросить как такое сделать.

                      Comment

                      • pzabortsev
                        Senior Member
                        • Dec 2012
                        • 338

                        #12
                        Поставить этой верке пять звезд и ждать, скока народу воспротивится этому? ))

                        Comment

                        • pzabortsev
                          Senior Member
                          • Dec 2012
                          • 338

                          #13
                          Разобрался. Оказывается опрос можно прилепить только к новой теме.
                          Ну и много буков нельзя использовать в вопросе ))

                          Comment

                          • sorenkzn
                            Junior Member
                            • Feb 2015
                            • 21

                            #14
                            Подскажите а можно не используя дискавери вытащить адекватное название сетевого интерфейса ?

                            Comment

                            • pzabortsev
                              Senior Member
                              • Dec 2012
                              • 338

                              #15
                              заббиксом из коробки - нет.

                              Можно написать скрипт, например, на Powershell, используя командлеты Get-NetAdapter и Get-NetAdapterStatistics.

                              Comment

                              Working...