编者注:以下是作者关于管理监控系统主题的观点。
随着组织向新一代分布式系统和微服务架构发展,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。虽然仍处于 beta 阶段,但该项目已经支持短信、电话、电子邮件、Slack、HipChat 以及各种其他付费和开源集成,用于发送警报。还支持与其他警报工具(如 Nagios)的集成,以及与付费警报工具 PagerDuty 的兼容性,很可能是为了帮助人们迁移。
Prometheus Alertmanager
Alertmanager 能够定义警报定义,然后将具有特定定义的警报路由到易于设置集成的位置。然后,这些集成可以将警报广播到终端设备,管理员可以在需要时静音这些设备。 尽管 Alertmanager 存在局限性,但它仍然是一个非常好的工具,用于向聊天平台和手机发送推送通知。
总结
如果预算或仅使用开源软件是首要考虑因素,那么有很多响应团队警报选项可供选择。首先查看您现有设置中的弱点,并找出您的组织在 IT 问题上出现失误的地方,从而导致这些问题升级为实际问题。这样做可以更轻松地选择应实施哪些工具或工具组合,以最好地解决这些差距。如果它有助于您全面了解如何管理监控基础设施,则可以使用多个工具。
9 条评论