Как сделать карту сети в zabbix
Возникла необходимость в настроенном Заббиксе 1.8 построить карту сети, чтобы состояние хостов было видно визуально. Вроде бы ничего сложного: создаёшь карту, добавляешь объект на карту, выбираешь в свойствах, что это хост, выбираешь их всех хостов нужный, добавляешь описание объекта, выбираешь основную иконку и 3 дополнительные (хост_недоступен, хост_неизвестен, хост_доступен и т.д.). И всё, хост появился на карте и меняет цвет иконки в зависимости от его состояния. Но! У меня таких хостов больше сотни! И что, каждый вот так добавлять. Поиск способа группового или автоматического добавления хостов на карту Zabbix ни к чему вразумительному не привёл. Но я заметил возможность импорта/экспорта карты в формате XML, и это было зацепкой. Немного поразмыслив я решил написать скрипт, который из списка хостов будет создавать карту в формате xml, которую потом можно будет импортировать в Zabbix.Под рукой оказалась винда, поэтому решил написать BAT-файл, который читает из текстового документа список хостов, которые уже мониторятся в Zabbix и делает XML файл. Вот что получилось:
Переменная А - это уникальный идентификатор объекта на карте, для каждого нового хоста он должен быть уникальным, поэтому мы к нему прибавляем единичку для каэного нового хоста.
Как этим пользоваться? В блокноте нужно в столбик создать список всех устройств, которые вы хотите добавить на карту. Например так:
Где 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-файла для коммутаторов и для серверов, у них разные иконки соответственно. Все файлы скачать можете ниже, пользуйтесь на здоровье.
Эта страница используется для управления группами узлов сети.
Список групп узлов сети
Эта страница предоставляет список узлов сети.
Настройки группы узлов сети
Эта страница предоставляет доступ к деталям группы узлов сети.
Параметр | Описание |
---|---|
Название группы | Уникальное имя группы узлов сети. |
Узлы сети | Список узлов сети, включенных в эту группу. |
2.2 Шаблоны
Эта страница используется для управления шаблонами узлов сети.
Список шаблонов
Эта страница предоставляет список шаблонов.
Параметр | Описание |
---|---|
Шаблоны | Имя шаблона. |
Группы элементов данных | Ссылка на список группы элементов данных и указание их количества. |
Элементы данных | Ссылка на список элементов данных и указание их количества. |
Триггеры | Ссылка на список триггеров и указание их количества. |
Графики | Ссылка на список графиков и указание их количества. |
Присоединенные шаблоны | Список шаблонов, присоединенных к этому шаблону. |
Присоединен к | Список узлов сети, присоединенных к этому шаблону. |
Настройки шаблона
Эта страница предоставляет доступ к детальным настройкам шаблона.
Параметр | Описание |
---|---|
Имя | Уникальное имя шаблона. |
Группы | Список групп узлов сети, к которым принадлежит шаблон. |
Новая группа | Новая группа может быть создана и присоединена к шаблону. Игнорируется, если настройка пустая. |
Узлы сети|Шаблоны | Список шаблонов и узлов сети соединенных с этим шаблоном. |
Присоединить шаблон | Присоединить к этому шаблону одним или несколько других шаблонов. Информация обо всех элементах данных, триггерах и графиках будет унаследована от присоединяемых шаблонов. |
2.3 Узлы сети
Эта страница используется для управления информацией о узлах сети.
Список узлов сети
Эта страница отображает список узлов сети под наблюдением.
Параметр | Описание |
---|---|
Имя | Уникальное имя узла сети. |
Группы элементов данных | Ссылка на список групп элементов данных и указание их количества. |
Элементы данных | Ссылка на список элементов данных и указано их количество. |
Триггеры | Ссылка на список триггеров и указано их количество. |
Графики | Ссылка на список графиков и указано их количество. |
DNS | DNS имя узла сети, если используется. |
IP | IP адрес узла сети, если используется. |
Порт | Номер порта Zabbix агента. Игнорируется системой Zabbix, если Zabbix-агент не используется. |
Шаблоны Список шаблонов, которые присоединены к этому узлу сети. | |
Состояние | Состояние узла сети: Под наблюдением – Узел сети активирован и под наблюдением Без наблюдения – Узел сети отключен и не находится под наблюдением |
Доступность | Доступность агента (Zabbix, SNMP, IPMI): Информация отображается в виде иконок. |
Экран массового обновления узлов сети
Эта страница доступна после выбора узлов сети и нажатия кнопки “Массовое обновление”. Это очень эффективный способ изменения атрибутов сразу у нескольких узлов сети.
Настройка узлов сети
Эта страница предоставляет доступ к настройкам узла сети.
Параметр | Описание |
---|---|
Имя | Уникальное имя узла сети. |
Группы | Список групп узлов сети, в которые входит этот узел сети. |
Новая группа | Новая группа может быть создана и связана с этим узлом сети. Игнорируется, если пустое. |
Имя DNS | DNS имя узла сети (опционально). |
IP адрес | IP адрес узла сети (опционально). |
Подключаться через | Zabbix сервер будет использовать эту настройку для получения данных с агентов: DNS имя – Подключаться к узлу сети используя DNS имя IP адрес – Подключаться к узлу сети используя IP адрес (рекомендуется) |
Порт | Номер TCP порта Zabbix агента. По умолчанию значение 10050. |
Мониторится через прокси | Узел сети может наблюдаться Zabbix сервером или одним из Прокси: (без прокси) – узел сети наблюдается Zabbix сервером Имя прокси – узел сети наблюдается через прокси Имя прокси |
Состояние | Состояние узла сети: Под наблюдением – Узел сети активирован и под наблюдением Без наблюдения – Узел сети отключен и не находится под наблюдением |
Использовать IPMI | Включение функциональности управления по IPMI для этого узла сети. |
IPMI IP адрес | IP адрес управляемого по IPMI устройства. |
IPMI порт | Номер порта управляемого по IPMI устройства. |
IPMI уровень привилегий | Хранение настроек по умолчанию, Пользователь. |
IPMI имя пользователя | Имя пользователя для аутентификации. |
IPMI пароль | Пароль для аутентификации. |
Добавить | Присоединение к узлу сети одного или нескольких шаблонов. Информация о элементах данных, триггерах, и графиках будет наследоваться от шаблонов. Отсоединить – отсоединить шаблон, но оставить информацию о элементах данных, триггерах и графиках Отсоединить и очистить – отсоединить шаблон и удалить всю информацию о элементах данных, триггерах и графиках, наследованную от шаблона |
Макрос | Управление макросами на уровне узла сети. Более подробную информацию читайте в разделе настройки макросов. |
Использовать профиль | Включить или отключить использование профиля узла сети. |
Использовать расширенный профиль | Включить или отключить использование расширенного профиля узла сети. |
В свойствах узла сети и шаблона есть также кнопки “Клонировать” и “Полное клонирование”.
Кнопка “Клонировать” добавит в конфигурацию Zabbix новый узел сети или шаблон сохраняя параметры настроек узла сети, включая присоединения к шаблонам (следовательно и все шаблонные элементы данных, триггеры, графики и группы элементов данных из этих шаблонов). “Полное клонирование”, в дополнение к этому, скопирует принадлежащие напрямую элементы данных, триггеры, графики и группы элементов данных.
2.3.1 Элементы данных
Эта страница используется для управления соответствующей информацией о узлах сети.
Список элементов данных
Эта страница предоставляет список элементов данных, присоединенных к узлу сети.
Параметр | Описание |
---|---|
Описание | Описание (имя) элементов данных. |
Триггеры | Ссылка на список триггеров, включающих этот элемент данных и указано их количество. |
Ключ | Уникальный ключ элемента данных. |
Интервал | Частота проверки. |
История | Количество дней, которые Zabbix хранит подробные данные. |
Динамика изменений | Количество дней, которые Zabbix хранит тенденции (усредненные данные). |
Тип | Тип элемента данных. |
Состояние | Состояние элемента данных. |
Группа элементов данных | Список групп элементов данных для данного элемента данных. |
Ошибка | Любые ошибки связанные с этим элементом данных в виде иконки. |
Экран массового обновления элементов данных
Эта страница доступна после выбора элементов данных и нажатию кнопки “Массовое обновление”. Это очень эффективный способ изменения атрибутов сразу у нескольких элементов данных.
Отметьте параметры, которые вы хотите изменить, введите новые значения и нажмите “Сохранить”.
Копировать выбранное в…
Эта страница позволяет копировать выбранные элементы данных в другие узлы сети.
Выберите узлы сети, в которые вы хотите скопировать элементы данных и нажмите “Копировать”.
1. Можно добавить на связях межу устройствами скорость на интерфейсе для входящего трафика и исходящего.
- Нужно выбрать нужно устройство в меню и Items:
Configuration - Hosts - "устройство"- Items
- Тут нам необходимо посмотреть правильное имя Key для входящего и исходящего трафика. На скрине показан, нужный нам Key для исходящего, для входящего по аналогии только будет In. Для других устройств этот ключи может отличаться.
Хабр, конечно, не очень-то подходящая для романтики площадка, но мы не можем не признаться в любви к Zabbix. В очень многих наших проектах по мониторингу мы использовали Zabbix и очень ценим стройность и логичность этой системы. Да, здесь нет модной кластеризации событий и машинного обучения (и некоторых других фичей, доступных из коробки в коммерческих системах), но уже того что есть, определенно достаточно для внутреннего спокойствия за продуктивные системы.
В этой статье расскажем о паре инструментов для расширения функционала Zabbix: CMDB на базе бесплатного решения iTop и карте объектов на базе OpenStreetMap (OSM). А в конце статьи ваш ждет ссылка на репозиторий с кодом фронтовой части для OSM.
Общий концепт разберем на примере условного проекта по мониторингу розничной сети аптек. На скриншоте ниже наш демо-стенд, но похожую концепцию мы используем в боевой среде. Переход с объекта возможен как на вложенную карту так и на карточку объекта в CMDB.
Каждая аптека – это набор следующего оборудования: рабочая станция (или несколько рабочих станций), роутер, IP-камеры, принтер и другая периферия. На рабочих станциях установлены агенты Zabbix. С рабочей станции выполняется проверка через ping периферийного оборудования. Аналогичным образом, на карте объектов, с принтера можно перейти на его карточку в CMDB и посмотреть инвентаризационные данные: модель, дату поставки, ответственного и т.д. Так выглядит вложенная карта.
Здесь нужно сделать небольшое отступление. Вы можете спросить, а почему бы не использовать внутренний инвентарь Zabbix? В некоторых случаях его бывает достаточно, но мы рекомендуем клиентам всё-таки использовать внешнюю CMDB ( iTop не единственный вариант, но эта система достаточно функциональна при своей бесплатности). Это удобное централизованное хранилище, где можно формировать отчеты и следить за актуальностью данных (на самом деле не только это).
На скриншоте ниже — пример шаблона для наполнения инвентаря Zabbix из iTop. Все эти данные потом, разумеется, потом можно использовать в тексте уведомлений, что позволит иметь актуальную информацию сразу же при возникновении аварийной ситуации.
На скриншоте ниже — карточка расположения. Здесь мы можем увидеть перечень всего ИТ-оборудования, которое находится в аптеке. На вкладке История можно отслеживать изменения в составе оборудования.
На карточку любого объекта можно перейти, посмотреть к каким сетевым устройствам он подключен, найти контактную информацию ответственного инженера, узнать когда в прошлый раз заменялся картридж с чернилами и т.д.
На этой странице наш общий подход к интеграции Zabbix с iTop.
Теперь перейдем к картографическому сервису. Мы считаем его удобным инструментом для просмотра статусов распределенных объектов на телевизоре в кабинете с большим кожаным креслом.
При нажатии на аварийную метку появляется всплывающая подсказка. С нее можно перейти на карточку объекта в CMDB либо в Zabbix. При приближении и отдалении метки объединяются в кластеры с цветом наихудшего статуса.
Географическая карта реализована с использованием js-библиотеки leaflet и плагина для кластеризации объектов . На каждую метку добавляются события из системы мониторинга и ссылка на соответствующий объект в CMDB. Статус кластеров определяется по наихудшему событию для вложенных меток. При необходимости, можно интегрировать карту с любой системой мониторинга с открытым API.
Вы можете посмотреть код фронтальной части в репозитории проекта . Контрибуции приветствуются.
Если вам интересен наш подход, на этой странице можно оставить заявку на демонстрацию. Расскажем подробнее и покажем.
Читайте также: