我需要帮助来配置 Nagios,以便 Nagios 在网络上检测到的每个错误都发送音频通知。
我在网上发现我需要安装 Festival,但我不知道如何配置 Nagios。
有谁能帮助我吗?
Nagios Core 是 3.3.1。
答案1
这是在 nagios.com 的授权书面许可下完成的
关于通知的工作原理,有很多问题。本文将尝试解释主机和服务通知的发送时间和方式,以及接收者。
何时发出通知?
发送通知的决定是在服务检查和主机检查逻辑中做出的。仅在处理与该通知相对应的主机或服务检查时才会触发是否发送通知的计算;不会仅仅因为自上次发送通知以来已经过去而触发它们。主机和服务通知发生在以下情况下。
- 当发生硬状态改变时。
当主机或服务仍然处于硬性非 OK 状态,并且自上次发出通知(针对该指定主机或服务)以来已经过了主机或服务定义中的选项所指定的时间。谁会收到通知?
每个主机和服务定义都有一个选项,用于指定哪些联系人组接收该特定主机或服务的通知。联系人组可以包含一个或多个单独的联系人。
当 Nagios 发出主机或服务通知时,它将通知服务定义选项中指定的任何联系人组的成员。Nagios 意识到一个联系人可能是多个联系人组的成员,因此它会在执行任何操作之前删除重复的联系人通知。
为了发送通知,必须通过哪些过滤器?
仅仅因为需要发送主机或服务通知并不意味着任何联系人都会收到通知。潜在的通知必须通过几个过滤器,才能被认为值得发送。即便如此,如果通知过滤器不允许向特定联系人发送通知,他们也可能不会收到通知。让我们更详细地了解必须通过的过滤器。
程序范围过滤器
通知必须通过的第一个过滤器是测试是否在程序范围内启用通知。这最初由主配置文件中的 enable_notifications 指令确定,但可以在运行时从 Web 界面进行更改。如果在程序范围内禁用通知,则无法发送任何主机或服务通知 - 就是这样。如果在程序范围内启用它们,则仍必须通过其他测试。
通知方式
您可以让 Nagios 以任何您想要的方式通知您问题和恢复情况:寻呼机、手机、电子邮件、即时消息、音频警报、电击器等。通知的发送方式取决于对象定义文件中定义的通知命令。1
1来源:Nagios 通知
这是在 nagios.com 的授权书面许可下完成的
使用命令安装 alsa 后
sudo apt-get install alsa alsa-base alsa-utils
之后我们来配置 Nagios Core 使用 aplay 作为 ALSA 声卡驱动程序的命令行音频文件播放器。
> $: cd /usr/local/nagios/etc $: sudo nano commands.cfg
添加以下几行
define command{ command_name play_siren command_line /bin/bash
> /usr/local/nagios/etc/objects/play_siren.sh }
创建脚本来运行声音警报
> $: cd objects $: sudo nano play_siren.sh
用这些线条
> #!/bin/bash /usr/bin/aplay -q /usr/share/nagios/etc/objects/alarm.wav
授予它权限并创建日志
> $: sudo chown nagios.nagios play_siren.sh $: sudo chmod a+x
播放_siren
修改文件 contact.cfg 告诉 nagios 使用声音警报
> $: sudo nano templates.cfg:
修改
定义联系人{名称通用联系人
服务通知周期 24x7
主机通知周期 24x7
服务通知选项 w,u,c,r,f,s
主机通知选项 d,u,r,f,s
服务通知命令通过电子邮件通知服务,play_siren
主机通知命令通过电子邮件通知主机,play_siren 注册 0
} 2
额外参考: