Проверьте, запущен ли процесс на Bosun
Я тестирую Bosun (систему мониторинга и оповещения с открытым исходным кодом от Stack Exchange), и я совершенно не понимаю, как отслеживать "логические" метрики.
Я хотел бы получать оповещения, если какой-то процесс не запущен.
Чтобы собрать метрику, и я попробовал 2 способа сделать это:
В документации scollector я вижу, что некоторые процессы могут быть настроены, я не получаю никакой связанной метрики. Нужна ли какая-либо специальная конфигурация для включения этих проверок процессов?
Я создал собственный коллектор для подсчета этих процессов.
Для получения оповещения я создал следующее правило:
alert test {
template = test
crit = avg(q("avg:myprocess.running{host=*}", "10m", "")) < 1
}
Это правильный способ сделать это или есть лучший способ?
1 ответ
Опции
- Если у вас есть оповещение и вы используете OpenTSDB, когда набор тегов "исчезает" (нет данных для 2-кратной проверки), оповещение станет неизвестным. Тогда вы можете считать это неизвестное значением "Вниз".
- Если метрика отправляется независимо от того, идет она вверх или вниз (т. Е. Всегда будет 0 или 1, вы можете предупредить об этом. Единственное, что здесь - это то, что avg на самом деле не имеет большого смысла (если вы не делать нечеткую логику). Так что вы, вероятно, хотите использовать либо
last
,max
или жеmin
,
конф
Конфектер scollector идет на каждом хосте. Строки конфигурации должны быть такими, как указано в указанной вами ссылке на документацию. Также имейте в виду, что ваш пример предупреждения не имеет warnNotification или critNotification, поэтому он будет только на панели инструментов (никакие электронные письма или сообщения http не будут установлены).
Наборы тегов и запрос OpenTSDB
Важно понимать этот первый аргумент в "avg:myprocess.running{host=*}". Таким образом, avg означает взять все теги, которые вы не указали, и усреднить их. Так, например, если у вас также есть ID-тег, как у нашего scollector, вы можете захотеть сделать sum
в строке запроса вместо avg
и предупредить, если существует менее одного процесса.