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