可观测性是理解系统状态的能力。现代后端系统的可观测性通常包括日志(Logs)、指标(Metrics)和追踪(Traces)。
1. 日志(Logs)
- 记录离散事件,是问题定位的基础。
- 结构化日志便于机器分析。
- 推荐JSON格式 + 统一日志ID。
- 分级存储:DEBUG在测试环境,INFO与ERROR保留生产。
2. 指标(Metrics)
- 时间序列数据,适合统计趋势。
- 常见指标:QPS、响应时间、错误率、CPU、内存。
- 指标采集:Prometheus。
- 可视化:Grafana。
- 监控告警:通过规则检测异常波动。
3. 链路追踪(Traces)
- 记录请求在系统中的完整路径。
- 常用工具:SkyWalking、Jaeger、Zipkin。
- 关键指标:trace_id、span_id、服务依赖图。
- 用于定位跨服务调用延迟。
4. 可观测性设计原则
- 关联性:日志、指标、追踪三者需统一traceId。
- 实时性:采集延迟低于1分钟。
- 存储层级:冷热数据分离,减少成本。
- 可视化:仪表盘展示关键业务健康度。
5. 实践方案
- 统一采集Agent:FluentBit + Prometheus Exporter。
- 数据流:采集 → 过滤 → 存储 → 可视化。
- 报警体系:Prometheus Rule + Alertmanager。
结论:日志告诉“发生了什么”,指标揭示“趋势如何”,追踪解释“为什么慢”。三者结合,后端系统才能真正做到“看得见、测得准、修得快”。