编者注: 以下是作者关于管理监控系统主题的观点。
随着组织向新一代分布式系统和微服务架构发展,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 本身是基础设施监控和警报的绝佳选择。 它支持通过电子邮件发送通知,并提供其他一些集成选项。 它还支持用户定义的通知机制。 如果您有一个 API 可以处理警报并向一个或多个媒介(例如 Slack、HipChat、SMS 等)发送自定义通知,则此工具可能非常适合您。
ngDesk
ngDesk 可以处理您的轮班、在没有响应时自动升级警报,并提供票务工具。 ngDesk 仍在开发完整软件包,请继续关注这个新兴项目。
Open Distro for Elasticsearch
Open Distro for Elasticsearch 是监控和警报领域的新成员。 该项目支持几乎所有聊天机器人、电子邮件和各种其他警报机制。 Open Distro for Elasticsearch 是一个完整的、可插拔的监控和警报模块,是许多工具的组合。 有了它,您可以在 Kibana 中查看警报,因此无需使用单独的工具,并且您可以通过受支持的集成和接收器以您想要的方式收到通知。 身份验证支持已添加到 Kibana、Elasticsearch 和此组合中的其他工具,免费,因此您可以指定谁可以查看您的 elastic stack 中的内容以及查看哪些内容。
OpenDuty
另一个与付费替代方案竞争激烈的警报工具是 OpenDuty。 虽然仍处于测试阶段,但该项目已经支持短信、电话、电子邮件、Slack、HipChat 以及各种其他付费和开源集成,用于发送警报。 还支持与 Nagios 等其他警报工具的集成,以及与付费警报工具 PagerDuty 的兼容性,很可能是为了帮助人们迁移。
Prometheus Alertmanager
Alertmanager 能够定义警报定义,然后将具有特定定义的警报路由到易于设置的集成。 这些集成可以将警报广播到终端设备 管理员可以在需要时静音这些设备。 无论其局限性如何,Alertmanager 仍然是向聊天平台和手机发送推送通知的非常好的工具。
总结
如果预算或仅使用开源软件是首要考虑因素,则有大量响应团队警报选项可用。首先查看您现有设置中的弱点,并查明您的组织在 IT 问题上哪里出了问题,导致它们升级为实际问题。这样做可以更轻松地选择您应该实施哪个工具或工具组合,以最好地解决这些差距。如果它有助于您全面了解如何管理监控基础设施,则可以使用多个工具。
9 条评论