监控您无法忽视的指标

随着DevOps运动的兴起,人们开始关注Web应用程序监控工具。这是一件好事。监控Web应用程序(特别是在生产环境中)通常是事后的想法 – 通常在发生一些事件后才会实施。到那个时候,价值已经失去 – 无论是崩溃,性能不佳还是安全漏洞。

拥有强大的监控策略可收集有关Web应用程序运行状况的信息。在解决您的应用程序问题时,将硬信息用作指南会产生奇迹。然而,可能有太多好事。信息太多会导致信息疲劳,这与没有足够的信息一样糟糕。如果您的应用程序中显示的信息太多,那么它最终可能会被调整掉。发生这种情况时,就像没有监控一样。

在本文中,我将讨论一些需要考虑进行监控的最重要指标。此外,我们将介绍用于无缝提供信息的信息呈现方法。让我们开始吧。

选择最重要的指标

如上所述,任何无法采取行动的信息都是您需要消耗的精神体重。充其量,你只会忽略这些信息,最糟糕的是,它会将你的监控变成一个混乱的混乱,并没有提供太多的价值。一个很好的起点是过滤掉信息以显示关键指标,这是否意味着减少信息或建立监控策略。

让我们考虑一些关键指标:

错误处理

有几种方法可以处理应用程序中的监视错误:

  • 使用Raygun的崩溃报告 等工具可以轻松地显示Web应用程序中发生的任何错误。该工具允许使用交钥匙解决方案来确定应用程序中发生的错误,包括频率和确定优先级;
  • 为适当的环境使用内置度量报告。例如,如果您使用Microsoft Azure进行托管,则可以设置指标,以通过电子邮件向您发送有关服务器上可能出现的任何类型的5xx错误的信息。
  • 在您的应用程序中构建错误处理 这通常是最经济和最简单的方法,但很容易失控(同时,确保您的错误处理不会产生自己的错误)。

应用程序性能监控:内部工作

接下来,应用程序性能监视(APM)是应用程序的关键指标。APM工具提供了一种监视应用程序内部工作方式的方法。最有用的功能是确定应用程序中发生的任何瓶颈。应用程序性能管理包含两组主要指标:

  1. 应用程序最终用户所体验的性能。这包括加载时间,请求量等等;
  2. 用于应用程序的计算资源。这允许确定应用程序中的任何硬件瓶颈。

例如,假设性能正在成为您的应用程序的问题,并且用户开始经历缓慢。这些问题可能变得非常模糊,难以发现。与应用程序中发生的错误不同,性能问题更多的是滑动规模。也许它只是慢,因为互联网连接很差?也许用户只会责备自己?由于性能不是绝对的,因此用户的阈值可能会有所不同。

就像错误处理一样,有几种方法可以处理应用程序性能管理:

  • Raygun的APM As APM 这样的开箱即用的工具可以是一项非常大的工作,这是一种简单的方法,可以立即从监控中获得大量价值,而无需太多工作。
  • 手动将性能记录添加到应用程序中。这包括为查询语句添加调试语句,计算时间等。

到目前为止,我们已经指出了两个用于您的应用程序的关键指标。这有助于减少信息疲劳并仅查看最重要的信息,从而使您的Web应用程序保持完美状态。下一步是查看该信息,演示文稿可以在评估Web应用程序的状态时发挥重要作用。

演示:有效地消化信息

与指标一样重要的是,管理监控功能的另一个关键方面是接收信息。理想的交付方法是不需要大量工作来收集所需信息的方法。我有两种方式来考虑这个问题:

  1. 尽快向我提供重要信息。应用程序发生故障或严重错误之类的内容符合此条件;
  2. 获得所有应用程序状态的高级视图。我应该能够快速看到这个并获得应用程序的工作状态,如果需要,可以深入挖掘。

让我们来看看以下每一个:

#1:关键信息警报

正确消化监控信息的第一个方面是收到紧急情况的警报。与涉及优先权的所有事项一样,区分紧急问题和非紧急问题也很重要。信息过载在这里成为一种风险 – 如果您开始收到数百封有关系统错误的电子邮件,那么下一个合乎逻辑的步骤就是过滤掉这些电子邮件。这使你回到以前的状态,没有良好的监控。

有一种简单的方法可以实现有效的警报:

  • 需要立即关注的关键问题是什么?停机时间,安全问题或性能下降超过SLA可以成为优秀候选人;
  • 警报的最佳方式是什么?如果您的团队正在使用Slack,获取Slack通知可能是立即与您联系的最佳方式。也许短信息?电子邮件也是一种选择,尽管将这些警报与其他电子邮件混乱区分开来可能很困难。

重新审视前面提到的Raygun产品,有一系列集成可以使警报方法易于实现。无论您认为哪种方法最适合接收警报,Raygun都应该能够覆盖它。

#2:仪表板

最后,让我们看一下在管理监控功能时消化数据的最后一个方面。仪表板提供了在任何给定时间查看应用程序状态的视觉效果。

让我们来看看Raygun为其Crash Reporting应用程序提供的仪表板:

快速浏览一下,我可以看到如下数据:

  • 当前在应用程序上的实时用户数;
  • 平均加载时间;
  • 最近崩溃的数量。

所有这些都以易于呈现的方式提供了关于应用程序性能的硬数据。如果由于开发工作而提高性能,您将能够以有意义的方式呈现它。

纠缠您的监控能力

现在您已阅读本指南,您应该配备监控的关键信息和接收所述信息的最佳方式。您是否淹没了无法弄清楚如何有效使用的指标?考虑过滤掉您的指标,只使用上面探讨的指标,看看它是否有帮助。

https://thenewstack.io/monitoring-metrics-you-cant-afford-to-ignore/