Ad Widget

Collapse

Автодобавление узлов из своей БД

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Syn_flood
    Junior Member
    • Aug 2017
    • 5

    #1

    Автодобавление узлов из своей БД

    Здравствуйте.
    Сижу читаю документацию, но никак не соображу как автоматически добавлять узлы, которые находятся в mysql базе.

    У меня в сети большое количество хостов 30к+. Все хосты опрашиваются самописной программкой и данные заносятся в БД MySQL. Напрямую добавлять узлы не получится потому что адреса они получают по DHCP.
    Мне бы хотелось брать из моей БД MAC адрес, и добавлять узел с таким именем в zabbix, далее подключать к нему шаблон так же берущий данные из моей БД при помощи ODBC.
    Есть ли в zabbix возможность добавления узлов из своей БД вроде обнаружения хостов по IP, или придётся прикручивать свой костыль?
  • allexpetrov
    Senior Member
    Zabbix Certified Trainer
    Zabbix Certified SpecialistZabbix Certified Professional
    • May 2017
    • 361

    #2
    В Zabbix есть возможность использовать API или через SQL Query.

    Документация по API: https://www.zabbix.com/documentation/3.2/ru/manual/api

    Данные по хостам содержатся в таблице hosts, а интерфейсы в таблице interface. Соовтетственно Вы можете добавить и с помощью SQL команд.

    С уважением,
    Алексей!

    Comment

    • Syn_flood
      Junior Member
      • Aug 2017
      • 5

      #3
      Originally posted by allexpetrov
      В Zabbix есть возможность использовать API или через SQL Query.

      Документация по API: https://www.zabbix.com/documentation/3.2/ru/manual/api

      Данные по хостам содержатся в таблице hosts, а интерфейсы в таблице interface. Соовтетственно Вы можете добавить и с помощью SQL команд.

      С уважением,
      Алексей!
      Про это я в курсе. Не понимаю как организовать само добавление узлов непосредственно в заббиксе, там есть обнаружение только по IP, и там некуда вставить sql запрос или свой скрипт.

      Comment

      • yukra
        Senior Member
        • Apr 2013
        • 1359

        #4
        Originally posted by Syn_flood
        Про это я в курсе. Не понимаю как организовать само добавление узлов непосредственно в заббиксе, там есть обнаружение только по IP, и там некуда вставить sql запрос или свой скрипт.
        sql лучше не трогать, а пользоваться апи.

        Примерный алгоритм: новый хост попадает в "вашу базу", после этого вы запускаете "скрипт добавления\обновления хоста в базе заббикса через zabbix-api". Вызов скрипта можете организовать из хранимой процедуры в "вашей базе".

        При этом использовать "стандартное заббиксовое автообнаружение агентов" в вашем случае не нужно.
        То есть "инициализирует" добавление хоста должна ваша база, и засылать данные нужно через API (можно и через SQL, но я бы не стал писать напрямую в БД без веских причин).
        Ну и я бы сразу реализовал бы скрипт который бы мог получить "список хостов из вашей бд" и сравнить его (или лучше поправить) со списком "из базы заббикса". Уверен рано или поздно он понадобиться ... и как обычно "очень срочно".

        Comment

        • Syn_flood
          Junior Member
          • Aug 2017
          • 5

          #5
          Originally posted by yukra
          sql лучше не трогать, а пользоваться апи.

          Примерный алгоритм: новый хост попадает в "вашу базу", после этого вы запускаете "скрипт добавления\обновления хоста в базе заббикса через zabbix-api". Вызов скрипта можете организовать из хранимой процедуры в "вашей базе".

          При этом использовать "стандартное заббиксовое автообнаружение агентов" в вашем случае не нужно.
          То есть "инициализирует" добавление хоста должна ваша база, и засылать данные нужно через api (можно и через sql, но я бы не стал писать напрямую в БД без веских причин).
          Ну и я бы сразу реализовал бы скрипт который бы мог получить "список хостов из вашей бд" и сравнить его (или лучше поправить) со списком "из базы заббикса". Уверен рано или поздно он понадобиться ... и как обычно "очень срочно".
          Наверное так и сделаю. Спасибо.

          Comment

          Working...