Nightingale 和 Flashcat 区别概述
Nightingale 是开源监控系统,Flashcat 是基于 Nightingale 扩展的商业版本。简单说,Nightingale 更偏开源指标监控和告警引擎,Flashcat 更偏一站式可观测性平台,覆盖指标、日志、链路追踪、事件和故障分析等更多场景。
主导这两个项目的是同一批团队,均来自北京快猫星云科技有限公司。理解二者关系,可以从四个维度看:
| 维度 | Nightingale | Flashcat |
|---|---|---|
| 产品形态 | 开源监控系统 | 商业化可观测性平台 |
| 核心定位 | 指标监控、告警引擎、基础可视化 | 统一可观测、故障发现与定位、更多企业级能力 |
| 数据范围 | 以指标监控为核心 | 指标、日志、链路追踪、事件等 |
| 服务方式 | 社区 issue、开源版本迭代 | 原厂售前、售后、技术支持和升级服务 |
Nightingale 简介

Nightingale 中文称为夜莺,是一款开源监控系统,于 2020 年 3 月开源。当时笔者在滴滴,所以 Nightingale 最初是滴滴开发并开源的项目。后来该项目捐赠给中国计算机学会开源发展委员会,依托基金会运作,生命力更加长久。
Nightingale 项目地址:https://github.com/ccfos/nightingale。项目位于 ccfos 下面,ccfos 是中国计算机学会开源发展委员会的组织。
Nightingale 项目目前已经发展到 V7 版本,Github star 近 10000,有几千家企业在生产环境使用。Nightingale 发展到现在,核心是做一款指标监控系统,期望支持不同数据源,并把告警能力做到极致。具体介绍可以参考这个文档:夜莺 V7 版本介绍。
Flashcat 简介
Nightingale 的研发人员后来选择在可观测性方向创业,成立了北京快猫星云科技有限公司,并基于 Nightingale 推出 Flashcat 产品。也就是说,Flashcat 是 Nightingale 的商业版本。
Flashcat 主要在 Nightingale 之上扩展更多功能,支持更多数据源。除了指标,还支持日志、链路追踪等功能。同时,Flashcat 在可观测性数据底座之上,提供北极星、灭火图、事件墙等方便故障发现和定位的产品功能。
下面是当前 Flashcat 内置支持的数据源,通过类似 Grafana 的方式把这些数据源集成进来,充分利用这些数据,建设统一的可观测性能力,方便用户快速发现、定位故障。

对于 Nightingale 和 Flashcat 的区别,我们可以参考这个文档:Flashcat商业版功能介绍。
Nightingale 和 Flashcat 的架构联系

可以用上面的架构图理解 Nightingale 和 Flashcat 的关系。
左侧蓝底部分是开源部分,包含开源 Nightingale 和开源 Categraf。通过这两个开源项目,就可以构建基础指标监控系统。其中:
- Nightingale 作为监控服务端,负责数据接收、转存、可视化分析、告警引擎、用户权限等。
- Categraf 作为客户端采集器,负责采集各类监控数据,支持近百种采集插件。

右侧一大片功能模块都是商业版的能力。首先对 Nightingale 和 Categraf 做了能力增强,也支持对接各类数据源,也提供了北极星、灭火图、事件墙等额外的功能。
我们认为,要建设统一可观测性平台,除了建设数据底座(指标 Metrics、日志 Logs、链路追踪 Traces、事件 Events),还要把这些数据用好,建立全局稳定性视图,建立数据之间的串联关系和排障路径,才能真正提升故障定位和处理效率。
所以,Flashcat 额外做了北极星、灭火图、事件墙等功能。这是 Nightingale 和 Flashcat 的重要区别。
另外,不管是开源的 Nightingale 还是商业版 Flashcat 都建议把告警事件推给 Flashduty,使用 Flashduty 做统一的告警降噪、分发、认领处理。当然,即便不用 Flashduty,Nightingale 和 Flashcat 自己也可以发告警通知,只是体验上比 Flashduty 差一些。
原厂 Support
另一个区别是原厂 Support。
Nightingale 作为开源项目,通常每年发布一个版本,每个版本支持时长是两年,主要通过社区 issue 方式支持,时效通常是一周。
Flashcat 作为商业产品,提供 7x24 小时电话支持,有专门的售前、售后、技术支持团队,可以及时响应用户需求。监控系统通常属于 P0 级服务,稳定性和响应及时性很重要。另外,Flashcat 在合同期内可以享受免费升级,通常由原厂售后团队帮助操作。如果因为特殊原因无法升级,也会提供老版本的持续 Support。
如何选择
如果你主要需要开源指标监控、告警规则管理、基础可视化和社区协作,Nightingale 就可以满足很多场景。
如果你希望建设统一可观测性平台,需要日志、链路追踪、事件、故障发现与定位能力,或者需要原厂支持、升级服务和企业级保障,Flashcat 更合适。
多说一句
作为 IT 从业者,可能经常听到某些开源项目停止维护的事情。核心原因之一是开源项目缺少可持续商业模式,导致项目维护者无法长期投入。
我们创业做 Flashcat,一定程度上是希望寻求一种多方共赢的模式。如果您希望构建统一可观测性平台,并且有预算,请给我们一个交流机会。当然,即便只是使用开源版本,也非常欢迎。我们会持续维护开源项目,让更多人受益。
