目录
一、可观测性发展
1、单体应用 - 手动日志排查
单个应用承载复杂逻辑,应用实例数量有限,本地Debug可以解决大部分问题。
2、分布式服务 - 基础指标+日志检索
业务逻辑模块化拆分,节点数量依然可控,简单节点指标检查和架构自带调用链可以满足诉求。日志检索问题初现。
3、容器化微服务 - Prometheus+ELK+Tracing
服务部署容器化,节点数量无法手动管理。K8s控制面+Prometheus成为标配,ELK协助日志汇聚,检索。Tracing诉求强烈,OpenTracing&OpenTelemetry出现。
4、无服务/网格 - Metric+logging+Tracing
运行时虚拟化,应用架构层次增多。复杂架构直接影响故障排查速度。
二、传统的日志架构
- 后台⽇志:对异常uid进⾏染⾊,全量存储后台⽇志
- 客户端⽇志:通过tcp长连接,捞取客户端⽇志
- 单机⽇志->远程⽇志->染⾊⽇志
随着业务从单体应用发展到微服务、云原生,可观测性成为了定位问题的关键。文章探讨了从手动日志排查到K8s架构下Prometheus、ELK、Tracing的运用,以及云原生应用的效率、复杂性、动态性和依赖增加等特点。介绍了指标、链路和日志在应用可观测性中的作用,并提出了可观测一体化的概念,强调了前端、后台和服务治理的监控告警策略。
订阅专栏 解锁全文
59

被折叠的 条评论
为什么被折叠?



