1、知乎可观测实践邱天罡0102存储架构03一体化监控平台夜莺实践整体架构01存储架构Graphite VSPrometheusGraphite vs PrometheusPrometheusl 主要平台+基础设施类服务使用l k8s 或者 HTTP 做服务发现l vmagent 通过 HTTP 每 10s 抓取一次l Pod 级别指标Graphitel 主要是业务监控使用l 通过 DNS 发现后端服务l 通过 UDP 上报l 服务级别指标存储选择https:/ 架构简单,易维护 性能强大 对比 InfuxDB 20 倍性能提升 对比 InfuxDB 少 10 倍的内存使用 社区活跃/功能强大架构
2、全景图数据聚合span.service._all.server.method.count:1|cspan.service._all.server.method.count:1|cspan.service._all.server.method.count:1|c聚合层span.service._all.server.method.count 3 timestamp数据转换span.service._all.server.method.count转换层span_span_g1_=service,_span_g2_=_all,_span_g3_=server,_span_g4_=method,_sp
3、an_g5_=countvmgraphitel 自研 Graphite 查询引擎l 查询性能提升 10 倍l 二开 Carbonapi,使用 Victoriametrics 集群的内部 RPC 协议与vmstorage 通讯l 查询侧支持添加额外 Tagl 慢查询动态管控l.数据规模全量存储 6 个月数据01磁盘占用 400 TB02机器50 台03每秒写入 3 千万个点04挑战与对策:l UDP 的不可靠l SDK 不支持定时重连,不能感知后端节点变化l 业务上报不规范,维度暴涨+上报QPS 过大l 高可用问题遇到的问题:Doing:l Agent 模式l 本机聚合/限流/定时重连l 使用云
4、盘/双写/定时备份02一体化监控平台解决问题服务监控01告警管理02故障定位03线上应急042.1系统功能系统功能服务详情-服务依赖服务详情-服务概览服务详情-服务概览span.service._all.server.method.count服务详情-服务日志服务详情-拓扑关系span.service._all.server.method.count知乎大盘事件墙告警管理告警流程01数据量比较大,约50 万02如何及时检查?03如何及时发现规则被更改?报警引擎的挑战引擎架构2.2故障定位问题发现问题定位-判断下游服务异常问题定位-判断下游服务异常问题定位-判断自身服务异常根因分析根因分析-报警模块根因分析-变更模块根因分析-指标模块根因分析-日志模块2.3应急处理应急规范应急创建-手动创建应急创建-大盘异常应急创建-用户反馈应急详情03夜莺实践 业务北极星指标智能预警 SLO 指标自定义管理 AI 巡检功能应用l 业务北极星指标智能预警l SLO 指标自定义管理l AI 巡检北极星指标北极星指标报警详情SLO 报表AI 巡检感谢聆听Thank you for listening