10、可观测性
可观测性相对于过去监控最大的变化就是系统需要处理的数据从指标为主 , 扩展到了更广的领域 。 综合起来 , 以下三类数据被看作是可观测性的支柱:
? Metrics , 是一种聚合数值 , 存储空间很小 , 可以观察系统的状态和趋势 , 但对于问题定位缺乏细节展示 。 这个时候使用等高线指标等多维数据结构来增强对于细节的表现力 。 例如统计一个服务的 TBS 的正确率、成功率、流量等 , 这是常见的针对单个指标或者某一个数据库的 。
? Tracing , 面向的是请求 , 可以轻松分析出请求中异常点 , 但与 logging 有相同的问题就是资源消耗较大 。 通常也需要通过采样的方式减少数据量 。 比如一次请求的范围 , 也就是从浏览器或者手机端发起的任何一次调用 , 一个流程化的东西 , 我们需要轨迹去追踪 。
? Logging , 展现的是应用运行而产生的事件或者程序在执行的过程中间产生的一些日志 , 可以详细解释系统的运行状态 , 但是存储和查询需要消耗大量的资源 。 所以往往使用过滤器减少数据量 。
图片来源 Peter Bourgon · Metrics, tracing, and logging
文章图片
11、可观测架构
为解决可观测性数据的融合存储和分析 , 我们自研的统一存储和查询引擎 , 提供了指标、追踪和日志数据的无缝的“可观测性分析诊断” 。
? 观测:观察服务自身的运行状态和监控指标 。
? 分析:对观察数据进行关联、统计、加工等 。
? 诊断:基于观察数据的分析结果 , 描述出系统异常的直接原因 。
12、多采集端的 Agent 技术
数据采集覆盖了从基础设施、业务系统、到端应用的数百种指标和状态 。
? 浏览设备 ta.js:在网页或者 App 打开时加载 ta.js , 持续收集设备、访问路径、性能明细等数据 。
? Java/Nodejs/Golang Agent:在镜像打包时内置 , 应用运行期持续收集事务、异常、进程指标 。
? 日志 filebeat:在云主机部署时安装 filebeat , 持续收集 Pod 中容器的日志 。
? 系统 telegraf:在云主机部署时安装 telegraf , 持续收集 内存、CPU、网络、磁盘、负载、容器等指标 。
13、以项目应用为中心的数据分析诊断
? 1)以项目应用为中心的拓扑
每个项目都会有一个唯一的 Key 标识 , 所有的观测数据都会带上这个 Key , 同时 , 对应项目下的应用和服务的信息也会被记录 。 后继分析以项目视角展示应用架构拓扑 。 可以从架构拓扑图观测业务运行期的状况 , 包括访问量、异常、错误等 。
? 2)慢/错误事务分析
针对于业务系统的慢请求和错误请求 , 我们通过请求 ID 集成了 log、trace 和 metric 的关联 , 让用户可以很容易地定位到请求的异常上下文信息 。
推荐阅读
- 于本|豆瓣 App 安卓新版本 7.20.0 测试
- 苏宁|可循环包装规模化应用 苏宁易购绿色物流再上新台阶
- 产品|泰晶科技与紫光展锐联合实验室揭牌
- 相关|科思科技:无人机地面控制站相关设备产品开始逐步发力
- 生活|数字文旅的精彩生活
- 解决方案|【干货】反渗透设备结垢原因及解决方案
- 手机|【直播纪要】VR/MR会吹响消费电子反攻的号角吗?| 见智研究
- 技术|聚光科技旗下临床质谱仪获批医疗器械注册证
- 智能化|龙净环保:智能型物料气力输送系统的研究及应用成果通过鉴定
- 爆发|中信证券:自动驾驶渐行渐近,惯性导航刚需爆发