编者注:以下是作者关于管理监控系统主题的观点。
随着组织迈向新一代分布式系统和微服务架构,DevOps 领域发现越来越难以跟上当今应用程序监控的混合需求以及它生成的警报。 DevOps 专业人员正在为此目的转向新兴的无服务器方法来管理 IT 基础设施的这一方面。
实现此过程的软件范围从商业软件到开源软件,从昂贵到免费。 让我们首先看看问题本身。是什么让管理监控和警报如此困难?
管理监控
当在不同地区工作的不同组织各自选择不同的沟通媒介,以使其员工和客户感到舒适时,管理监控和警报变得复杂。
让我们通过一个例子来更深入地了解这个问题。 以一家公司为例,该公司
- 拥有许多在各种云和非云平台上运行的产品。
- 使用聊天和电子邮件服务进行内部沟通。
- 拥有在不同时区工作的支持专业人员。
现在,如果这家公司的任何产品出现问题,响应团队应在客户(和公司)遭受负面影响之前采取行动。 如果响应团队立即在那里解决问题,就不会有太多问题,但如果他们不在,响应团队的某人应该以某种方式通知他们,以减少功能性或可能的经济损失的范围。
问题是,人们不可能一直注意到问题并做出响应。 如果您向响应团队发送电子邮件或短信,则很可能团队中没有人会在问题造成重大经济损失之前看到它。 此外,响应团队可能已经收到了太多电子邮件警报,即使他们有空,他们也可能难以在较小的警报中发现影响重大的问题。 在这种情况下,您应该向响应团队的某人发送一个明显的警报,例如拨打电话或向寻呼机发送消息。 但是,如果您决定打电话,您需要知道谁实际上有空,否则您可能不得不给多人打电话,直到您找到准备好在那个时候接听电话的响应团队成员,如果您的电话是在他们所在位置的奇怪时间打来的,这可能会花费更长的时间。
相反,您需要的是一个不仅监控您的系统,而且还智能地管理警报过程的工具,以便尽快获得结果。 一种流行的商业选择是 OpsGenie,在本文中,我们将讨论这种专有选项的开源替代方案。
我们希望从 OpsGenie 获得什么
OpsGenie 是一种付费警报工具,可帮助组织实现智能警报和通知流程。 除了轮班管理外,OpsGenie 目前还支持与几乎所有现有系统(付费和免费)的通知往来。 在包含大量自动化、与聊天机器人集成和轮班的 DevOps 环境中,拥有 OpsGenie 还有许多其他好处。 在中断期间需要技术支持是考虑 OpsGenie 这些好处的更重要原因之一。
在与 OpsGenie 的比较中,我们将仅关注开源警报工具的必要部分。 在许多环境中,这涉及通过管理以下内容来连接团队
- 向依赖该服务的团队发出警报。
- 用于查看系统状态的仪表板。
- 与聊天工具和自动响应集成。
编者注: 在发布时,OpsGenie 在一定使用范围内确实提供免费服务。 请访问他们的网站以获取与其服务相关的最新详细信息。
开源警报工具
有一些开源工具可以完成我认为对于管理监控系统至关重要的 OpsGenie 所做的一切。
Cabot
Cabot 提供了获得基础设施完整监控图所需的所有必要功能。 Cabot 支持通过电话、电子邮件、短信、HipChat 和 Slack 发出警报。 它用 Python 编写,主要使用 Django 框架。 Cabot 独立于 Java 和其他内存密集型进程,这使其成为一个稳定的选择。
Nagios
Nagios Core 是免费和开源的,但其支持和一些插件是收费的。 值得庆幸的是,Nagios Core 本身是基础设施监控和警报的绝佳选择。 它支持通过电子邮件发送通知,并提供一些其他选项作为集成。 它还支持用户定义的通知机制。 如果您有一个 API 可以处理警报并向一种或多种媒介(例如,Slack、HipChat、短信等)发送自定义通知,那么此工具可能非常适合您。
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 条评论