可观测性
系统可观测性设计
10 篇笔记
监控三支柱:Metrics/Logging/Tracing架构
可观测性(Observability)是通过系统外部输出推断内部状态的能力。三大支柱分别从不同维度提供系统洞察:
Prometheus架构:TSDB与AlertManager设计
Prometheus是CNCF毕业的开源监控系统,采用Pull模型采集指标,内置时序数据库,支持强大的查询语言和灵活的告警机制。
Grafana仪表盘:多数据源与告警配置
Grafana是开源的数据可视化平台,支持多种数据源,提供丰富的图表类型和告警功能。是可观测性体系的可视化核心。
OpenTelemetry:统一可观测性框架
OpenTelemetry是CNCF孵化的可观测性框架,提供统一的API、SDK和工具,用于采集Traces、Metrics和Logs三大支柱数据。
分布式链路追踪:Jaeger与Zipkin架构
分布式链路追踪通过在请求入口生成唯一Trace ID,贯穿整个调用链,记录每个Span的耗时和状态,用于分析分布式系统的性能瓶颈。
ELK/EFK日志管道:Filebeat/Logstash架构
ELK(Elasticsearch + Logstash + Kibana)和EFK(Elasticsearch + Fluentd + Kibana)是主流的日志收集和分析平台。Filebeat替代Logstash作为轻量级采集器。
告警架构:分级抑制与On-Call设计
告警系统是运维的眼睛,负责在系统异常时及时通知相关人员。良好的告警架构应减少噪音、精准触发、分级响应。
Chaos Mesh实战:Pod故障与网络延迟注入
Chaos Mesh是CNCF孵化的混沌工程平台,支持在Kubernetes环境中注入多种类型的故障。本章聚焦实战场景和常见故障模式。
日志架构:结构化采样与集中管理
现代分布式系统的日志架构需要平衡可观测性、存储成本和查询性能。核心原则包括:结构化输出、智能采样、集中收集和生命周期管理。
指标设计:RED/USE黄金指标体系
监控指标设计是可观测性的基础。RED和USE是两种经典的方法论,分别面向服务和资源,帮助团队定义关键监控指标。