如何让 nagios 向我发送简短且信息丰富的警报?

lex*_*sys 2 nagios

警报消息的默认格式是:

** 恢复主机警报:服务器已启动 **
***** 纳吉欧斯 *****

通知类型:恢复
主机:服务器
状态:UP
地址:server.ru
信息:PING OK - 丢包率 = 0%,RTA = 26.00 ms

日期/时间:2009 年 8 月 13 日星期四 17:08:16 MSD

我希望以最少的字母获得最多的信息。首先,要能够从短信中获取信息。其次,在 90% 的情况下只读取电子邮件的标题。

例如,前面的消息可以只是“ H: server is UP”,其中 H 代表Host Alert。如果此服务器已关闭,我希望收到这样的消息:[!] H: server is DOWN

而不是消息,“服务器上的交换使用情况很重要”,我想得到“[!] S:服务器/交换使用率>50%”,其中 50 取自 check_swap 的 nagios 配置,而不是硬编码到消息中。

如果“Router/wan2 is CRITICAL”,我想看到“ADSL channel is off”。

所以,总而言之,我想分别为每个服务及其状态定制消息,并能够在文本中使用插件参数。

我怎样才能做到这一点?

Ali*_*ani 5

Nagios 可以配置为通过各种方式和各种格式发送通知。如果您需要个性化,请参阅您的 commands.cfg。
这是一个示例,向您展示如何使用 gnokii 通过短信接收简短通知:


define command{
        command_name    notify-host-by-sms
        command_line    /usr/bin/printf "%.120s" "$HOSTALIAS$ is $HOSTSTATE$" |/usr/local/bin/gnokii --sendsms $CONTACTPAGER$ -r
        }

define command{ command_name notify-service-by-sms command_line /usr/bin/printf "%.120s" "$HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$" | /usr/local/bin/gnokii --sendsms $CONTACTPAGER$ -r }

Run Code Online (Sandbox Code Playgroud)

输出就像这样“主机名已启动”