豆瓣百万级别指标监控实践
朱兆龙
Outline
背景介绍
监控报警
指标存储
指标展示
总结
背景介绍
监控系统的重要性
• 实时报警
• 事后分析
• 容量规划
原来的总体架构
需求
• 实时、可靠的报警系统
• 大量、高精度指标存储系统
• 灵活、方便的查询方式
监控报警
监控报警
Icinga2
• Icinga2
• 性能、扩展性、可用性
• 语法简洁、Icinga2 API、Icingaweb2
• 规模
• 2 个 master
• 2 个 checker
• 1 个 Icingaweb2
• 1.5 万个监控项
• 周期 1、5 、10 min
指标存储
指标存储
存储需求
• 指标数量 2~3 million
• 每个指标的更新周期 1s ~ 10s
• 内存使用 20 G
• 写入 IOPS 1000
Graphite 性能问题
替换 Graphite ?
优点 缺点
OpenTSDB 1. Metric + Tags 1. 查询函数有限
2. 集群方案成熟(HBase) 2. 依赖 HBase
3. 写高效(LSM-Tree)
InfluxDB 1. Metric + Tags 1. 集群方案不成熟
2. 部署简单、无依赖 2. 内存泄露
3. 设计目标很好 3. 存储引擎在变化
优化 Graphite
• 优点
• 查询高效
• 支持自动 Downsample
• 支持保留策略
• 实现简单
• 复用 Graphite Web
• 需要解决的性能问题
• Whisper 存储引擎 IOPS 高
• Carbon 组件 CPU 使用率高
Whisper
Whisper 简介
Whisper Read
Whisper Write
Whisper 为什么 IOPS 高 ?
• 一个指标对应一个文件
• 自动 Downsample 引起的级联更新
Kenshin 设计
• Kenshin 名称:来源于电影 《浪客剑心》
• 基本思路
• 合并指标文件
• 减少级联更新
• 目标
• 减小 IOPS
• 保持查询速度
• 兼容 Graphtie Web
问题
• 怎么样合并指标文件?
Kenshin 文件结构
逻辑上
物理上
问题
• 怎么样合并指标文件?
• 合并后会有什么副作用?
合并后会有什么副作用 ?
• 副作用:影响查询速度
• 解决办法:cache
问题
• 怎么样合并指标文件?
• 合并后会有什么副作用?
• 什么样的指标合并在一起?
什么样的指标合并在一起 ?
• 理想:一起被查询的指标应该合并在一起
• 假设:创建时间相邻的指标可能会被一起查询
问题
• 怎么样合并指标文件?
• 合并后会有什么副作用?
• 什么样的指标合并在一起?
• 多少个指标应该合并在一起?
多少个指标合并在一起 ?
问题
• 怎么样合并指标文件?
• 合并后会有什么副作用?
• 什么样的指标合并在一起?
• 多少个指标应该合并在一起?
• 怎样减少级联更新?
怎样减少级联更
您可能关注的文档
最近下载
- 美邦服饰存货管理问题分析.docx VIP
- 私募基金投资意向协议.docx VIP
- 电气工程综合实验.doc VIP
- 树立和践行正确政绩观PPT.pptx VIP
- 统编版小学语文三年级上册第六单元 祖国山河 大单元整体学历案教案 教学设计附作业设计(基于新课标教学评一致性).docx VIP
- 建筑施工与环保.pptx VIP
- QBD-CB-UMD-202106150012 曙光DS600 G30系列磁盘阵列用户手册V1.4.pdf VIP
- 汽车式起重机安全技术规程.doc VIP
- 房屋买卖合同书范本下载(2024版).docx VIP
- 超星尔雅《人工智能与科学之美》满分章节测试答案.docx VIP
原创力文档

文档评论(0)