携程新一代监控告警平台Hickwall 携程陈汉
2020-02-27 532浏览
- 1.携程新一代监控告警平台 Hickwall 陈汉
- 2.Agenda Part 1 Part 2 hickwall架构演进 influxdb集群设计 Part 3 Part 4 数据聚合的探索 流式告警的实现
- 3.第一代架构 Proxy Trigger • 组件太多 Kafka API-Server Down Sample Consumer • 链条过长 ElasticSearch Proxy Kafka Consumer • 数据堆积 Redis Redis API-Server Trigger
- 4.当前架构 Proxy Kafka Down Sample Proxy Influxdb cluster Trigger 1. 存储 2. 聚合 Trigger 3. 告警
- 5.Agenda Part 1 Part 2 hickwall架构演进 influxdb集群设计 Part 3 Part 4 数据聚合的探索 流式告警的实现
- 6.Elasticsearch Influxdb 1、磁盘空间占用大(200+T) 2、磁盘IO使用多 3、索引维护复杂 1、针对时间范围高效查询 2、Down Sample* 3、自动删除过时数据 4、写入查询速度慢(5w/s) 4、较低的使用成本
- 7.Incluster架构 Incluster meta meta Client meta • 低耦合 • CAP • 负载均衡 • 灾备 Influxdb Influxdb Influxdb Influxdb
- 8.数据分布策略 1、数据特征->减少数据热点 2、查询特征->减少查询节点 Series Measurement Measurement + Tags cpu.load,appid,pool,server ——> Measurement request.count,appid,… ——> Measurement+appid
- 9.数据恢复 A B C
- 10.Incluster管理界面
- 11.类Graphite 语法
- 12.Incluster的使用 1、10台40C,128G,4T 2、1m-10天,5m-30天,1h-180天 3、约7500w series,45w points/s
- 13.Agenda Part 1 Part 2 hickwall架构演进 influxdb集群设计 Part 3 Part 4 数据聚合的探索 流式告警的实现
- 14.Continuous query 1、内存占用高 2、只作用于本节点 3、集群维护麻烦 4、资源浪费 A B
- 15.时间维度聚合Down Sample 有状态计算的挑战 1、内存(指定partition、元数据去重) 2、准确(指定时间范围) P0,P1 Down Sample P2,P3 Down Sample Kafka Incluster
- 16.4个节点(8C18G),每个节点峰值处理能力2400w
- 17.业务场景的聚合挑战 1、 查询基数高 2、 聚合逻辑比较复杂 req.count appid=001 hostname=server001 type=A source=S … req.count appid=001 hostname=server002 type=A source=S … ...
- 18.ClickHouse 面向OLAP的分布式列式数据库 1、高性能读写 2、提供sql语言和上百个函数 Select quantileExact(0.95)(value) as p95,appid, toUInt32(toStartOfMinute(timestamp)) as time From …… Group By time,appid
- 19.Agenda Part 1 Part 2 hickwall架构演进 influxdb集群设计 Part 3 Part 4 数据聚合的探索 流式告警的实现
- 20.Stream Pull 1、读取频率高 2、响应时间要求高 3、数据可靠性要求高 告警数据占比少 每个告警所需数据少 告警逻辑灵活多变 时效性极强 1、数据过滤 2、无读取压力 3、可靠实时
- 21.数据订阅 1、measurement精确匹配 2、tagValue布隆过滤器 measurement tagKey tagValueBloomFilter 时间复杂度不随规则数量线性增长 Trigger Trigger Trigger
- 22.数据处理 Cluster 1、akka异步高并发 2、actor编程模型 Trigger Context Trigger Context Context
- 23.数据存储 1、In Memory 2、RocksDB * 写入速率高(LSM Tree) * 减少内存使用 * 减少fullGC JVM JNI RocksDB
- 24.语法检查 回测
- 25.4个节点,每个节点6G 每分钟50w+次告警逻辑,400w+points
- 26.本PPT来自2018携程技术峰会 更多技术干货,请关注“携程技术中心”微信公众号