Добре всем!
Есть некий сервис. Сервис содержит около 2 тысяч элементов, состояние которых нужно проверять.
Сейчас нагиос обращается к сервису, делая около 2 тысяч запросов, чтобы получить статусы по каждому элементу — проблемный он или нет. И это не есть хорошо.
Однако, сервис имеет возможность по одному запросу выдать список всех НЕ проблемных элементов.
Возникла мысль, в контексте нагиоса:
Пусть нагиос не напрямую ломится к сервису, а обращается к внешнему скрипту (плагину), который, сделав один запрос к сервису и получив список НЕ проблемных элементов, отсекает их из полного списка известных ему из конфига или переданным в аргементах элементов и формирует из оставшихся список проблемных (diff).
Но вот беда — нагиос понимает только статусы (которых всего 4), а даже если бы понимал больше, то на описание всех комбинаций состояний «тот элемент ок, а вот те два не ок, а теперь тот не ок, а вот этот ок, а вон тот третий все еще не ок» элементов понадобится число статуса состоящее из 2 тысяч бит, ну, чтобы нагиос как-то отличил что статус поменялся. Но это всё бред.
На самом деле, достаточно ориентироваться не только на статус, но и на текст списка. Даже если статус не изменился, а вот текст списка да — отправлять оповещение. Так, даже при полном песце, куда удобнее будет видеть одно сообщение в две тысячи строк списка, чем 2 тысячи сообщений по 10 строк каждое, когда элемент это отдельный сервис.
Гугл помог вот досюда: https://support.nagios.com/forum/viewtopic.php?f=7&t=30238
И тут я понял, что нагиос сюда совсем не подходит, ибо, ну, костыли же уже велосипедные.
Да нахрен этот нагиос!
Засим вопрос:
Какой инструмент мне поможет достичь желаемого?
При советах, прошу иметь ввиду, что при перекатывании на этот другой, рекомендуемый вами, инструмент, надо, чтобы туда без проблем перетащилось то, что заведено и мониторится сейчас в нагиосе.