关于指标和遥测技术
指标、日志、追踪和性能剖析构成了可观测性的四大支柱。关联这四大支柱有助于全面了解您的应用程序和基础设施。
指标
指标提供了系统状态的高级视图。指标是告警的基础,因为指标是数值,可以与已知阈值进行比较。告警持续在后台运行,当数值超出预期范围时触发。这通常是问题出现的第一个迹象,也是发现的起点。指标表明有情况发生。
日志
日志提供了单个进程活动的审计跟踪,创建了信息上下文。日志作为原子事件,详细描述了应用程序服务中发生的情况。与指标是定量(数值)和结构化的不同,日志是定性(文本)和非结构化或半结构化的。它们提供了更高程度的细节,但也以产生显著更高的数据量为代价。日志让您知道应用程序发生了什么。
追踪
追踪通过告诉您数据路径中每个步骤或操作发生了什么,进一步完善了可观测性视图。追踪提供了出现问题的“地图”,即问题发生的“地点”。追踪提供了数据流路径中每个步骤完成所需时间的图形表示。例如,一个 HTTP 请求、数据库查询或调用第三方服务需要多长时间。它可以显示请求在哪里发起和结束,以及您的系统如何响应。这些数据帮助您定位问题区域并评估其影响,通常在您如果没有追踪请求流的能力就永远无法预料或发现的地方。
性能剖析
性能剖析帮助您了解应用程序如何利用计算资源,例如 CPU 时间和内存。这有助于识别特定的代码行或函数以进行优化,从而提高性能和效率。
为什么要使用指标?
指标告诉您某物的数量,例如计算机系统有多少可用内存或桌子有多长。在使用 Grafana 时,指标在随时间重复记录时最为有用。这使我们能够比较例如运行程序如何影响系统资源的可用性等情况,如下面的仪表盘所示。
像这样的指标存储在时序数据库(TSDB)中,例如 Prometheus,通过记录一个指标并将其与时间戳配对来实现。每个 TSDB 使用略有不同的 数据模型,但都结合了这两个方面,Grafana 和 Grafana Cloud 可以接受它们不同的指标格式进行可视化。
例如,您可能对公司许多用户在早上上班时,随着用户数量的增加,系统 I/O 性能的变化感兴趣。
显示资源使用随时间变化的图表是可视化的一个例子。使用可视化随时间比较这些带时间戳的指标,可以快速轻松地查看计算机系统的变化,特别是在事件发生时。
Grafana 和 Grafana Cloud 提供了多种可视化方式,以适应不同的用例。有关更多信息,请参阅 Grafana 文档中的 可视化。