什么是可察性?以及它如何从监控演变而来

        对服务施行监控是具有挑战性的, 随着您添加更多服务器以支持您的全球团队,监控变得越来越困难。

        如果没有办法监控您的大型拓扑结构,您可能会花费大量时间来解决问题 – 并且不断发生“火灾与灭火” – 例如:

  •          磁盘空间不足。

  •          自动化无法正常工作。

  •          硬件和操作系统的问题。

  •          服务器问题(CPU,内存,温度)。

        所有这些问题都可能阻碍发展进度并延迟产品成果。但通过监控,您可以看到发生了什么。您可以判断单个服务器上是否存在高事务量。并且通过可察性,您可以在问题发生之前先解决掉它。

那么什么是监控?

        监控是一种实时查看服务器运行情况的方法。它可以为您提供可操作的数据。它最常用于故障排除和产能规划。它通常在三个级别完成:

  •          网络(例如流量,带宽,延迟)。

  •          机器(例如CPU和内存利用率和存储)。

  •          应用程序(例如用户命令,锁定,同步,commit/submit等的速率)。

可察性监控之间有什么区别?

尽管可察性似乎只是通过DevOps换皮来进行监控,但它已经发展到包括:

  •          警报/可视化(例如监控仪表板)。

  •          跟踪基础设施(例如,用于分布式系统)。

  •          记录聚合/分析。

可察性可用于调试,复杂的故障排除和性能分析。它着眼于大局。例如:

  •          如何根据历史模式或用户行为来预测特定服务器是否会耗尽磁盘空间?

  •          远程服务器在特定条件下的行为如何?

  •          如果更改操作系统或应用程序设置会发生什么?您是否看到流量或性能突然下降或突然减少?

        监控会告诉您系统是否正常工作,并且可以显示趋势和不寻常的使用或性能模式。可察性似乎回答了为什么会发生这样的问题。

        实施可察性建立在监控之上。它可以帮助您解决潜在问题。这样可以节省时间和金钱,因为您可以在开发受到影响之前检测到问题并进行修复。然后,从整体上看,您将诊断并实施未来的改进。

可察性的三大支柱

        可察性使您能够主动起来,而不是处于被动状态。它是监控,分析和警报管理交叉的属性。可察性有三个支柱:

  •           记录

  •           指标

  •           追踪

        这些想法中的每一个都汇集在一起,以提供您系统的整体视图。

可察性:记录

        要调试或解决问题,您需要访问正确的信息。服务器日志包含诊断问题所需的信息。Plus日志可以跟踪更改历史记录,这有助于审核和合规性。

        日志很容易生成。但是,它们的管理和处理成本很高。对于大型组织,可能难以大规模搜索日志。Tail日志通常是不够的,并且很难在多个服务器和应用程序之间进行协调。例如,查看应用程序日志与Web服务器日志。

        日志包含大量信息,并且可以快速增长。为了帮助管理此信息,需要定期轮换日志。这有助于避免日志在服务器上占用过多磁盘空间等问题。

       虽然日志是帮助诊断问题所必需的,但日志分析本身并不足以在出现问题时提醒您。

可察性:指标

        指标是关于数字的。每个指标都会随着时间的推移查看特定数据,以帮助了解过去的趋势和事件,以及现在正在发生的事情。指标提供的信息可用于预测不久的将来会发生什么。

例子包括:

可察性工作指标

         吞吐量:服务器正在进行的工作量。

         成功:成功执行的工作的百分比。

         错误:错误数或错误率。

         性能:量化服务器完成工作的效率。例如,在特定时间内完成的请求数。

可察性资源指标

         利用率:以时间百分比表示的容量。

         饱和度:由于空间可用网络带宽等资源有限而无法完成的请求工作量。

         错误:内部应用程序或工具错误。

         可用性:服务器可用于处理请求的时间百分比。

         这些指标和其他指标可用于构建仪表板以实时监控。它们还可用于触发警报。检查的频率取决于您的拓扑和开发组织的需求。

         与日志不同,指标通常可以保持更长时间,因为它们通常占用更少的空间。即使流量增加,或者您获得更多服务器,存储指标数据的成本也不会真正增加。

可察性:追踪

        日志和指标可以为您提供可察性,但它通常只是特定服务器或更大系统的一部分。可追溯性是跨多个系统的链接,可帮助诊断更大的问题。

        跟踪一系列相关事件,这些事件显示端到端的服务器请求。他们可以帮助您进行实时调试。

Helix核心和可察性

        Helix Core通常用于各种拓扑结构,许多服务器充当副本。Helix Core可快速为全球开发中心和工作室的贡献者提供资产。

        在可察性方面,它提供了包含所需原始数据的日志记录功能。日志记录可与客户端命令结合使用,以自动化工作流程。

的可察性工具

        如果你没有合适的工具,那么你将难以接受可察性。选择强大的可察性工具组合至关重要。在可察性方面有很多选择可供选择。

        许多Helix Core管理员使用Elastic Stack(以前的ELK),Splunk,Nagios,CheckMK,Prometheus和Grafana等众多工具组合成功。存在集成以将Helix Core日志和其他信息提供给这些工具。

        对于我们的后续博客,我们将为您提供实现监控和可察性的代码。使用开源工具和Helix Core,您将可以访问演示仪表板,演示如何:

  •         收集并使用日志。

  •         访问所需的指标和可追溯性数据。

原文链接:https://www.perforce.com/blog/vcs/what-observability-and-how-evolve-monitoring