不得不面对现实。现今监控工具种类繁多,但系统停机和错误仍然是企业运营中亟待解决的重要问题。
那么,综合监控能否成为解决方案呢?
监控对于任何现代数字化企业而言,都是至关重要且不可或缺的一部分。
您不能仅仅因为成本问题而依赖偶然发现的错误,或者等到心烦意乱的客户打电话投诉。
尽管我希望能够公开细节(但合同义务约束着我),我曾亲眼目睹一家公司因为客户投诉的不断累积而失去了从市场排名第二位到二十位左右的位置。 请注意,这是一家 B2B 企业。如果您认为一个优秀的客户服务团队(或客户“成功”团队,无论您怎么称呼)能够拯救他们,那您就错了——系统里不断出现太多意料之外的错误,即使在修复后仍然会随机出现。
为什么仅仅监控是不够的?
解决这类业务问题的答案是——监控! 是的,每个人都明白这一点,而您作为一家企业,可能也已经部署了一些监控系统。
但是,现实世界中的应用程序所面临的挑战是,仅仅检查ping值和API的正常运行时间,根本无法触及应用程序的真正核心。现代应用程序构建在交易、渠道、登录和多个第三方服务之上,所有这些都需要协同运行,而不仅仅是独立完美运作。
使用传统的监控系统,即使您确信您的邮件服务器和支付服务器都在运行,您又如何知道支付服务器是否能够通过邮件服务器发送交易邮件呢?
认识一下综合监控👋。
如果您一直在努力实现能够在客户之前发现问题的目标,那么综合监控正是您所需要的。 尽管这个名字听起来有些深奥(而且自己编写代码可能非常困难),但综合监控的理念其实很容易理解。
它通过脚本模拟应用程序用户,然后检查一些预先定义的页面流程,以验证一切是否按预期工作。请注意,对于您的应用程序来说,这与真实的用户并无差别——请求就像来自真实用户一样,它们涉及到用户在页面上按下按钮和填写表单的操作。
定期设置并运行这样一套测试,可以确保您始终回答以下关键问题:
- 系统是否正常运行?
- 所有重要的子系统是否都已启动?
- 客户是否能够登录?
- 客户是否能够在正确的位置找到他们期望的内容?
- 最近的代码更改是否破坏了客户体验的某些部分?
- 客户是否能够筛选结果、下载报告等?
- 客户是否能够完成支付?
- 客户是否能够从应用程序内联系到支持团队?
您的列表可能有所不同,但只要您设置了综合监控,就可以始终对您的系统充满信心。综合监控的好处怎么强调都不为过,一旦您设置并运行它,您会开始疑惑以前没有它是如何运作的!
有哪些优秀的综合监控工具可供选择?
既然您已经准备好对您的应用程序进行真正地、切实地负责,这里有一些您可以立即部署并开始受益的最佳工具。
Uptrends
Uptrends 是一款功能强大且美观的综合监控服务,非常值得一试。一些令人印象深刻的功能包括故障快照(查看浏览器中究竟发生了什么故障)、带宽限制(查看您的网站/应用程序在不良网络条件下的表现)等等。
微软和Vimeo等公司都在使用Uptrends,所以您和他们一样,都在使用优秀的服务!
Checkly
Checkly 声称是最先进的监控和测试解决方案,已经引起了广泛关注,尤其是在 JavaScript 社区中,它拥有 Vercel 和 Humio 等客户。您可以在真实的浏览器中监控网站事务流程,并检查您的 API 端点。一个单独的仪表板可以随时向您展示有关应用程序运行状况和性能的所有信息。
我真正喜欢的是Checkly如何将非常简单的设置和易用性与开发者喜爱的强大工具相结合。Checkly使用Chrome Puppeteer框架来精确模拟与Chrome浏览器的交互。要创建检查,您可以深入研究代码,也可以使用Puppeteer Recorder,这是Checkly的开源Chrome扩展程序,在Github上获得了近7000颗星。
Checkly提供强大的REST API,允许您编排和自动化检查,例如使用Terraform。 它还允许您为Opsgenie、Pagerduty或Slack设置精细的警报。总而言之,我认为这对现代DevOps团队来说是一个非常出色的解决方案。
您可以从免费计划开始,其中包括从全球数据中心位置进行的每分钟一次的检查间隔。
Dotcom-Monitor的综合监控解决方案可以监控API(REST、SOAP、套接字)、网页(在真实浏览器中)、Web应用程序(包括多步骤事务)和互联网基础设施(FTP、VoIP等)。
Dotcom-Monitor的综合监控工具完全是外部且完全托管的,这使您可以专注于数据,而不是耗时的设置和安装。更重要的是,他们屡获殊荣的支持团队可以全天候 24/7/365 帮助设置和管理复杂的企业级监控任务。
Sematext
Sematext综合监控是一款具有出色且易于使用功能的综合监控工具。 它允许您从世界各地的多个位置监控您的网站和应用程序的可用性。
Sematext报告关于错误率、页面速度和加载时间以及其他关键业务指标的统计数据。您还可以使用它来对竞争对手进行基准测试,并找出您应该优化以提高网站性能的领域。
您可以免费开始使用Sematext,并在承诺任何计划之前测试其所有功能。 准备好后,您可以从三个计划中进行选择。 一个非常灵活的即用即付计划,使您可以非常精细地控制您的显示器。每月29美元的计划为您提供40个HTTP和5个浏览器监视器,数据保留期为30天。专业计划将以99美元的价格为您提供100个HTTP和15个浏览器监视器。
Uptime.com
Uptime.com是一款包含综合监控的企业网络监控软件。
他们独有的内置编辑器配备了字段建议,创建了一种无代码的事务检查方法。该编辑器包含一个自动完成功能,可以识别特定元素而无需寻找它们。
Uptime的事务检查是一种快速而简单的方法,可以获取有关您的网站上什么不工作以及原因的关键信息。我强烈建议尝试一下。
AlertBot
AlertBot是综合监控的另一个不错选择。AlertBot以提供易于使用的高级功能而自豪,可以直接将有用的运行状况报告发送到您的收件箱,并在您的站点出现任何问题时提醒您。
他们真正脱颖而出的地方在于他们对多步骤综合监视器的主动管理(他们称之为“主动脚本助手”)。站点经常更改,此功能可确保您的综合脚本始终正常运行。它们还提供了一个易于使用的网络记录器来帮助您创建脚本。
Pingdom
对于普通企业而言,其需求相当简单明了。通常只有一个应用程序和几个端点需要监控,而且只有少数关键的客户体验。
对于这些用例,大多数顶级产品都显得过于复杂,这使得Pingdom成为我最喜欢的通用监控和综合监控工具。
如您所见,在Pingdom中创建综合监控测试非常简单,而且您一定会喜欢这种快速、专注的体验。如果您还没有开始任何监控,我建议您尝试Pingdom提供的整个堆栈——您一定会非常满意!
Apica
Apica是一家可靠的公司提供的可靠的综合监控产品。他们的综合监控服务包括正常运行时间监控、竞争对手监控、全球监控(模拟来自任何地理位置的用户)等等。
Apica提供的一个关键优势是为对隐私敏感或符合监管要求的企业提供本地部署。
Site24x7
与Pingdom一样,Site24x7更广为人知的是用于监控应用程序正常运行时间的简单ping服务,但我很高兴看到它也提供了综合监控服务。
该服务与Selenium测试用例兼容,因此,如果您已经在使用Selenium进行浏览器测试,那么这是一个额外的便利。
他们的通知系统给我留下了深刻的印象,它带有可编程的webhook以及与Microsoft Teams、Slack、Stride、HipChat、Zapier等的即插即用兼容性。
AppDynamics
现在隶属于思科公司,AppDynamics是在网站和API监控服务中一个非常流行的名称,它是基于浏览器的综合监控服务的一个重要子集 服务.
虽然该产品是标准的,但有几个功能给我留下了深刻的印象。
首先是错误重新测试——一旦出现错误,AppDynamics会重新测试以确保它不是假阴性; 只有这样才会向您发送通知。
其次是私有综合代理,它允许您在基础设施上部署自定义综合代理,以覆盖边缘情况或只是避开延迟问题。 绝对值得一试!
Catchpoint
Catchpoint 是一项极其全面的综合监控服务,拥有 700 多个全球测试地点(比我在研究本文时遇到的任何地点都多)。
它试图通过检查 20 多种监控类型,并挖掘故障的真正原因来覆盖整个监控范围。
例如,文件上传失败是因为FTP服务器、客户的ISP还是您企业的ISP没有响应?无论是任何流行的协议、浏览器类型、最后一英里连接等,Catchpoint都会竭尽全力提供真实、完整的画面。
New Relic
此列表中的最后一个是New Relic,这是另一个不错的综合监控服务。
它具有您在功能强大的综合监控服务中所期望的所有功能,但在撰写本文时只有 18 个全球位置。因此,如果全球可用性是您的第一个关注点,那么这可能不是您的最佳选择。
也就是说,如果您已经在使用New Relic的其他产品,它会形成一个巧妙的组合,尤其是Insights。
结论
与综合监控相对的是实时监控,它涉及实时记录错误并像鹰一样观察它们。 与前者一样,实时监控也有其重要的地位——模拟永远无法完全实现实时加载系统的混乱。
尤其是在确定理想的优化点时,实时监控是您的唯一选择。然而,正如已经指出的那样,实时监控正在追赶客户。这是一种解决错误的被动方式(在我看来,这仍然比企业实践的默认方式领先几英里——忽略错误😀)。