Оповещение munin через внешние скрипты не работает

Я застрял с оповещениями munin через внешние скрипты. Я следил за руководством здесь (http://guide.munin-monitoring.org/en/latest/tutorial/alert.html#alerts-to-or-through-external-scripts), но это оказалось не так.

contact.test.command >/etc/munin/scripts/sendsms.py /etc/munin/scripts/sendsms.py

Журнал munin-limits показывает:

[ПРЕДУПРЕЖДЕНИЕ] Обнаружено ">" в начале команды. Это больше не нужно и будет удалено из команды перед выполнением.

[ВНИМАНИЕ] Не удалось закрыть трубу для проверки контакта: труба сломана.

И sendsms.py ничего не получает от стандартного ввода, что странно.

Где информация о предупреждении? Как правильно написать команду?


person user1495746    schedule 05.03.2015    source источник


Ответы (3)


Я запускаю оповещения на основе скрипта Python на своем сервере. Чтобы настроить это, поместите его в свой /etc/munin/munin.conf. В моем случае это будет выглядеть так:

contact.test.command | /path/to/my_python_script.py

Сам скрипт python выполняется munin. Внутри сценария я читаю со Stdin текст, указанный в

contact.test.text some text and ${var:label} 

с использованием некоторых переменных Munin, указанных на странице http://munin-monitoring.org/wiki/MuninAlertVariables.

person Christian Stade-Schuldt    schedule 03.07.2015

Вы забыли добавить [pipe] для своего скрипта.

Можно использовать статическое сообщение следующим образом:

contact.test.command | /path/to/my_python_script.py "something gone wrong!!!"

Или используйте [vars], предоставленный munin:

contact.test.command | /path/to/my_python_script.py "${var:group} ${var:host} ${var:graph_category} '${var:graph_title}'"
person Zahar    schedule 21.04.2017

лучше всего отлаживать его следующим образом:

su - munin --shell=/bin/bash
/usr/share/munin/munin-limits
person aver    schedule 23.01.2019