编者注:以下是作者关于管理监控系统主题的观点。
随着组织朝着新一代分布式系统和微服务架构发展,DevOps 世界发现越来越难以满足当今应用程序监控及其生成的警报的混合需求。为了解决 IT 基础设施的这一方面,DevOps 专业人员正在转向新兴的无服务器方法。
实现此过程的软件范围从商业软件到开源软件,从昂贵到免费不等。让我们首先看看问题本身。是什么让管理监控和警报如此困难?
管理监控
当不同区域的不同组织各自选择不同的通信媒介以使其员工和客户感到舒适时,管理监控和警报就会变得复杂。
让我们通过一个例子来更多地了解这个问题。以一家公司为例:
- 拥有许多存在于各种云和非云平台上的产品。
- 使用聊天和电子邮件服务进行内部沟通。
- 拥有在不同时区工作的支持专业人员。
现在,如果该公司的任何产品出现问题,响应团队应在客户(和公司)受到负面影响之前采取行动。如果响应团队立即到场解决问题,就不会有太大的问题,但如果他们不在场,响应团队的某个人应该以某种方式通知他们,以减少功能或可能的财务损失的范围。
问题是,人们无法一直注意到并响应问题。 如果您向响应团队发送电子邮件或短信,则很可能团队中没有人会在问题导致重大财务损失之前看到它。此外,响应团队可能已经收到如此多的电子邮件警报,以至于即使他们有空,他们也可能难以在较小的问题中发现影响大的问题。在这种情况下,您应该向响应团队的某个人发送一个明显的警报,例如拨打电话或向寻呼机发送消息。但是,如果您决定打电话,您需要知道谁实际上有空,否则您可能必须打电话给多个人,直到找到准备好立即接听电话的响应团队成员,如果您的电话在他们所在地区的奇怪时间,这可能需要更长的时间。
相反,您需要的是一种不仅可以监控您的系统,还可以智能地管理警报过程以获得最快结果的工具。一个流行的商业选项是 OpsGenie,在本文中,我们将讨论这个专有选项的开源替代方案。
我们希望从 OpsGenie 获得什么
OpsGenie 是一种付费警报工具,可帮助组织实现智能警报和通知过程。除了值班轮换管理之外,OpsGenie 目前还支持与几乎所有现有系统(付费和免费)的通知。在包括大量自动化、与聊天机器人集成以及值班轮换的 DevOps 环境中,还有许多其他使用它的理由。在中断期间需要技术支持是考虑 OpsGenie 的这些好处的更重要原因之一。
在与 OpsGenie 的比较中,我们将仅关注开源警报工具的基本部分。在许多环境中,这涉及到通过管理以下内容来连接团队:
- 向依赖该服务的团队发送警报。
- 用于查看系统状态的仪表板。
- 与聊天工具和自动响应集成。
编者注:在发布时,OpsGenie 在特定使用范围内确实提供了免费服务。访问他们的网站以获取有关其服务的最新详细信息。
开源警报工具
有一些开源工具可以完成我认为管理监控系统必不可少的所有 OpsGenie 功能。
Cabot
Cabot 提供了获得基础设施完整监控图所需的所有必要功能。Cabot 支持通过电话、电子邮件、短信、HipChat 和 Slack 发送警报。它用 Python 编写,主要使用 Django 框架。Cabot 独立于 Java 和其他内存密集型进程,这使其成为一个稳定的选择。
Nagios
Nagios Core 是免费和开源的,但其支持和一些插件需要付费。值得庆幸的是,Nagios Core 本身是基础设施监控和警报的一个很好的选择。它支持通过电子邮件发送通知,并具有其他一些作为集成的选项。它还支持用户定义的通知机制。如果您有一个可以处理警报并向一种或多种媒介(例如,Slack、HipChat、SMS 等)发送自定义通知的 API,则此工具可能非常适合您。
ngDesk
ngDesk 可以处理您的值班轮换,在没有响应时自动升级警报,并提供一个工单工具。ngDesk 仍在开发完整的软件包,敬请关注这个新兴项目。
Open Distro for Elasticsearch
Open Distro for Elasticsearch 是监控和警报领域的新成员。该项目支持几乎所有的聊天机器人、电子邮件和各种其他警报机制。Open Distro for Elasticsearch 是一个完整的、可插入的监控和警报模块,是许多工具的组合。使用它可以查看 Kibana 中的警报,因此无需使用单独的工具,并且可以通过支持的集成和接收器以您想要的方式获得通知。身份验证支持已添加到 Kibana、Elasticsearch 和此组合中的其他工具中,免费,因此您可以指定谁可以查看您的 elastic 堆栈以及查看其中的内容。
OpenDuty
另一个为付费替代方案带来巨大竞争的警报工具是 OpenDuty。虽然仍处于 beta 测试阶段,但该项目已经支持 SMS、电话、电子邮件、Slack、HipChat 以及各种其他付费和开源集成来发送警报。还支持与其他警报工具(如 Nagios)的集成,以及与付费警报工具 PagerDuty 的兼容性,这很可能是为了帮助人们迁移。
Prometheus Alertmanager
Alertmanager 具有定义警报定义的能力,然后将具有特定定义的警报路由到易于设置的集成。然后,这些集成可以将警报广播到端点设备,管理员可以根据需要对其进行静音。无论其局限性如何,Alertmanager 仍然是一个非常好的工具,用于将推送通知发送到聊天平台和手机。
总结
如果预算或仅使用开源软件是一个首要问题,那么有很多响应团队警报选项可用。首先,查看您现有设置中的弱点,并找出您的组织在 IT 问题上掉链子的地方,从而导致它们升级为实际问题。这样做可以更容易地选择应该实施哪些工具或工具组合,以最好地解决这些差距。如果它有助于您全面了解如何管理您的监控基础设施,则可以使用多个工具。
9 条评论