容器环境下基于APM的海量日志全链路跟踪分析
2020-02-27 277浏览
- 1.容器器环境下基于APM的海海量量⽇日 志全链路路跟踪分析 苌程 杭州谐云科技 VP
- 2.
- 3.
- 4.
- 5.谐云科技具有强⼤大的研发实⼒力力 谐云科技核⼼心团队来⾃自于浙江⼤大学SEL实验室 在开源Kubernetes上⾯面贡献代码全国第⼀一
- 6.苌程 谐云科技 VP 谐云科技联合创始⼈人,专注于分布式系统容错,⼤大数据处理理和分析,主导设计了了 谐云APM产品。
- 7.未来的IT架构⼀一定是微服务化的 容器器⽀支持服务,APM定位故障 传统IT 容器器 APM Future 微服务 谐云拥有这两款产品,且有很好结合点
- 8.• 为什什么需要全链路路的⽇日志排查 • 什什么是全链路路 • 代码中如何实现全链路路 • 如何基于代码增强的⽅方式实现⽇日志增强 • 容器器云带来的挑战
- 9.简单应⽤用架构的⽇日志排查过程 ⽤用户 商品 交易易 Web APP 容器器 数据库 ⽤用户表 商品表 交易易表 单台机 器器 ⽤用户 商品 交易易 Web app 容器器 ⽤用户表 数据库 商品表 交易易表 应⽤用服务器器 数据库服务器器 当应⽤用架构较简单的时候 只有⼀一个⽇日志⽂文件,直接查看⽂文件即可 EASY
- 10.稍微复杂⼀一点应⽤用架构的排查过程 ⽤用户 商品 交易易 Web app 容器器 应⽤用服务器器1 ⽤用户 商品 交易易 Web app 容器器 应⽤用服务器器2 数据库 ⽤用户表 商品表 交易易表 数据库服务器器 ⼀一个集群⾥里里⾯面有限的⼏几个应⽤用⽇日志 多花点时间,直接查看⽂文件即可 有点烦,但还能接受 强强强强
- 11.较复杂的应⽤用架构的⽇日志排查过程 携带session的cookie 负载均衡器器 ⽤用户 应⽤用服务器器1 ⽤用户 应⽤用服务器器2 ⽤用户服务集群 搜 商品 应⽤用服务器器3 商品 应⽤用服务器器4 商品服务集群 写 交易易 应⽤用服务器器5 交易易 应⽤用服务器器6 交易易服务集群 读 NOSQL数据库 缓存集群 同步 搜索引擎 搜索引擎(集群) ⽤用户 商品 交易易 写库垂直拆分 ⽤用户 商品 交易易 读库⽔水平拆分 基于ELK 的统⼀一⽇日 志 ➢ 搜索 ➢ ⽂文件导出 在统⼀一⽇日 志⽀支撑下, 还能统⼀一 接受
- 12.典型基于微服务调⽤用的⽇日志排查过程 携带session的cookie 负载均衡器器 商品 商品 系统 系统 商品服务集群 商品中 ⼼心 登录 登录 注册 注册 ⽤用户服务集群 ⽤用户中 ⼼心 搜 写 交易易 交易易 系统 系统 交易易服务集群 交易易中 ⼼心 读 同步 NOSQL数据库 搜索引擎 ⽤用户 商品 交易易 缓存集群 搜索引擎(集群) 写库垂直拆分 ⽤用户 商品 交易易 读库⽔水平拆分 容器器环境的特点 弹性伸缩 1 2 相同的服务实例例 数很多⼏几⼗十个, 甚⾄至上百个
- 13.统⼀一⽇日志为啥不不能完全解决问题? 1 统⼀一⽇日志的使⽤用⽅方式是:搜索 2 在微服务的整条链路路上的应⽤用都需要关⼼心 结论:搜索出来的⾮非相关性信息太多 3 • ⽐比如搜索:Error,那意味整个系统所有的微服务的Error⽇日志可能都需要看 • 运⽓气好找到⼀一个相关性的⽇日志之后,再去关联其它服务节点上的⽇日志很复杂,⽆无从 下⼿手
- 14.全链路路的⽇日志含义 ▌可以将⽤用户⼀一次访问相关的⽇日志信息经过所有服务不不同实例例完全找出来,并且能 够按照实际响应顺序显示出来 Mar 02, 2016 10:12:28 AM org.apache.coyote.http11.Http11Protocol pauseINFO:'>INFO: