当前位置: 首页 > 软件库 > 管理和监控 > 系统监控 >

Nightingale

企业级监控解决方案
授权协议 Apache
开发语言 Google Go TypeScript
所属分类 管理和监控、 系统监控
软件类型 开源软件
地区 国产
投 递 者 翟奇
操作系统 跨平台
开源组织 滴滴出行
适用人群 未知
 软件概览

夜莺(Nightingale)是一个企业级监控解决方案。旨在满足云原生时代企业级的监控需求。Nightingale 在产品完成度、系统高可用、以及用户体验方面,达到了企业级的要求,可满足不同规模用户的场景,小到几台服务,大到数十万都可以完美支撑。兼顾云原生和裸金属,支持应用监控和系统监控,插件机制灵活,插件丰富完善,具有高度的灵活性和可扩展性。

Nightingale 最初由滴滴开源,后来捐赠给中国计算机学会开源发展委员会(建成CCF ODC),是CCF ODC首个接受产业界捐赠的开源项目。

Nightingale 在 Open-Falcon 的基础上,结合滴滴内部的最佳实践,在性能、可维护性、易用性方面做了大量的改进,作为集团统一的监控解决方案,支撑了滴滴内部数十亿监控指标,覆盖了从系统、容器、到应用等各层面的监控需求,周活跃用户数千。五年磨一剑,取之开源,回馈开源。

产品特点

开箱即用

内置监控大盘、快捷视图、告警规则,导入即可快速使用,广大社区用户也在持续完善,将最佳实践内置于产品

兼容并包

可以和 Prometheus、Categraf、Telegraf、Datadog-Agent、VictoriaMetrics、M3DB 等无缝集成

高性能

得益于新时代的高性能时序库,和夜莺引擎侧优秀的设计,单机轻松扛起百万Series,节省企业大量成本

水平扩展

服务端组件均可水平扩展,无单点风险;亦可将时序库、告警引擎下沉到各个机房,从地域、业务层拆分

经受打磨

夜莺监控已经在上千家企业部署落地,经受了生产实践打磨,有些企业的夜莺集群达几十台机器,处理十亿级Series

社区活跃

托管于中国计算机学会开源发展委员会,有快猫星云商业公司持续投入,夜莺项目具有持久生命力

产品介绍

Nightingale 可以接收各种采集器上报的监控数据,转存到时序库(可以支持Prometheus、M3DB、VictoriaMetrics、Thanos等),并提供告警规则、屏蔽规则、订阅规则的配置能力,提供监控数据的查看能力,提供告警自愈机制(告警触发之后自动回调某个webhook地址或者执行某个脚本),提供历史告警事件的存储管理、分组查看的能力。

系统截图

系统架构

莺 v5 的设计非常简单,核心是 server 和 webapi 两个模块,webapi 无状态,放到中心端,承接前端请求,将用户配置写入数据库;server 是告警引擎和数据转发模块,一般随着时序库走,一个时序库就对应一套 server,每套 server 可以只用一个实例,也可以多个实例组成集群,server 可以接收 Categraf、Telegraf、Grafana-Agent、Datadog-Agent、Falcon-Plugins 上报的数据,写入后端时序库,周期性从数据库同步告警规则,然后查询时序库做告警判断。每套 server 依赖一个 redis。

产品对比

Zabbix 
Zabbix 是一款老牌的监控系统,对机器和网络设备的监控覆盖很全,比如支持 AIX 系统,常见的开源监控都是支持 Linux、Windows,AIX 较少能够支持,Zabbix 用户群体广泛,国内很多公司基于 Zabbix 做商业化服务,不过 Zabbix 使用数据库做存储,容量有限,今年推出的 TimescaleDB 对容量有较大提升,大家可以尝试下;其次 Zabbix 整个产品设计是面向静态资产的,在云原生场景下显得力不从心。

Open-Falcon 
因为开发 Open-Falcon 和 Nightingale 的是一拨人,所以很多社区伙伴会比较好奇,为何要新做一个监控开源软件。核心点是 Open-Falcon 和 Nightingale 的差异点实在是太大了,Nightingale 并非是 Open-Falcon 设计逻辑的一个延续,就看做两个不同的软件就好。

