Ad Widget

Collapse

Сетевое автообнаружение, IP vs HOSTNAME

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • a.ltvnk
    Junior Member
    • Oct 2011
    • 5

    #1

    Сетевое автообнаружение, IP vs HOSTNAME

    Добрый день!

    Товарищи, подскажите мне что делать.

    Использую автодискавер для обнаружения сетевого оборудования по SNMP, проверяю уникальность по sysName.0
    Хосты обнаруживаются и добавляются, но c именем равным IP.

    Собственно вопрос: как добавить хосты с именем, равным значению OID sysName.0, или переименовать его автоматически действиями или любым другим способом.

    Теоретически можно выполнять после обнаружения в действиях скрипт, но написать запрос к субд на изменение значений имени хоста по результатам snmpwalk я не осилю )
  • dotneft
    Senior Member
    • Nov 2008
    • 699

    #2
    Поправьте обратную зону для этих хостов в dns и всё будет отлично

    Comment

    • a.ltvnk
      Junior Member
      • Oct 2011
      • 5

      #3
      К сожалению реализовать просмотр реверсной зоны на данный момент не могу из-за особенностей инфраструктуры, но тем не менее она есть и актуальна. После переезда сервера с zabbix во внутреннюю сеть все наладится, но сейчас бы хотелось все немного причесать )

      Если конечно другого пути нету, то можно просто смириться и подождать. Но все же, допустим PTR записей для хостов нету и не будет, но их очень много, хотя бы для того чтобы не вносить их вручную - как правильно решить такого рода проблему? В 2.Х в таблице hosts более нету ip хоста, поэтому идея с обновлением записей в таблице по результатам snmpwalk отпала.

      Comment

      • dotneft
        Senior Member
        • Nov 2008
        • 699

        #4
        Originally posted by a.ltvnk
        К сожалению реализовать просмотр реверсной зоны на данный момент не могу из-за особенностей инфраструктуры, но тем не менее она есть и актуальна. После переезда сервера с zabbix во внутреннюю сеть все наладится, но сейчас бы хотелось все немного причесать )

        Если конечно другого пути нету, то можно просто смириться и подождать. Но все же, допустим PTR записей для хостов нету и не будет, но их очень много, хотя бы для того чтобы не вносить их вручную - как правильно решить такого рода проблему? В 2.Х в таблице hosts более нету ip хоста, поэтому идея с обновлением записей в таблице по результатам snmpwalk отпала.
        ip адрес перенесен в таблицу interfaces.

        определить теперь id хоста можно запросом

        SELECT h.* FROM hosts h
        JOIN interfaces i USING(hostid)
        WHERE i.ip ="";

        Примерно так.

        Comment

        • dotneft
          Senior Member
          • Nov 2008
          • 699

          #5
          Я вижу единственный вариант, так это отдельным скриптом проходить и все host = айпи адресу проверять и менять вручную, т.е. запросом.

          Comment

          • a.ltvnk
            Junior Member
            • Oct 2011
            • 5

            #6
            Всем спасибо за ответы, базу решено не трогать.

            Comment

            • dotneft
              Senior Member
              • Nov 2008
              • 699

              #7
              Originally posted by a.ltvnk
              Всем спасибо за ответы, базу решено не трогать.
              Потрогайте API с его помощью все это можно реализовать не трогая внутренностей Zabbix

              Алгоритм прост

              1. Ищем все узлы которые имеют в host IP адрес
              2. Узнаем имя сервера
              3. Проверяем есть ли подобный узел сети в системе.
              4a. Если нет обновляем имя, через API конечно.
              4b. Если есть, то этот узел сети удаляем, и обновляем у старого IP, тут уж как захотите. Можно и старый удалить и выполнить шаг 4a.

              Comment

              • a.ltvnk
                Junior Member
                • Oct 2011
                • 5

                #8
                Занимательно. То есть я могу все что умеет интерфейс выполнять из шелла, используя например готовые библиотеки? Выходит любые действия с объектами можно автоматизировать, плюс добавить мощь шелла )

                Upd: с ходу нашелся zabcon, но он на Ruby... Может есть чего попроще для новичка?
                Last edited by a.ltvnk; 21-08-2012, 21:57.

                Comment

                • dotneft
                  Senior Member
                  • Nov 2008
                  • 699

                  #9
                  Originally posted by a.ltvnk
                  Занимательно. То есть я могу все что умеет интерфейс выполнять из шелла, используя например готовые библиотеки? Выходит любые действия с объектами можно автоматизировать, плюс добавить мощь шелла )

                  upd: с ходу нашелся zabcon, но он на ruby... Может есть чего попроще для новичка?
                  Именно так. А какой язык вам предпочтительнее?

                  Comment

                  • a.ltvnk
                    Junior Member
                    • Oct 2011
                    • 5

                    #10
                    Если быть откровенным, то разбираться прийдется с любым, это конечно не изучение языка целиком, но основы постигнуть прийдется все равно. Если вы имеете достаточный опыт, не могли бы вы посоветовать с чем будет быстрее разобраться?

                    Comment

                    • dotneft
                      Senior Member
                      • Nov 2008
                      • 699

                      #11
                      python, perl, ruby... мне кажется идентичны. разница лишь в синтаксисе.

                      Comment

                      Working...