携程新一代监控告警平台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携程技术峰会 更多技术干货,请关注“携程技术中心”微信公众号