Open-Falcon 是 14 年开发的,当时是想解决 Zabbix 的一些容量问题,可以看做是物理机时代的产物,整个设计偏向运维视角,虽然数据结构上已经开始设计了标签,但是查询语法还是比较简单,无法应对比较复杂的场景。

Nightingale 直接支持 PromQL,支持 Prometheus、M3DB、VictoriaMetrics 多种时序库,支持 Categraf、Telegraf、Datadog-Agent、Grafana-Agent 做监控数据采集,支持 Grafana 看图,整个设计更加云原生。

Prometheus 
Nightingale 可以简单看做是 Prometheus 的一个企业级版本,把 Prometheus 当做 Nightingale 的一个内部组件(时序库),当然,也不是必须的,时序库除了 Prometheus,还可以使用 VictoriaMetrics、M3DB 等,各种 Exporter 采集器也可以继续使用。

Nightingale 可以接入多个 Prometheus,可以允许用户在页面上配置告警规则、屏蔽规则、订阅规则,在页面上查看告警事件、做告警事件聚合统计,配置告警自愈机制,管理监控对象,配置监控大盘等,就把 Nightingale 看做是 Prometheus 的一个 WEBUI 也是可以的,不过实际上,它远远不止是一个 WEBUI,用一下就会深有感触。

联系我们 

致谢和说明

  • Open-Falcon 是小米运维团队开源的企业级监控解决方案,在国内广泛使用。
  • Nightingale 采用 Apache-2.0 开源协议。
  • 一、server端部署 1、安装mariadb yum -y install mariadb* systemctl enable mariadb.service --now mysql -e "SET PASSWORD FOR 'root'@'localhost' = PASSWORD('1234');" 2、安装prometheus      创建 prometheus 安装脚本install_

  • Nightingale,简称n9e,中文名为“夜莺”。 夜莺是滴滴基础平台联合滴滴云研发和开源的企业级监控解决方案。旨在满足云原生时代企业级的监控需求。Nightingale在产品完成度、系统高可用、以及用户体验方面,达到了企业级的要求,可满足不同规模用户的场景,小到几台服务,大到数十万都可以完美支撑。兼顾云原生和裸金属,支持应用监控和系统监控,插件机制灵活,插件丰富完善,具有高度的灵活性和可扩展

  • Unit 5B - The Nightingale The Nightingale Hans Christian Andersen You know, of course, that in China the Emperor is Chinese, and all the people around him are Chinese too. It happened a good many year

  • 文档手册 v3版本文档全部使用 后续会放到微信公众号:ops-soldier 1)组件启动报错,比如fail: 'addr:10.32.0.49' not ip etc目录下有个identity.yml,里边配置了一条shell获取ip,这个shell未必能兼容所有的机器环境,这个报错就是典型, 说明这个shell打印的output多了一个addr:前缀,解决办法有两个,一个是修改这个identi

 相关资料
  • 自助功能开发中,请稍后关注企业管理平台功能

  • 以下是为 linkerd 提供商业支持和其他企业产品的公司列表: Buoyant 是 linkerd 的原创者,并提供支持,培训和企业产品。 了解更多 »

  • 作用 用于查询企业账户额度、开票额度等信息。 依赖 暂无依赖 注意 所有接口调用时需要严格遵守请求方式(GET/POST) 使用接口前需要仔细阅读每个接口的注意事项 接口报错时先阅读通用错误解决方案和当前接口文档下的接口错误解决方案

  • 注意:本书中的 Service Mesh 章节已不再维护,请转到 istio-handbook 中浏览。 本节是根据由Nginx赞助,O’Reilly出版社出品的关于服务网格的书籍总结而来,本书标题是 The Enterprise Path to Service Mesh ,还有个副标题 Decoupling at Layer 5 ,第一版发行于2018年8月8日。这本书一共61页,本文是我对该书

  • 业务监控子系统分为单机版和集群版两个版本,单机版只需依赖一个用于存储监控数据的Mysql数据库即可正常运行,而集群版则需要在单机版的基础上,在监控数据收集端部署一个服务端程序进行相关的数据聚合入库处理。 整个业务监控子系统不管是单机版还是集群版,都是基本一个给Java服务的各项指标提供度量工具的包Metrics进行扩展实现的,这样可以有效保证底层监控指标统计算法的性能和正确性,在此基础上,本系统扩