Я только начал использовать Nagios для мониторинга группы широковещательных передатчиков. Каждый передатчик определяется как хост, и каждый аспект передатчика, который я хочу контролировать (прямая радиочастота, отраженная радиочастота, напряжения питания и т. д.), определяется как услуга. При этом я могу получить сигнал тревоги, если какой-либо из этих аспектов выходит за допустимые пределы, и могу использовать данные о производительности для построения графика каждого аспекта (в данном случае с помощью pnp4nagios).
Чтобы проверить данные телеметрии передатчиков, я написал несколько сценариев, один из которых адресован уникальным возможностям каждой марки/модели задействованного передатчика. В соответствии с тем, как я видел, как работают другие проверки Nagios, аргумент скрипта позволяет вам выбрать, о каком аспекте вы хотите сообщить.
Сначала я был доволен этим. Это работало как любое более традиционное использование Nagios, с которым я сталкивался. Но потом я наткнулся на загвоздку.
Поскольку проверка каждой службы планируется индивидуально, диагностировать аварийное состояние может быть сложно, поскольку различные службы не проверяются одновременно, и поэтому набор значений, на который я смотрю, вряд ли будет синхронизирован по времени. Если бы все значения проверки обслуживания были в один и тот же момент времени, было бы легче обнаружить корреляции (поскольку набор значений по существу был бы моментальным снимком).
Моя первая мысль заключалась в том, чтобы справиться с этим, запустив один экземпляр одной команды, которая вернула бы значения для нескольких служб. Это также может показаться гораздо более эффективным, чем открытие столько экземпляров соединения, сколько проверяемых служб. С точки зрения сценария это легко сделать. Но с точки зрения конфигурации Nagios я не знаю, как (или если?) вы бы это сделали.
Я знаю, что мог бы также отделить сбор данных от проверки Nagios, периодически кэшируя все значения телеметрии и загружая значения Nagios из кеша. Но я не хочу вводить дополнительные задержки, если могу помочь.
Мысли?