Пакетное добавление хостов на карту в Zabbix |
Возникла необходимость в настроенном Заббиксе 1.8 построить карту сети, чтобы состояние хостов было видно визуально. Вроде бы ничего сложного: создаёшь карту, добавляешь объект на карту, выбираешь в свойствах, что это хост, выбираешь их всех хостов нужный, добавляешь описание объекта, выбираешь основную иконку и 3 дополнительные (хост_недоступен, хост_неизвестен, хост_доступен и т.д.). И всё, хост появился на карте и меняет цвет иконки в зависимости от его состояния. Но! У меня таких хостов больше сотни! И что, каждый вот так добавлять??? Поиск способа группового или автоматического добавления хостов на карту Zabbix ни к чему вразумительному не привёл. Но я заметил возможность импорта/экспорта карты в формате XML, и это было зацепкой. Немного поразмыслив я решил написать скрипт, который из списка хостов будет создавать карту в формате xml, которую потом можно будет импортировать в Zabbix.Под рукой оказалась винда, поэтому решил написать BAT-файл, который читает из текстового документа список хостов, которые уже мониторятся в Zabbix и делает XML файл. Вот что получилось: @echo off
Скрипт написан для нестандартных иконок Zabbix, которые можно взять здесь: http://www.zabbix.com/forum/showthread.php?t=12155&highlight=icons. Как этим пользоваться? В блокноте нужно в столбик создать список всех устройств, которые вы хотите добавить на карту. Например так: router1 Где router1 - имя хоста, которое указано в Заббиксе в Configuration -> Hosts. Сохраняете этот документ как hosts.txt и кладёте рядом с нашим BAT-файлом. Убедитесь что у вас в Zabbix установлены такие же иконки (например для роутера иконка 48_g_router_on), если это не так, то поменяйте в BAT-файле названия иконок на свои. Запускаем батник и видим что появился файл routers.xml. Теперь заходим в Zabbix в раздел Configuration -> Maps и нажимаем кнопку Import map. Выбираем наш созданный файл routers.xml и жмём импорт. Вот и всё! Да, кстати, создастся карта с именем my_map. Имя вы можете заранее прописать своё всё там же, в BAT-файле. Теперь в новой созданной карте присутствуют все нужные хосты с настроенными иконками. Осталось только их расставить по карте и добавить линки, если нужно. Вот ещё что, как создать список всех хостов в блокноте? Я сделал старым дедушкиным методом: Заходим в Заббиксе Configuration -> Hosts, нажимаем Ctrl+A и копируем всё (Ctrl+C) теперь открываем Microsoft Word и жмём Ctrl+V, аккуратно выделяем столбец Name, копируем его в буфер и вставляем в Exel. Из Exel данные вставляем в блокнот и всё, аккуратный список готов и в минимальные сроки. Я создал ещё 2 BAT-файла для коммутаторов и для серверов, у них разные иконки соответственно. Все файлы скачать можете ниже, пользуйтесь на здоровье. Автор Bordac, http://bloggik.net |