我们昨晚(周日晚上 22:00)发生了一次电路故障,导致所有外部通信中断……因此,大楼内部服务器上的警报无法传达出去。有解决方案吗?也许可以采用 SAAS 来监控/PING 我们的服务器,然后在发生通信故障时发出警报(除了发出服务器监控记录的实际故障警报外)
(我们不是一家大公司,所以当主互联网和辅助互联网连接同时中断时,比如昨晚,我们不太可能愿意花钱寻找一种通信方式)
这次事件对我们来说很不寻常,我们通常不会在周日晚上让支持人员起床(例如单点故障)……但全面通信故障有点不同,因为我们有人想在周一早上 05:00(当地时间)连接……但他们无法联系到支持人员,直到 IT 人员于 08:00 到达办公室
我们在 4 个站点设有服务器,因此,一种选择是使用每个站点来发出警报,以防无法与其他站点通信。我更喜欢更复杂一点的方法,这样当所有 3 个站点都无法与第 4 个站点通信时,我们就可以创建严重警报(实际上,关键严重故障是“没有子公司站点可以与主要总部站点通信”)
我们使用 Servers Alive 进行部分监控,因此一种选择是使用 Servers Alive 在每个站点创建一个网页,以便支持人员可以查看它们以了解每个站点的状态和故障时间戳。如果从站点 A 到站点 B 的 PING 失败,这还可以发出警报,但我们位于农村地区,并且会遇到很多间歇性的单站点 A 到 B PING 失败...
我的理想是建立一种远程监控服务,可以将其配置为只有在某些测试组合失败时才升级为关键 - 例如,所有远程站点都无法 PING 主总部站点。
答案1
您面临的挑战是,您的监控解决方案 (ServersAlive) 依赖于其监控的基础设施。您可以通过多种方式解决这个问题,其中一种方式您已经建议过。
在每个站点设置 ServersAlive 检查,以检查其他每个站点上的组件(网站、ping 等)。然后设置外部监视器(Uptime Robot 等)以监视每个站点上的组件(网站、ping 等)。然后,根据收到的警报,您应该能够确定问题是内部问题还是互联网连接问题等。
另一个选择是在每个站点配置 ServersAlive 以监控其他站点的所有组件。因此 SiteA 监控 SiteB,SiteB 监控 SiteC,等等。这样,您在每个站点的监控就不依赖于被监控的基础设施。
答案2
我发现你已经有了一些有效的想法,但这里还有另一个:
类似的东西的组合https://datadoghq.com和https://pagerduty.com也许每个月只需花几美元就能解决这个问题。