1、滴滴开源夜莺系统技术架构概述助企业构建稳定性体系目录CONTENTS 夜莺设计思路和产品简夜莺设计思路和产品简介介 夜莺如何助建稳定性体夜莺如何助建稳定性体系系夜莺设计思路和产品简介业界现状如何?监控在滴滴的演进influxDB+alarmopen-falconwoaterodinuni-monitorecmc-monitor滴滴的监控数据指标总量十亿量级,每秒处理千万量级查询请求每秒十万量级nightingale夜莺项目信息主站: https:/ https:/ v1.3.xDataModel支持extra字段,可以带上一 些traceid或者日志类信息,给高端玩家2020.4.2 v1.2
2、.x页面支持中英双语,主站也在翻译中优化数据推送的长连接,优化judge连接池引入docker-compose简易部署方式2020.3.17 v1.1.x支持ldap校验,用户信息回灌数据库支持counter类型的指标,兼容Open- Falcon社区插件 告警引擎逻辑重构 引入了导航对象树 索引模块升级换代 时序数据库优化 告警引擎高可用改进 原生内置日志监控功能 模块精简可运维性增强 配置文件中心化 数据模型没变,只是扩展 了字段,与原来兼容,社 区的所有插件可以复用 时序数据存储,底层仍然 使用rrdtool归档落盘优化巨大,几乎就是重写了维持不变的与Open-Falcon的对比夜莺架构
3、概述建立通用DataModel,支持夜莺数据采集的能力所有数值型时序数据场景与社区同仁共建生态!系统内置系统内置:默认支持Linux的agent,社区很快有了Win的agent、交换机的采集器;Linux的agent内置了日志监控, 可以用正则提取监控指标,业务监控利器扩展机制扩展机制:内置插件机制,可复用Open-Falcon大部分插 件和采集器,另外非常推荐大家使用SDK埋点采集应用监控数据三点差异三点差异:与Open-Falcon相比,扩展了extra字段、变更 了rpc协议、counter类型处理逻辑前置到collector夜莺数据存储的能力gorillarrdtoolgorillar
4、rdtoolgorillarrdtooltsdbtsdbtsdbgorillarrdtoolgorillarrdtoolgorillarrdtooltsdbtsdbtsdbtsdb-cluster-01tsdb-cluster-02集群外来看是双写双读;集群内来看是一致性哈希,模块内来看是内存压缩加硬盘归档一致性哈希一致性哈希transfer transfertransfer双写生产级的灵活性,引入心心念念的服 务树,去掉单独的nodata组件,去 除告警无关指标的内存消耗夜莺告警引擎的能力告警分级告警收敛告警回调告警认领告警升级时间窗口留观时长静默恢复策略继承特例排除与条件告警标签过滤夜莺事
5、件处理的能力事件存储事件发送事件回调未恢复 告警所有历 史告警用来做日常巡检和告警 分析各类告警发送模块可以在 或接入自己的事件管理夜莺后续发展规划引入指标聚合功能, 自动聚合集群维度 的指标数据与云原生体系更好 的整合,自动读取 Kubernetes 的 各 组件监控指标,是 否引入PromQL正 在论证整理尽可能多的插 件,丰富社区周边, 周 边 欢 迎 提 交 到 排掉隐患 规范流程 量化风险 结果可见指标完备 策略完备 提前预测 即时通知 告警升级定级定责 告警跟踪 故障管理 改进项管理 统计分析监控大盘 事件大盘 链路追踪 告警现场 根因推荐 协作机制预案管理 预案演练 一键操作 告
6、警自愈 操作原则夜莺在故障预防环节的作用排掉隐患检查所有的 机器是否关 联了必要的 策略, 即告 警完备性排 查夜莺提供完备的接口,可以查询策略数据、告警数据,以此分析量化监控系统的使用情况,我们称为监控健康分量化风险检查策略接 收人是否有 效, 及时发 现离职的情 况统计回调覆 盖率, 代表 了自动化程 度, 人为处 理故障显然 恢复的慢统计产品线 维度的告警 事件量, 太 多的, 要给 出理由或整 改计划统计接收人 维度的告警 事件量, 看 是工作安排 不合理还是 策略不合理统计告警恢 复时长, 用 分位值来量 化告警处理 的及时性和 预案有效性夜莺在故障发现环节的作用升级兜底升级兜底即时
7、通知即时通知告警引擎告警引擎夜莺提供生产级灵活可 靠的告警引擎,支持多 种告警函数,各种灵活 策略,支持数据缺失告 警和多条件告警夜莺将告警事件推到 Redis 队列, 异步实时 消费;提供邮件、微信、 钉钉等各类即时通知方 式夜莺支持了告警升级机 制,可以通过告警升级 的方式,将告警发送给 备份人员或领导,保证 有兜底夜莺在故障定位环节的作用监控大盘监控大盘:查看趋势图;提供高性能查 询能力;大盘提供下钻链接,可以串联 上层业务和底层模块、场景事件大盘事件大盘:夜莺将告警事件入库,可以 将监控事件和变更事件放到一个大盘里, 出了问题能够较快定位到可能是某个变 更引起告警现场告警现场:夜莺会把触发告警的时候的 原始指标数据保存下来,以防随着时间 被降采样;夜莺的回调机制可以和公司 内部命令通道打通,告警的时候自动执 行某个脚本采集现场数据夜莺在故障止损环节的作用夜莺在这块只有一个能力,就是告警回调,与内部自动化逻辑打通 滴滴内部每周的故障自愈任务量大约几千次,节省了大量运维人力夜莺在故障复盘环节的作用告警现场指标数据告警历史事件告警跟踪(TT)故障管理夜莺提供告警现场指标数据和告警历史事件我们可以衍生出自己公司的告警跟踪系统,类似aws的TT,对接故障管理监控历史趋势图Thanks谢谢聆听!