AI 驱动下的可观测平台架构升级实践
如果无法正常显示,请先停止浏览器的去广告插件。
1. AI驱动下的携程可观测平台
架构升级实践
演讲人:周昕毅
2. 目录
01 携程可观测平台介绍 02 可观测数据治理实践
03 架构升级助力AIOPS 04
案例实践与展望
3.
4. 01
携程可观测平台介绍
5. About trip.com
- 为用户提供一站式旅行服务的网站
- 应用数量:
1w+
- 实例数量(虚拟机+容器): 40w+
- 每分钟新增Metric数量: 10亿+
- 每日新增日志存储:
1PB+
6. 可观测性数据有哪些
网站当前有没有“问题”?
Metric
Logging
- 系统日志
- 系统性能指标
- 应用性能指标
- 业务埋点指标
- 日志聚合指标
Tracing
聚合
- 应用日志
- 业务日志
- 事件上下文信息
场景化
- 函数级别调用栈
- 应用调用关系
- 负载均衡日志
- 第三方系统日志
“问题”在哪里
“问题”为什么出
现
“问题”的上下文
7. 可观测性数据有什么用
监控告警
故障处理
根因定位
- 硬件/OS 异常 - 提供“上帝视角” - 确定故障影响范围
- 应用级别异常 - 提升故障处理效率 - 全链路追踪
- 业务指标异常 - 基于历史经验自动解决故障 - 专家系统的数据依赖
快速发现
加速定位
根本解决
8. AIOps & 可观测数据
硬件资源
基础软件
可观测数据采集
应用软件
可观测数据存储
AIOps智能化平台
大数据处理 AI工具链
智能分析 智能决策
9. 携程AIOps实践
监控告警
管理容量
- 智能告警 - 容量评分
- 告警归因 - HPA/VPA配置推荐
- 故障定位 - 容量预测 & 压测分析
管理变更
- 变更风险检查
- 自动刹车
- 智能化发布
- 故障处理
AIOps辅助决策层
数据
算法
10. 携程AIOps实践 - 根因定位
根据应用Metric报错数据和应用调用链Trace数据 自动分析当前故障关联关系,提升根因定位效率
11. 可观测平台面临的挑战有哪些
云原生技术 1-5-10目标
- 应用数量快速增长 - HPA (分钟级交付数千容器) - 1分钟发现需要秒级告警
- 应用调用关系复杂 - 时间序列数据库的基数膨胀 - 快速定位依赖可观测体系
微服务架构
可观测系统稳定性
数据及时性
查询效率
- 一站式平台打通多个监控系统 - 海量新增日志秒级写入 - Metric查询毫秒级响应
- 监控数据延迟导致误告警 - 日志丢失率控制 - 1h Logging查询秒级响应
- 容量规划&指标治理体系 - 全链路传输实时性 - 日志平均保留天数>7
12. 携程可观测平台介绍
携程可观测平台一站式产品入口
Metric统一查询层
日志统一查询层
自研Tracing系统
Metric DB1 Clog系统 CAT系统
Metric DB2 ClickHouse 多指标联动
统一元数据 冷热分层 OTEL接入
Metric治理 日志归档 全局报表
13. 02
可观测数据治理实践
14. 携程日志系统架构
15. 可观测性数据膨胀 - 日志量持续增长的问题
- 新增日志Senario: 平均每月50+新增场景
- 存量日志场景保留天数持续增加(14->30->90…)
- 日志容量峰值日增 > 1PB
16. 可观测性数据膨胀 - 日志量持续增长原因分析
- 业务自然增长造成的日志增加 … 最理想情况 :)
- 存量日志需要延长时间应对客诉处理、故障分析、审计和合规需求 (Top100日志平均保存时长为98天)
- 做加法容易,做减法很费劲,研发普遍采用详尽的日志记录策略、为了确保后续排障时能有效定位
- 存储字段不断增加,大量场景需要保存请求报文和访问报文,极端场景下单个报文字段长度超过20万字符
- ClickHouse压缩率较高,是平均单价较低的一种存储介质,相对而言容易出现滥用的情况
17. Logging日志治理实践
从分散到统一
- 统一查询、统一存储
- 统一元数据
- 公司内推进日志使用最佳实践
Loggig最佳实践
日志查询治理
- 用户SQL智能改写
- 查询QPS限制、时间范围限制
- 大表扫描限制
- 查询历史回顾
日志存储治理
- 遵循日志统一规范 - 本地磁盘 + 分布式存储
- 设置合理的保留天数 - 冷热分离技术方案
- 设置合理的发送阈值 - 表级别Quota
- 超过阈值时有合理的采样策略 - 租户级别Quota
18. 可观测性数据膨胀 - 告警数量持续增长的问题
2024年初 2024年底
Metric Insert 112 million/s 150 million/s
Metric Query 4000 query/s 5000 query/s
Trigger Count 15w 18w
- 严重的告警信息被低优先级告警信息淹没
- “狼每天都来”,工程师对告警敏感性降低
19. 可观测性数据膨胀 - Bigeyes告警中台建设
20. 可观测性数据膨胀 - Bigeyes告警中台建设
21. 可观测性数据膨胀 - 告警治理手段
告警分级
- P0/P1/P2/P3
- 告警定期review
- 及时响应率
- P0/P1 告警处理时效性要求
告警降噪
Oncall机制
- 告警聚合能力提升 - 引入Bot协助处理
- 自动抑制和收敛机制 - 告警自愈能力提升
- 控制单位时间内告警数量 - 故障响应及处理方法沉淀
22. 可观测性数据膨胀 - Metric高基数问题
Metric-name
request_duration_seconds
Label-names
Label-values
Cardinality
ipaddress 10.0.0.1/10.0.0.2/10.0. HPA场景下会持续增加
03…
hostname CTN-01,CTN-02,CTN-
03….
containerid axxxx,bxxxx,cxxxx
appid 10001,10002,1003…
极端情况: 应用有异常每
30秒重启一次,
containerid 数量会持续
累积增加
23. 可观测性数据膨胀 - Metric高基数问题解决方案
监控工具功能升级
容量规划
- 增加指标聚合能力 - Metric存储集群自身的监控
- 引导用户进行聚合配置 - 关注 ts数量增长
- 原始数据降维,收敛指标维度 - 尖峰流量应对预案
- Metric Federation建设
Metric指标治理
- 高基数指标的识别和检测
- 非法写入自动封禁
- tag value禁止使用随机数
- 字符内容最大值限制
过滤能力
- 自动识别无效的维度
- 实例维度 -> 应用维度
- 不期望单靠Metric解决所有问题
24. 03
平台架构升级助力AIOPS
25. Metric Federation架构升级
VictoriaMetics DB1
VictoriaMetics DB2
统一API
PROMXY
Metric Federation查询入口
元数据管理
VictoriaMetics DBn 预聚合管理
ClickHouse 自动限流
26. 构建日志统一查询层(1)
27. 构建日志统一查询层(2)
日志缓存加速
SQL改写
- 基于统计分析的不合理查询过滤
自动封禁
- 基于规则的问题查询禁用
- 平均每天拦截1.5K+ 不合理用户查询
- 自动禁用有问题查询来源
28. 日志跨集群迁移工具 - 让存量日志“动”起来
29. 日志跨集群迁移工具 - “Clickhouse Balancer”
- 集群内服务器剩余空间趋同
- 业务高峰期扩容服务器缩容
- “冷”“热”数据定期搬迁
30. 携程统一监控Agent实践 - 采集内容
系统级监控指标
内核级监控指标
日志统一采集
- CPU - ebpf metrics - syslog
- 内存 - 内核异常 - kernel-log
- 磁盘IO - 系统中断情况 - 安全登录日志
- 网络IO - 硬件监控 - auditlog
- 其他系统服务 - 其他底层服务 - 服务启停日志
Trip-All-In-One-AGENT
操作系统
硬件
网络
安全审计
31. 携程统一监控Agent实践 - 收益分析
格式和命名统一
集中管控
安全合规
使用统一的监控Agent可以确保所有
采集的数据采用一致的格式和标准,
便于后续的存储、处理和分析。 集中配置:通过统一的Agent,可以
集中管理和配置监控策略,减少了分
散管理带来的复杂性和错误风险。 可以实施统一的安全策略,如数据加
密、访问控制和审计日志,确保数据
的安全性和合规性。
统一的命名规范可以减少数据混淆,
确保不同来源的数据可以正确关联和
对比。 统一策略:可以应用统一的数据采集
、存储和处理策略,确保所有数据治
理措施的一致性和有效性。 监控Agent在安全审计中是一个重要
的环节,可以确保安全策略的收口,
自动化巡检,策略覆盖度的提升落地
。
32. 携程统一监控Agent运营情况
33. 可观测数据价值深入挖掘 - 整体思路
Metric
统一查询
Logging 统一存储
Tracing 规范治理
“优质”数据 AIOPS平台 价值落地
“低效”数据 定期归档 资源回收
34. 可观测数据价值深入挖掘 - AI通用智能告警
- 数据采集 - 由可观测平台提供统一的数据抓取和推送消息队列
- 配置中心 - 由AIOPS团队提供规则配置存储
- 智能引擎训练 - AIOPS团队消费消息训练时序曲线。
35. 可观测数据价值深入挖掘 - AI通用智能告警
36. 04
案例实践与展望
37. 携程AIOps实践思路介绍
“运维之眼”
“运维之手”
- 监控工具提供基础数据 - 自动化运维工具 API调用
- 可观测平台提升数据质量 - 运维流程workflow
AIOps小助手
问题诊断
数据标准化
决策执行
运维操作
工具接口标准化
38. 日常运维工作中的痛点问题 - 被动式故障管理
发现问题
匹配规则
自动执行
- 典型场景包括: 故障磁盘自动拉出集群;故障机器自动隔离;发现某类型日志自动重启应用;
- 规则明确、执行流程固定、影响面可控的情况,接入AIOPS助手可以显著提升工作效率、降低故
障处理时间
39. 日常运维工作中的痛点问题 - 被动式故障管理
发现问题
智能诊断
40. 日常运维工作中的痛点问题 - 被动式故障管理
41. 日常运维工作中的痛点问题 - 被动式故障管理
42. 日常运维工作中的痛点问题 - RCA会议自动总结
- 可观测性平台提供基础数据
- 借助大模型的能力,进行高效总结
43. 日常运维工作中的痛点问题 - 主动式故障管理
发现“冒烟点”
分析影响范围
基础监控数据 “冒烟”事件 告警补缺
应用观测数据 黄金三指标 运维经验积累
业务日志Trace 告警关联 容量管理
- 典型场景包括: 智能告警、智能变更、根因分析、容量管理
- 被动式 -> 主动式故障管理和故障防御机制
升级处理
知识积累
流程优化
44. 借助AIOps能力解决痛点
“手”“眼”合一,可观测平台持续升级,自动化工具+知识库建设形成规范
AIOps小助手 AIOps智能Agent
规则匹配自动执行 复杂场景辅助人工决策
告警自愈 根因分析
变更授权 故障预测
行为审计 自动变更
45.
46. THANKS
大模型正在重新定义软件
Large Language Model Is Redefining
The Software