编者注:以下是作者关于管理监控系统主题的观点。
随着组织向新一代分布式系统和微服务架构转型,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 条评论