全球架构师峰会 Arch Summit 2018

如何快速构建高效的监控系统 贺强

1. 如何快速构建高效的监控系统 七牛云资深运维开发工程师 贺强
3. 目录 1. 如何定义「高效」的监控系统 2. 如何做好监控的选型和设计 3. 七牛内部监控系统介绍 4. 监控的展望
4. 如何定义「高效」的监控系统 高可靠 • 无单点模块 • build-in metrics • 支持监控种类丰富 • 低延时、无误报 • 易于 debug 易扩展 • 部署方便 • 数据集群化管理 • 服务可水平扩展 自适应 • 机器生命周期 • 服务生命周期 • 人员流转 • SDK / API • 第三方数据的写入与读取
5. 目录 1. 如何定义「高效」的监控系统 2. 如何做好监控的选型和设计 3. 七牛内部监控系统介绍 4. 监控的展望
6. 监控的选型和设计 – 现状分析 32 问题: 1. 数据查询语句复杂,少数人掌握,个别人精通 2. 无分布式方案,单机稳定性差、性能差、数据保存时间短 3. 配置管理无界面,手动操作效率低下 4. 多套集群同时维护,数据和配置分布杂乱,无统一入口 5. 机器和业务、报警和机器之间没有动态关联关系,监控效率低
7. 监控的选型和设计 – 优化目标 统一化 • 化简为繁,将多集群合并 为一套 可视化 • 监控配置可视化 • 数据展示可视化 动态联动 保持兼容 • 保持监控对实体生命周期的 感知 • 用最小的成本实现监控 的迁移
8. 监控的选型和设计 – 方案选型 优点 1. 组件少,部署很方便 2. PromQL 强大的数据查询语法 3. 高可靠性时序数据存储 4. 社区开源的 exporter 丰富 缺点 1. 数据查询语句复杂,少数人掌握,个别人精通 2. 无分布式方案,单机稳定性差、性能差、数据保存时间段 3. 配置管理无界面,手动操作效率低下 4. 多套集群同时维护,数据和配置分布杂乱,无统一入口
9. 监控的选型和设计 – 方案选型 优点 • 组件分布式、稳定性高 • 操作配置可视化 • 原生支持端口,进程,http ,自定义脚本等监控方式 缺点 • 原有监控系统的策略全部不能使用,需要迁移成本 • 历史画图数据迁移(兼容性)问题
10. 监控的选型和设计 – 方案选型 取长补短 OpsMind (分布式 Prometheus)
11. 目录 1. 如何定义「高效」的监控系统 2. 如何做好监控的选型和设计 3. 七牛内部监控系统介绍 4. 监控的展望
12. 七牛内部监控简介 – 优势
13. 七牛内部监控简介 – 架构
14. 七牛内部监控简介 – 功能 服务树 • 一组基于唯一 id 和 pid 生成的树状结构组织 • 可以将运维的对象和树节点关联起来
15. 七牛内部监控简介 – 功能 portal • 一套带 UI 的配置系统 • 对于监控 • 配置监控项 1. 配置监控策略 2. 配置自定义脚本 3. 配置值班信息 4. 查看告警信息和历史数据
16. 七牛内部监控简介 – 功能 分布式 Prometheus • 和第三方公司合作开发 • 基于服务树进行联动
17. 七牛内部监控简介 – 功能 alarm • 基于 Open-Falcon 的 alarm 二次 开发 • 分布式化改造 • 告警合并 • 告警优先级策略 告警 分级 sms oncall wechat
18. 七牛内部监控简介 – 功能 • 数据同步模块 task • 支持将服务树上信息的变化异步的通知给监控系统
19. 七牛内部监控简介 – 架构 auto-recovery • 告警自动化处理模块
20. 七牛内部监控简介 – 架构 alarm-center • 监控自动聚合统计中心 • 告警处理效率反馈及追踪
21. 七牛内部监控简介 – 架构 agent • build-in metric 上报,自动识别机器上系统资源及进程资源 • 插件执行器 • push_gateway • 探活
22. 目录 1. 如何定义「高效」的监控系统 2. 如何做好监控的选型和设计 3. 七牛内部监控系统介绍 4. 监控的展望
23. 监控的展望 1. 故障链路自动追踪定位 2. 基于大数据的智能化监控 3. … …

相关幻灯片