我有几个 nagios 服务器,目前通过短信和电子邮件向我发出警报,但我想添加外拨电话。理想的解决方案是让 nagios 机器拨打我的手机并在通话过程中播放 mp3/wav 以通知我出了问题。我唯一的问题是我不确定如何实现这一点。
我怀疑我可能需要购买 PBX 卡才能做到这一点,但我希望这里有人用普通调制解调器和现成的软件做过类似的事情。有什么想法或提示吗?
答案1
Asterisk 有点过头了 - 但可以正常工作。节省一些时间,获取支持语音的调制解调器并使用 vgetty。
以下教程展示了一个 11 行 perl 脚本,用于通过外拨电话播放消息:
答案2
你应该研究一下 Asterisk,一个开源 PBX
您可能希望查看预先捆绑的发行版,而不是从头开始,因为 Asterisk 具有很高的可配置性,并且在较低级别上可能会让新手望而生畏(非常类似于 Apache httpd)。
要发送您描述的警报,我建议使用假脱机文件配置。构建一个拨号计划,当调用时拨打适当的号码并播放正确的文件。一旦它工作正常,您可以将文件放入 Asterisk 目录中,这将导致调用拨号计划的该部分。您可以在假脱机文件中传递参数等,这样您就不必从头开始创建每条消息 - 您可以让它逐个字母地读出服务器,或者使用与多个 TTS 引擎的集成来尝试说出服务器名称。
您需要外拨终端才能将呼叫转接到 PSTN,但有许多提供商提供此类服务。大多数提供商的定价是先为帐户支付少量固定费用,然后再支付低廉的(大约每分钟几美分)外拨电话费用。
希望有所帮助。
答案3
如果您仍在寻找解决方案,您可能需要查看 PagerDuty。PagerDuty 将从任何可以发送电子邮件(包括 Nagios)并向您提供的人员列表拨打电话和发送短信的监控系统收集警报。它还允许您建立值班时间表和升级链。
[免责声明:我是 PagerDuty 的工作人员之一,所以我可能有点偏见 :P]
答案4
我不确定拨号部分,但我认为你可以使用节日来完成文本到语音的合成部分。