我有几个nagios服务器,目前通过短信和电子邮件提醒我,但我想添加传出的电话。 理想的解决scheme是让nagios机器打电话给我的手机,在通话过程中播放mp3 / wav,让我知道有什么地方是错误的。 我唯一的问题是,我不知道如何去做到这一点。
我怀疑我可能不得不购买PBX卡来做这件事,但我希望这里的某个人做了类似普通的调制解调器和现成的软件。 任何想法或提示?
星号是矫枉过正的 – 但会工作没有问题。 节省一些时间,并获得一个语音调制解调器,并使用vgetty。
这里是一个教程,显示了一个11行perl脚本通过呼出电话播放消息:
你应该看看Asterisk,一个开源的PBX
你可能想看看预先捆绑的发行版,而不是从头开始,因为Asterisk是相当可configuration的,并且可以在低级别上对新手进行艰巨的处理(就像Apache httpd一样)。
要发送您所描述的警报,我build议使用假脱机文件configuration。 build立一个拨号scheme,当被调用拨号适当的数字和播放正确的文件。 一旦这个工作正常,你可以把文件放到一个Asterisk目录下,这个目录会导致你的拨号scheme的一部分被调用。 您可以将参数等传递到假脱机文件中,这样您就不必从头开始创build每个消息 – 您可以逐字读出服务器,或者使用集成到几个TTS引擎来尝试说出服务器名称。
您需要出站terminal才能将呼叫接入PSTN,但有许多此类服务提供商。 大多数提供定价的地方,只需要为账户支付一小笔固定费用,然后再以较低的价格(每分钟美分)向外拨打电话费用。
希望有所帮助。
如果您仍然在寻找解决scheme,您可能需要查看PagerDuty。 PagerDuty将从任何可发送电子邮件(包括Nagios)的监控系统收集警报,并将电话和SMS消息发送到您提供的人员列表。 它还可以让你build立通话时间表和升级链。
[免责声明:我是在PagerDuty上工作的人员之一,所以我可能有点偏颇:P]
看看nagast。 如果出现问题,这将会打电话给你,并报告给nagios。 另外,如果nagiosbox在一段时间内没有ping(不是icmp,但是nagast-ping),它将会创build一个呼叫。 https://github.com/tuxis-ie/nagast
我不确定拨号位,但我想你可以使用节日来做文本语音合成的一部分。
也许SIP命令行客户端就像这里描述的将是有帮助的? 这很大程度上取决于您监控的内容,您的SIP提供商的可靠程度等等。 仍然我有更多的硬件短信网关的信任。 假设你不监控互联网访问基础设施,或者你的nagios服务器有独立的互联网连接 – 这实际上可以工作。
如果你自己编写一个小插件, Twilio提供了一个function强大且非常容易实现的API,用于通过文本到语音,用户input,录音等进行呼叫。
有诸如email2phone这样的服务可以将电子邮件转换成电话。 这些设置通常是微不足道的,除了添加新的电子邮件地址外,不需要修改Nagios设置。 你的能力有限,但是对于一个快速的解决scheme,它可能适合你。 如果你想要更多的灵活性和一些开发技能,Twilio也是一个不错的select。
如果您完全失去连接性,这两种方法以及本地基于SIP的选项都会出现问题。 为了解决这个问题,您需要为通知(如PSTN线路)提供单独的连接,或者使用Nagios以及第三方监控服务来提醒您连接丢失。