效果展示
概述
在现代云原生架构中,可观测性不再是可选项,而是一项基本要求。你需要通过指标了解应用程序的运行情况,通过跟踪了解请求的流向,并通过日志了解应用程序的运行状态。
什么是 OpenTelemetry
OpenTelemetry(简称 OTel)是一个开源的、厂商中立的 可观测性(Observability)框架和工具集,旨在统一和标准化应用程序的 指标(Metrics)、日志(Logs)和分布式追踪(Traces) 的生成、收集、处理与导出。 它由 Cloud Native Computing Foundation(CNCF)托管,是目前云原生生态中最主流、最推荐的可观测性标准,被广泛用于微服务、Kubernetes、Serverless 等现代架构中。 官方文档:https://opentelemetry.io
为什么使用 Jaeger, Prometheus, Loki
Jaeger 官方描述与安装:https://www.jaegertracing.io/ Prometheus 官方描述与安装:https://prometheus.io/ Loki 官方描述与安装:https://grafana.com/docs/loki/latest/
使用 Jaeger + Prometheus + Loki 的组合,是构建现代云原生应用可观测性体系中一种非常经典且高效的方案。它们分别专注于可观测性的不同维度,互补性强,尤其适合微服务、Kubernetes 等分布式系统环境。
Jaeger, Prometheus, Loki 原生支持 OTLP 协议,大大简化了配置流程,不需要中间转换,减少性能消耗
| 组件 | 聚焦领域 | 功能 |
|---|---|---|
| Prometheus | 指标(Metrics) | 采集、存储、查询时间序列数据(如 CPU 使用率、请求速率、错误率、延迟分位数等) |
| Jaeger | 分布式追踪(Traces) | 记录单次请求在多个服务间的完整调用链路,分析性能瓶颈与依赖关系 |
| Loki | 日志聚合(Logs) | 高效存储和查询日志,但不索引日志内容,而是基于标签(labels)进行索引,节省资源 |


