传统监控关注的是已知故障,比如CPU使用率超了、磁盘快满了、某个接口返回500。它能告诉你系统出事了,却很难说清楚为什么出事。可观测性则更进一步,它强调从系统输出的数据里主动追问未知问题的答案。当线上一个请求变慢,运维人员要能顺藤摸瓜,找到是哪个服务、哪段代码、哪次数据库调用拖了后腿。
可观测性建立在三类数据之上。指标用来描述趋势,比如每秒请求数、错误率、延迟分位数,适合快速判断系统整体健不健康。日志记录每一次具体事件,是排查问题最原始也最可靠的依据。链路追踪则给一次跨服务调用加上唯一标识,让分散在几十个微服务里的调用片段串成一条完整路径。三者互补,缺一不可。
单体应用时代,一次请求的路径清晰可见,排查问题基本靠翻日志就够了。拆成微服务之后,一个用户操作可能横跨十几个服务,故障定位变成大海捞针。没有链路追踪,你甚至不知道请求在哪一跳卡住。可观测性把这种复杂度重新变成可理解、可排查的状态,是微服务架构能否稳定运行的关键支撑。
不必一开始就追求全量采集。先把核心链路的指标和追踪补上,再逐步扩展日志结构化。选型上,Prometheus、Grafana、Jaeger、ELK这些开源组合已经足够大多数团队起步,关键是让告警少而准,避免运维被海量噪音淹没。