可观测性和监控有什么区别?
在 DevOps 中,可观测性和监控是基于数据的两个不同流程。您可以使用它们来成功维护和管理分布式微服务架构及其基础设施的运行状况和性能。分布式系统的工作原理是在数十、数百或数千个不同组件之间交换数据。
监控是收集数据并生成有关定义系统运行状况的不同指标的报告的过程。可观测性是一种更具调查性的方法。它密切关注分布式系统组件的交互和通过监控收集的数据,以找到问题的根本原因。它包括轨迹路径分析等活动,这是一个跟踪请求通过系统的路径以找出集成故障的过程。监控收集有关单个组件的数据,而可观测性则将分布式系统视为一个整体。
它们的工作原理:可观测性与监控
可观测性和监控都是运行有效的 DevOps 计划的必备流程。
监控
监控计算系统是一种与运行计算系统本身一样古老的做法。监控过程收集有关系统的数据,以检查系统是否按预期运行。它包括有关错误、故障或异常数据值的报告和警报。
例如,监控工具可以收集数据,测量部署一个应用程序版本所用的时间。如果所用时间超出预期时段,监控工具就会提醒用户,指出可能出了问题。
DevOps 监控涵盖整个软件开发生命周期(SDLC)。应用程序性能监控(APM)是 DevOps 监控的专业子集,侧重于生产中运行的应用程序。它优先考虑适用于用户体验的指标。
可观测性
可观测性为传统监控工具带来了更广泛的范围和可见性,纳入了额外的情景和历史数据以及系统交互。它可以调查监控警报的根本原因,同时能够调查因多组件交互而出现的问题。
您可以使用可观测性工具自行调试基于分布式应用程序架构的系统。您还可以使用它们来观测系统的整体实时运行状况以及系统组件之间的交互。您可以使用可观测性软件来映射整个互连系统、其依赖关系和实时交互。
可观测性和监控之间有哪些相似之处?
可观测性和监控最初都源自控制理论领域,即系统工程和数学领域。两者在整个计算和计算混合物理环境中被广泛用于系统运行状况和性能的维护。在 DevOps 中,这两个词汇通常可以互换使用,因为两者都与指标、事件、日志和跟踪等遥测数据有关。
指标
指标是系统数据衡量结果。例如,指标可以是网络吞吐量或一周内的应用程序错误数量。有关指标和可观测性的监控报告旨在寻找改善指标值的方法。
活动
事件是系统中在任何时间点发生的离散行为。例如,用户更改了密码或提示密码尝试次数过多的警报。事件触发监控,并支持事件调查的可观测性。
日志
日志是软件生成的文件,其中包含有关系统的操作、活动和使用模式的信息。日志文件中包含所有流程、事件和消息的历史记录,以及其他描述性数据(如时间戳),以便为这些信息提供上下文环境。监控会生成日志,可观测性利用这些日志对系统进行进一步分析。
轨迹
轨迹是单个操作在各个相互关联的系统中的完整路径。要实现完全分布式跟踪,必须从微服务架构中的每个事务中发出信号以进行跟踪。监控支持跟踪,这是可观测性的重要功能。
可观测性与监控:主要区别
监控是可观测性的关键核心组成部分。全面监控可创建描述性指标、事件、日志和跟踪,以一种易于识别和检索的方式衡量重要内容。历史记录与当前测量结果一起存储,以构建系统的概貌。然后,可观测性可以利用监控创建的内容来更深入地调查事件。
监控是系统错误的时间和内容,而可观测性是系统错误的原因和方式。为了全面了解整个系统的内部状态和运行状况,需要对许多信号进行映射和监控。您需要所有这些数据才能进行有效的调查。为了使可观测性有用和有效,监控必须是全面和描述性的。
异常
通过监控系统,您可以发现系统状态和性能中的异常或非正常行为。借助于可观测性,您可以进一步调查任何异常,即使这些异常是由于数百个服务组件之间的交互而发生的。
起因和影响
监控侧重于某个或某些值,以查看是否对系统产生影响。可观测性的目标是了解造成这种影响的起因。例如,在发布新代码时,监控会跟踪系统指标,以查看应用程序加载时间或数据检索时间是否受到这种变更的影响。在发生影响的情况下,可观测性会调查原因或起因。它会回答是代码变更的哪一部分造成了这种影响,并提出了修复方法。
系统交互
监控通常用于测量特定系统的运行状况。它会收集所有不同系统组件的数据,但是这些数据可能是孤立的,并且其相互关系很难理解。借助于可观测性,您可以全面了解所有相互关联的系统,从而了解问题的发生地点和方式。
使用时间:可观测性与监控
回顾性错误捕获(例如向用户了解中断情况或发现应用程序在错误的目标系统上运行)可能会导致时间、金钱、声誉和开发人员资源的损失。监控是主动式错误捕获的必备条件。监控工具会针对所有类型的差异发出警报,您可以在这些差异造成长期后果之前识别和修复这些差异。
可观测系统是对现有监控功能的补充。这在运行微服务应用程序架构时至关重要,尤其是当它们部署到分布式云基础设施时。如果仅凭监控,几乎不可能在开始出错时识别和隔离应用程序或服务。正确的数据捕获和监控,再加上可观测性,使得通过复杂系统跟踪错误成为可能。
差异摘要:监控与可观测性
监控 |
可观测性 |
|
创新中心是什么? |
测量和报告系统内的特定指标,以确保系统运行状况良好。 |
收集指标、事件、日志和跟踪,以深入调查具有微服务架构的分布式系统的运行状况问题。 |
重点 |
收集数据以识别异常系统效应。 |
调查异常系统效应的根本原因。 |
涉及的系统 |
通常与独立系统有关。 |
通常涉及多个不同的系统。 |
可追踪性 |
限于系统的边缘。 |
可在跨不同的系统架构发射信号时使用。 |
系统错误发现 |
时间和内容。 |
原因和方法。 |
AWS 如何帮助您满足可观测性和监控要求?
AWS Cloud 运维提供模组和工具,以安全高效的方式在云中运维。您可以使用 Amazon Web Services(AWS)对您的企业进行转型、实现应用程序的现代化并迁移应用程序,同时加速创新。
借助云运维中的监控和可观测性,您可以收集、关联、聚合和分析遥测数据。这适用于云、混合或本地部署环境中的网络、基础设施和应用程序。您可以获取有关系统行为、性能和运行状况的洞察。借助这些洞察,您可以更快地检测、调查和修复问题。结合人工智能(AI)和机器学习(ML),您可以利用这些洞察来主动反应、预测和预防问题。
例如,您可以使用:
- AWS X-Ray 来分析和调试生产和分布式应用程序、跟踪用户请求、识别瓶颈和监控性能
- Amazon CloudWatch 以在 AWS、本地和其他云中使用强大的可视化工具访问和分析资源和应用程序数据以及外部输出
- Amazon Managed Grafana 来全面管理 Grafana(热门的监控工具),以便对运营数据的指标、日志和跟踪进行查询、可视化和警报
- Amazon Managed Service for Prometheus 来全面管理 Prometheus,这是一款容器监控工具,用于维护和查询来自您自行管理的 Kubernetes 容器集群的时间序列指标
立即创建账户,开始在 AWS 上使用监控和可观测性。