2

我被外部脚本卡住了 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 日志显示:

[警告] 在命令开头发现“>”。这应该不再是必需的,并且将在执行之前从命令中删除。

[警告] 无法关闭管道进行接触测试:断管

sendms.py 没有从标准输入接收任何信息,这很奇怪。

警报信息在哪里?编写命令的正确方法是什么?

4

3 回答 3

1

我正在我的服务器上基于 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} 

使用http://munin-monitoring.org/wiki/MuninAlertVariables中指定的一些 Munin 变量

于 2015-07-03T15:46:10.653 回答
0

您忘记为脚本添加 [pipe]。

可以像这样使用静态消息:

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

或者使用 munin 提供的 [vars]:

contact.test.command | /path/to/my_python_script.py "${var:group} ${var:host} ${var:graph_category} '${var:graph_title}'"
于 2017-04-21T15:59:51.040 回答
0

最好是这样调试它:

su - munin --shell=/bin/bash
/usr/share/munin/munin-limits
于 2019-01-23T09:55:01.730 回答