9k star 监控系统,100% 国产,推荐了解

合集 – 夜莺监控(20)
1.夜莺官方文档优化第一弹:手把手教你部署和架构讲解,消灭所有部署失败的 case!干!2023-05-182.可观测性平台夜莺开源项目发布V6正式版!2023-08-073.夜莺中心端管理categraf采集规则并下发2023-08-264.夜莺项目发布 v6.1.0 版本,增强可观测性数据串联2023-08-285.夜莺项目发布 v6.4.0 版本,新增全局宏变量功能2023-11-306.夜莺专业版网络设备功能介绍2023-12-047.利用夜莺开源版对H3C无线设备监控2023-12-198.夜莺项目发布 v6.5.0 版本,暗黑菜单来了2023-12-209.TiDB 多集群告警监控-初章-监控融合、自动告警处理01-1110.TiDB 多集群告警监控-中章-融合多集群 Grafana01-1211.夜莺监控发布 v6.7 版本,推送部分商业版功能01-2412.数据可视化基础篇-图形语法03-0613.夜莺监控 V7 第二个 beta 版本发布,内置集成故障自愈能力,简化部署04-1714.细说夜莺监控系统告警自愈机制05-0815.已经有 Prometheus 了,还需要夜莺?05-0916.夜莺监控 v7.beta4 发版,仪表盘变量和业务组下的机器联动05-2317.教你一招,告警恢复时如何拿到恢复时的值?06-1218.使用夜莺和 Categraf 快速建设 MySQL 监控07-1119.使用夜莺+categraf监控redis和redis集群07-22
20.9k star 监控系统,100% 国产,推荐了解08-20

收起

前言

监控系统的重要性不言而喻,国内用的最多的应该是 Zabbix 和 Prometheus,其优缺点:

Zabbix 是资产管理式,监控数据存在数据库中,擅长设备监控,不擅长微服务和云原生环境的监控;推出时间较早,社区活跃度较高
Prometheus 是云原生环境的监控利器,支持多维度的指标数据,自研存储引擎,但是告警引擎是单点,使用配置文件管理规则,缺少权限化管理的 WebUI,如果把监控能力开放给公司所有团队,让各个团队自服务,就比较困难

随着云的发展,Zabbix 感觉是依托于存量市场,而 Prometheus 是未来的大势所趋。那 Prometheus 的缺点应该如何解决呢?推荐大家了解一下夜莺(Nightingale)开源项目。

夜莺介绍

夜莺项目 github 地址是 https://github.com/ccfos/nightingale 。其中 ccfos 是哪家公司?其实,ccfos 不是家公司,ccf 是中国计算机学会的缩写,os 是 open source 的缩写,ccfos 是中国计算机学会开源项目的统一地址。夜莺项目最初由滴滴开源,后来捐赠给中国计算机学会进行托管了。

目前,夜莺项目的 github star 数量在 9300 多,fork 数量在 1300 多,相当于每 7 个 star,就有一次 fork,docker pull 的数量 178000,增长曲线非常健康。

9k star 监控系统,100% 国产,推荐了解

夜莺产品架构

夜莺核心是做一个高可用的告警引擎,支持多数据源接入,很多公司都有多个 Prometheus、VictoriaMetrics、Thanos,希望统一管理告警规则,于是,夜莺的产品架构图如下:

9k star 监控系统,100% 国产,推荐了解

用户配置的告警规则,可以同时生效到多个时序库,不需要为每个时序库分别配置告警规则。另外,对于有些公司有多个机房,网络链路不太好,时序库可能分散在多个机房,夜莺支持把告警引擎下沉部署到各个机房,即便和中心机房的网络链路中断,也不影响边缘机房的告警。架构图如下:

9k star 监控系统,100% 国产,推荐了解

下面我们介绍一下夜莺的优势和劣势。

夜莺优势1:灵活的告警规则

夜莺主要是告警引擎这块做得最方便,告警规则的配置也较为灵活,告警规则支持级别抑制、生效时间配置、事件 relabel、告警屏蔽、告警订阅、告警自愈等等。告警规则的配置界面如下:

9k star 监控系统,100% 国产,推荐了解

数据源支持配置多个,也可以选择全部,即:一条告警规则生效到多个数据源
告警规则支持多条,可以启用级别抑制,编写 promql 时可以调出内置指标,方便编写
事件 relabel 是对告警事件的二次处理,比如 drop 掉一些不想要的标签
生效时间用于配置告警规则的生效时间,比如只在工作日生效,周末不生效,或者只在白天生效,晚上不生效,或者不同时段不同阈值
告警自愈是告警触发之后,自动执行一些脚本,串联一些固定止损操作
回调地址是告警触发之后,调用第三方接口,比如钉钉、飞书等,进行告警通知,也可以对接各个公司自定义的接口

夜莺优势2:内置很多最佳实践

夜莺除了对接时序库,还可以对接各类采集器 agent,比如 telegraf、categraf、datadog-agent、各类 exporter 等,不同的数据库、中间件都有提供一些现成的仪表盘、告警规则,这样可以快速上手,省心不少。下面是夜莺内置的模板中心:

9k star 监控系统,100% 国产,推荐了解

很多朋友不会写 promql,但是 promql 在 Prometheus 生态里又极为重要,那能否让一些资深工程师提前写好,沉淀下来,普通工程师直接用呢?夜莺支持的指标视图就是干这个事的,目前已经内置沉淀了几百个 promql,开箱即用。

9k star 监控系统,100% 国产,推荐了解

夜莺的劣势1:仪表盘不如 grafana

虽然已经内置了不少仪表盘了,但是还是不如 grafana 那么丰富,grafana 在看图这块确实无出其右,夜莺内置的那些仪表盘,如果你觉得够用了,就用,如果觉得不够用,建议还是上 grafana,下图是夜莺内置的一个仪表盘样例:

9k star 监控系统,100% 国产,推荐了解

夜莺的劣势2:告警降噪能力不够

夜莺侧重在多数据源告警、告警规则统一管理,支持邮件、企微、飞书、钉钉等通知媒介,通过自定义通知脚本,也可以实现电话、短信通知,即常用的通知媒介都是支持的,不支持的写个脚本也可以支持。但是告警收敛降噪、排班、认领、升级、和 IM 深度打通等功能,还是不够(可能我想要的太多😂)。

夜莺核心研发团队搞了一个 FlashDuty 的 SaaS 产品,专门做这块,但是 FlashDuty 是收费的,不是开源的。FlashDuty 有免费套餐,对于小公司可以白嫖。当然,FlashDuty 就不止是针对夜莺了,也可以对接其他监控系统,比如 Prometheus、Zabbix、各类云监控、蓝鲸、SkyWalking 等。核心逻辑就是:这些监控系统负责产生告警事件,统一发给 FlashDuty,FlashDuty 负责事件后续处理,比如告警降噪、排班、认领、升级、和 IM 深度打通等功能。

总结

夜莺没有 Prometheus 的用户广,不过夜莺和 Prometheus 是协同关系,不是非此即彼,夜莺的企业用户有上千家,比如移动、联通、电信、米哈游、莉莉丝、途游、悠星、高济、益丰、大参林、方正证券、国泰君安、海底捞、海康、搜狐、新浪等,分布在各行各业。夜莺开源项目的背后有商业公司(flashcat.cloud)在持续运作支持,而且托管在基金会,发展具有可持续性,推荐大家在日常工作中尝试。

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...