可观测性的三大支柱
可观测性(Observability)区别于传统监控(Monitoring):监控告诉你系统是否工作正常,可观测性告诉你为什么不正常。三大支柱为:Traces(分布式追踪)记录请求在微服务间的传播路径;Metrics(指标)提供系统状态的数值化视图;Logs(日志)记录离散事件。
OpenTelemetry架构
OpenTelemetry(OTel)已成为云原生可观测性的事实标准,整合了OpenTracing和OpenCensus。核心组件包括:OTel SDK(应用内嵌的采集库)、OTel Collector(接收-处理-导出Pipeline)、以及W3C Trace Context传播协议。
分布式追踪实践
追踪数据以Span为基本单位,包含TraceID、SpanID、ParentSpanID和时间戳。采样策略分头部采样(Head-based)和尾部采样(Tail-based,基于延迟/错误率的全量保留)。
Prometheus与Metrics生态
Prometheus提供Pull模型的指标采集和存储、PromQL查询语言和Alertmanager告警。Thanos/Cortex/VictoriaMetrics解决了Prometheus单点问题和长期存储。
日志栈选型
日志系统分三层:采集(Fluent Bit/Vector)、缓冲(Kafka)、存储与查询(Elasticsearch/Loki)。Grafana Loki以极低存储成本提供日志查询能力。
eBPF零侵入采集
eBPF技术允许在内核态安全执行沙箱程序,实现零侵入的网络延迟和系统调用追踪。Pixie和Cilium Hubble在网络层自动采集RED metric。
总结
成熟的可观测性体系遵循渐进式路径:先解决Metrics告警覆盖,再补齐分布式追踪,最后完善日志关联。关键是保持三大支柱的数据关联性。

发表评论 取消回复