Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Вы не могли бы написать, в двух словах, как в заббиксе реализовать то, что я описал выше? В смысле, как бы вы мониторили дисковые массивы на LSI контроллерах в zabbix'е.
Предположим, у меня есть 5 групп серверов. На каждом из них есть отдельные разделы под /, /home, /var/log, /boot, /etc.
Плюс, по 5-7 разделов специфичных для каждой из групп серверов (где-то /var/db, где-то /u0{1,2,3} и так далее).
Но последнее моё общение с ним закончилось лёгким раздражением: можно всё, но всё через задницу
… дальше создаете триггер и пишете выражение с указанием при каких значениях счетчиков триггер должен срабатывать. Дальше создаете событие которое делает что-то при активации триггера.
Суммировать значения счетчиков в триггере шаблона можно.
… удаления добавления рулятся из шаблона. Не вижу никаких проблем. Описанный функционал там существует давненько.
А вот по возможностям это сейчас лучший открытый мониторинг. Особенно когда имеется много snmp оборудования и требуется что-то не тривиальное.
Всё тоже самое я описал выше. Лезть в питон это не требует. В zenoss это просто создание шаблона мониторинга. Текст выше — про автоматизацию навешивания шаблона на устройства.
Про суммирование — не понял. Зачем оно тут? Мы можем создать триггер вокруг процентного показателя занятости раздела.
Не могли бы вы подробнее описать: я сделал отдельный раздел на сервере под /u01/backup/${SID}. Как и что нужно поменять в шаблоне для этого?
Если я на всех серверах добавил раздел под /var/spool/mail, сколько шаблонов мне придётся исправить?
А этот кусок кода LSIArray.py на питоне зачем? В случае же zabbix шаблон автоматизировано тоже можно повесить.
Что тут есть sid?
Про автоматизация «повески» шаблонов в заббиксе я не слышал. Как именно это делается? Чего почитать?
идентификатор инстанса. Не суть важно для данного примера. Пусть будет любая фиксированная строка: «abc1», например.
www.zabbix.com/documentation/1.8/manual/auto-discovery/real_life_scenario
Идентификаторы можно задавать через набор встроенных переменных у инстанса. Тут можно посмотреть какие доступны
Вероятно, можно составить достаточно сложный набор правил или достаточно сложный шаблон, чтобы реализовать все нужные правила.
Можно ли изменять настройки уже обнаруженных устройств так же? Или механизм работает только для новонайденных?
Напоминаю шаблоны могут быть вложенными.
Где-то после 15ой ветви этих деревьев я сломался. Но шаблоны могут быть вложенными, не спорю.
В зеносс сложность конфигурации не зависит от уровня детализации.
Но сложности работы с текущей конфигурацией это не добавляет: добавили устройство — отмоделили — получили рабочий мониторинг. И такого что «поменяли шаблон тут, а отвалилось там» тоже не бывает.
В зеносс не отвалится, потому что плагины у моделера более-менее независимы и не ломают сосдение плагины.
А вот вложенные шаблоны — вполне могут друг-друга: поправили что-то вверху иерархии, а внизу его либо нет, либо оно должно подчиняться другим правилам.
Идентификатор задаётся вне системы мониторинга. Нужно просто добавить этот раздел в список наблюдаемых.
К примеру 200 одинаковых свитчей
Шаблон изначально включает в себя фиксированное количество разделов. Их имена жёстко заданы (хотя, как я писал, можно получить 1 имя из 1 переменной). Если я добавляю раздел, то мне нужно создавать новый шаблон и линковать его к старому, либо править старый.
А кроме того, хорошо бы следить, чтобы на сервере где нет раздела его не пытались мониторить, иначе меня завалит предупреждениями.
А если у вас 200 «чуть разных» свичей? Предположим, 6-7 разных типов (ядро, дистрибуция, доступа, последних — зоопарк из-за разного времени покупки). Вам делать 6-7 разных шаблонов? Или иерархию вложенных шаблоннов, где всё равно 6-7 конечных, используемых шаблонов с описанием «особенностей».
Именно так. И я не вижу никаких проблем в этом.
И я не думаю что zennoss может предложить что-то лучше в этом случае.
А я — вижу. В зеносс это решается намного элегантнее: он сам находит существующие разделы и сам начинает их мониторить (ну находит с помощью моделера, естественно)
В этом случае моделер не лепит шаблоны на устройства, а создаёт несколько более сложное описание устройства: добавляет в него компоненты, с которыми связаны определённые правила мониторинга. Описать это сходу я не смогу, буду сильно врать ;) Так что пока вам придётся мне поверить, что это намного удобнее иерархии шаблонов.
Событие — «канал 1 занят на 80%», «канал 2 занят на 80%»
Оповещение — «события »..." и "..." активны последние 5 минут".
а если я хочу еще знать что канал 1 занят на 60%?
случае zabbix событие генерируется в зависимости от полученных данных и не привязано к конкретному счетчику
То вы конфигурируете событие о занятости канала на 60% и, если нужно, оповещение об этом событии.
Этого тоже не понял. Всё-таки что за «счётчики» вам лучше пояснить, видимо.
Завожу еще один источник данных, на тот же параметр добавлю активацию события на 60% и дальше его использую так?
Под счетчиком подразумевается item. Это наиболее близкий аналог в русском языке. По сути дела в zabbix не собираются события. Собираются данные, а уже потом в триггере эти самые данные преобразуются в события,
В случае zabbix событие генерируется в зависимости от полученных данных и не привязано к конкретному счетчику
В случае zabbix событие генерируется в зависимости от полученных данных и не привязано к конкретным данным
нет, просто добавляете treshold на тот же источник данных. Ещё один «источник данных» добавлять смысла нет.
я правильно понял?
А что есть кроме treshold?
treshold — базовая вещь. Он говорит системе о том, что наступило какое-либо событие. Событие можно классифицировать по важности, например. Или по некоторым другим параметрам.
В zenoss достаточно сложная процедура обработки получаемых данных.
В zenoss достаточно сложная процедура обработки получаемых данных.
Вот у меня есть данные они поступили. Что с ними можно сделать кроме создать событие при 80%?
Я немного неправильно выразился: процедура обработки данных достаточно простая. Потом события сложно обрабатываются. Основная логика в обработке событий.
Собрали данные, если они соответствуют определённому условию — создали событие (или события).
А что ещё вы хотите делать с исходными данными?
Использование только одного источника уменьшает возможности системы.
добавление разделов в zenoss требует «перемоделить» сервер (делается автоматом раз в сутки или по команде пользователя). После этого новый раздел будет обнаружен и на него повесят нужные параметры мониторинга. Никакого «управления через шаблоны» и прочей мороки.
Вот задать отдельный уровень, при котором нужно слать оповещение, для каждого из разделов — задача хитрее. Но тоже делается красиво, через переменные в настройках групп или хостов (или там и там с логичными переопределениями значений).
Но в подобные переменные нельзя вписывать массивы значений, что очень раздражает. Да и создание этих шаблонов так же излишне кропотливо, на мой взгляд.
Простейший моделер для zenoss или грязный путь в светлое будущее