资料介绍
软件简介
夜莺(Nightingale)是一个企业级监控解决方案。旨在满足云原生时代企业级的监控需求。Nightingale 在产品完成度、系统高可用、以及用户体验方面,达到了企业级的要求,可满足不同规模用户的场景,小到几台服务,大到数十万都可以完美支撑。兼顾云原生和裸金属,支持应用监控和系统监控,插件机制灵活,插件丰富完善,具有高度的灵活性和可扩展性。
Nightingale 在 Open-Falcon 的基础上,结合滴滴内部的最佳实践,在性能、可维护性、易用性方面做了大量的改进,作为集团统一的监控解决方案,支撑了滴滴内部数十亿监控指标,覆盖了从系统、容器、到应用等各层面的监控需求,周活跃用户数千。五年磨一剑,取之开源,回馈开源。
Nightingale 采用树状节点导航,我们称之为对象树。对象树本质上是一种对监控对象的分组管理机制,方便查找和查看监控对象,以及对监控对象设置监控策略等管理动作。 一棵典型的树可从上到下描述为组织架构关系、产品服务模块关系、机房和机器挂载关系,该导航树可根据用户需求自行灵活定制。
监控策略应用到某个节点后,该节点下的所有子节点挂载的所有的机器都会应用这个策略,任何一台机器触发相关阈值都会产生告警。
监控大盘的定制做了大幅易用性改进,支持了图表阈值,支持了图表分类,新增图表和排序管理都是可见即所得的方式,巡检大盘的定制从此不再是困难。
Nightingale 是在 Open-Falcon 的基础上衍化发展而来,Open-Falcon 作为国内使用最广泛的监控解决方案之一,为 Nightingale 的设计开发提供了大量的借鉴意义。
与 Open-Falcon 的不同点
- 告警引擎重构:Open-Falcon 的告警策略,在监控数据推送上来的同时会触发策略判断,这种「推」的模式优势是策略的判断时效性非常高,但是不利于更高级的告警策略的支持和扩展,比如多条件的组合报警就很难支持。Nightingale 转为推拉结合模式,通过推模式保证大部分策略判断的效率,通过拉模式支持了与条件告警和nodata告警。
- 引入了导航对象树:将 Open-Falcon 采用的扁平 HostGroup,转为 Nightingale 的导航对象树,对象树本质上是一种对监控对象的分组管理机制,方便查找和查看监控对象,以及对监控对象设置监控策略等管理动作。 同时在 Nightingale 中,去除了告警模板的概念,告警策略直接与树节点绑定,简化设计,大幅提升灵活度和易用性。
- 索引模块升级换代:Open-Falcon 使用 MySQL 存储 metrics 的索引数据,在扩展性和灵活性上存在瓶颈。Nightingale 根据监控需求,设计开发了全新的内存索引模块 index,查询方式更多样,查询效率更高,避免了原来 MySQL 索引数据达到亿级别时面临的维护优化工作。
- 时序数据库优化:在 Open-Falcon 存储模块 Graph 的基础上,引入 Facebook 的 Gorilla 压缩方案,近期几个小时的数据采用内存存储,大幅提升数据查询效率,长期数据仍然使用 rrdtool 数据格式存储在硬盘上。同时进一步完善了时序数据库的性能和稳定性。
- 告警引擎高可用改进:告警引擎 judge 模块通过心跳机制做到了故障自动摘除,再也不用担心单个 judge 宕机导致部分策略失效,需要人工介入的问题,index 模块也是采用类似方式保证可用性。
- 原生内置日志监控功能:Nightingale 客户端原生内置了日志匹配和指标抽取能力,在 web 控制台页面上支持了日志匹配规则的配置,同时也支持读取目标机器特定目录下的配置文件的方式,让业务指标监控更为易用。
- 可运维性增强:将 portal (falcon-plus 中的 api)、uic、dashboard、hbs、alarm 合并为一个模块:monapi,简化了系统整体部署难度,原来的部分模块间调用变成进程内方法调用,性能更高。
- 配置文件中心化:配置文件做了易用性改造,抽取数据库通用配置到 mysql.yml,抽取端口实例地址等关联配置到 address.yml,大批配置在代码里给了默认值,使得配置文件更清晰,易于维护。
与 Open-Falcon 的相同点
- 数据模型没有变化,仍然是 metric、endpoint、tags 的组织方式,agent 基本是可以复用的,Nightingale 中的 agent 叫 collector,融合了原来 Open-Falcon 的 agent 和 falcon-log-agent 的逻辑,各种监控插件也都是可以复用的。
- 数据流向和整体处理逻辑是类似的,仍然使用灵活的推模型,分为数据存储和告警判断两条链路。
Nightingale 架构
- collector即agent,可以采集机器常见指标,原生支持日志监控,支持插件机制,支持业务通过接口直接上报数据;
- transfer提供rpc接口接收collector上报的数据,然后通过一致性哈希,将数据转发给多台tsdb和多台judge;
- tsdb即open-falcon中的graph组件,用于存储历史数据,支持配置为双写模式提升系统容灾能力,tsdb会把监控数据转发一份给index建索引;
- index是内存索引模块,替换原来的mysql方案,在内存里构建索引,便于后续数据检索,在检索的灵活性和检索性能方面大幅提升;
- judge是告警引擎,从monapi(portal)同步监控策略,然后对接收到的数据做告警判断,如满足阈值,则生成告警事件推送到redis队列;
- monapi(alarm)从redis队列中读取judge生成的事件,进行二次处理,补充一些元信息,生成告警消息,重新推送回redis队列;
- 各发送组件,比如mail-sender、sms-sender等,从redis读取告警消息,发送告警,抽象出各类sender是为了后续定制方便;
- monapi集成了原来多个模块的功能,提供接口给js调用,api前缀为/api/portal,数据查询走transfer,去除了 open-falcon 中原来的query组件,api前缀为/api/transfer,索引查询的api前缀/api/index,于是,在前端统一搭建nginx,即可通过不同location将请求转发到不同后端;
- 数据库仍然使用MySQL,主要存储的内容包括:用户信息、团队信息、树节点信息、告警策略、监控大盘、屏蔽策略、采集策略、部分组件心跳信息等;
仍在进行中的工作
- 提供监控指标聚合组件,现在的架构可以解决机器级、模块级的监控,但是集群维度的监控指标,是需要聚合整个集群的所有模块、机器的指标,做一些加和、求平均之类的操作,相关聚合组件,我们在紧锣密鼓的开源过程中;
- 与k8s无缝集成的工作,也在进行之中;
- 完善更多监控插件,之前Open-Falcon社区里的很多插件都是可以直接用的,我们会尽量补充社区没有的插件,并对社区已有的插件,进行二次整理和维护,让Nightingale周边更完善;
联系我们
- 我们的官网是 https://n9e.didiyun.com,相关文档会首发于此。
- 您可以在 Github 上关注 Nightingale,欢迎您试用和参与社区。
- 您可以通过滴滴云的夜莺镜像,一键安装和体验。
致谢和说明
- Open-Falcon 是小米运维团队开源的企业级监控解决方案,在国内广泛使用。
- Nightingale 采用 Apache-2.0 开源协议,Copyright © 滴滴 2020。
- 工业物联网数据采集及监控解决方案
- Ansible企业级自动化运维探索的详细资料说明 2次下载
- 基于对等监控网络实现云监控系统解决方案 0次下载
- 基于RIASOA的企业级应用系统研究崔楠 0次下载
- 基于企业级信息集成平台的数据存储备份系统的构建_王永平 0次下载
- 企业级路由器和家用路由器的区别 29次下载
- All_Flash_FAS_闪存性能绝配_功能丰富的企业级存储 0次下载
- 闪存加速与云就绪:企业级应用对存储提出的全新要求 0次下载
- 安全监控系统解决方案 0次下载
- 箱式门禁监控解决方案 0次下载
- 无线传输视频监控解决方案 198次下载
- 大型企业园区联网监控解决方案 30次下载
- 企业级证券信息系统平台(ECSN)
- 基于Domino的企业级工作流引擎
- 基于Struts2企业级异常处理研究及扩展
- Nightingale夜莺监控部署安装和使用 3078次阅读
- 企业级SSD性能和功耗模型 1841次阅读
- 浪潮信息企业级SSD:如何在PCIe生态下,提升NAND信号质量 1126次阅读
- 详解Zabbix分布式监控平台建设 888次阅读
- 选择AlmaLinux作为CentOS替代方案的一些原因 2345次阅读
- 浅谈企业级应用的SLA对云服务的挑战 1273次阅读
- 基于FPGA的PSM实现解决企业级应用的闪存问题 997次阅读
- 技术 | 传感器性能如何支持状态监控解决方案? 2929次阅读
- 忆芯科技利用Veloce 硬件加速仿真平台进行高速企业级固态硬盘存储设计 1815次阅读
- 解析SD-WAN技术,企业级广域网未来之秀! 1404次阅读
- 基于ARM的无线视频监控系统的解决方案 2606次阅读
- SLOC技术提供高清网络安防监控解决方案 2061次阅读
- 常见企业级SSD故障电源可靠性分析详解 3978次阅读
- Micron用于PCIe插槽的2.5英寸企业级SSD解决方案 2592次阅读
- 浅谈车载视频监控系统解决方案发展 2885次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多