前言
云原生技术蓬勃发展的时代,监控与告警管理作为保障系统稳定运行的关键环节,其重要性不言而喻。
本文推荐一款能够提供一体化可观测性,且在监控告警管理方面表现出色的开源工具,它以其独特的功能和特点,在开源社区中赢得了广泛的关注和认可。
项目介绍
夜莺 Nightingale 作为一款开源云原生监控工具,最初由滴滴开发和开源,并于 2022 年 5 月 11 日,捐赠予中国计算机学会开源发展委员会(CCF ODC),为 CCF ODC 成立后接受捐赠的第一个开源项目。在 GitHub 上有超过 10000 颗星,是广受关注和使用的开源监控工具。夜莺的核心研发团队,也是 Open-Falcon 项目原核心研发人员,从 2014 年(Open-Falcon 是 2014 年开源)算起来,也有 10 年了,只为把监控做到极致。
项目功能
对接多种时序库
实现统一监控告警管理:支持对接的时序库包括 Prometheus、VictoriaMetrics、Thanos、Mimir、M3DB、TDengine 等。
对接日志库
实现针对日志的监控告警:支持对接的日志库包括 ElasticSearch、Loki 等。
专业告警能力
内置支持多种告警规则,可以扩展支持常见通知媒介,支持告警屏蔽/抑制/订阅/自愈、告警事件管理。
高性能可视化引擎
支持多种图表样式,内置众多 Dashboard 模版,也可导入 Grafana 模版,开箱即用,开源协议商业友好。
支持常见采集器
支持 Categraf、Telegraf、Grafana-agent、Datadog-agent、各种 Exporter 作为采集器,没有什么数据是不能监控的。
无缝搭配 Flashduty
实现告警聚合收敛、认领、升级、排班、IM集成,确保告警处理不遗漏,减少打扰,高效协同。
项目说明
工作逻辑
很多用户已经自行采集了指标、日志数据,此时就把存储库(VictoriaMetrics、ElasticSearch等)作为数据源接入夜莺,即可在夜莺里配置告警规则、通知规则,完成告警事件的生成和派发。
夜莺项目本身不提供监控数据采集能力。推荐您使用 Categraf 作为采集器,可以和夜莺丝滑对接。
Categraf 可以采集操作系统、网络设备、各类中间件、数据库的监控数据,通过 Remote Write 协议推送给夜莺,夜莺把监控数据转存到时序库(如 Prometheus、VictoriaMetrics 等),并提供告警和可视化能力。
对于个别边缘机房,如果和中心夜莺服务端网络链路不好,希望提升告警可用性,夜莺也提供边缘机房告警引擎下沉部署模式,这个模式下,即便边缘和中心端网络割裂,告警功能也不受影响。
项目效果
你可以在页面的右上角,切换语言和主题,目前我们支持英语、简体中文、繁体中文。
即时查询,类似 Prometheus 内置的查询分析页面,做 ad-hoc 查询,夜莺做了一些 UI 优化,同时提供了一些内置 promql 指标,让不太了解 promql 的用户也可以快速查询。
当然,也可以直接通过指标视图查看,有了指标视图,即时查询基本可以不用了,或者只有高端玩家使用即时查询,普通用户直接通过指标视图查询即可。
夜莺内置了常用仪表盘,可以直接导入使用。也可以导入 Grafana 仪表盘,不过只能兼容 Grafana 基本图表,如果已经习惯了 Grafana 建议继续使用 Grafana 看图,把夜莺作为一个告警引擎使用。
除了内置的仪表盘,也内置了很多告警规则,开箱即用。
项目源码
为了提供更快速的访问体验,文档和下载站点托管于 https://flashcat.cloud/
前后端代码分离
前端:https://github.com/n9e/fe
后端:https://github.com/ccfos/nightingale
总结
夜莺 Nightingale 作为一款开源云原生监控工具,以其一体化、可扩展性和易用性等特点,在开源社区中赢得了广泛的关注和认可。它不仅提供了强大的监控告警管理能力,还自研了可视化面板,实现了监控告警与可视化的一体化。同时,夜莺还支持多种数据源和采集器,提供了丰富的 API 和插件机制,方便开发者进行二次开发和定制。
关键词
夜莺、#Nightingale、#开源项目、#云原生、#监控工具、#告警管理、#一体化、#可观测平台、#可视化、#GitHub
作者:小码编匠
出处:gitee.com/smallcore/DotNetCore
声明:网络内容,仅供学习,尊重版权,侵权速删,歉意致谢!
方便大家交流、资源共享和共同成长
纯技术交流群、需要的小伙伴请扫码
有收获?不妨分享让更多人受益
关注「程序员开源栈」,共同提升技术实力

