云原生监控系统·夜莺近期新功能一览,解决多个生产痛点
前置介绍
Nightingale | 夜莺监控,一款先进的开源云原生监控分析系统,采用 All-In-One 的设计,集数据采集、可视化、监控告警、数据分析于一体,与云原生生态紧密集成,提供开箱即用的企业级监控分析和告警能力。于 2022 年 5 月 11 日,捐赠予中国计算机学会开源发展委员会(CCF ODC),为 CCF ODC 成立后接受捐赠的首个开源项目。
写在前面
Nightingale 的定位,是企业级 Prometheus,不是说 Prometheus 不好。举个例子,比如你们团队自己搭建了一套 Prometheus 自己使用,大家写 yaml 配置都很溜,其实挺好的,这里暂不考虑学习成本。但是,如果你们团队想在公司内部建立更大的影响力,想要把这套指标监控系统的能力让其他团队也可以使用,那就要做一些工作了,典型的比如:
需要一套有权限管控的 WEB UI,不能谁都来直接修改 yaml 文件,否则容易弄乱,特别是 yaml 还是缩进敏感型的配置文件
希望有一些最佳实践沉淀在平台上,让大家开箱即用,毕竟,不是所有团队都像你们团队这样,可以对 Prometheus 玩得这么溜
可以接入多个 Prometheus 集群,因为 Prometheus 单点是有容量上限的,所以企业中可能会做业务切分或地域切分,这就需要能用一套系统对接多个 Prometheus
当然,夜莺的能力并非只是一套 Prometheus 的 WEB UI,夜莺还可以做的事情比如:
提供告警屏蔽、订阅规则,以及更丰富特性的告警规则
贯通故障自愈,可以在触发告警的时候自动执行某个脚本
提供告警事件管理、历史存档、活跃告警聚合查看视图
提供开箱即用的告警规则和监控大盘,可以导入直接使用
提供监控数据查看的快捷视图,可以非常方便的点点点即可看图
等等
近期更新
业务组,在夜莺中是一个管理概念,大一些的公司可能会有几千条告警规则,几百个大盘,如果用一个表格扁平罗列,显然没法管理,所以夜莺引入了一个业务组的概念,可以管理这些规则和大盘。近期更新:可以为业务组启用自动打标签的功能,这样归属于这个业务组的机器上报的监控数据就会自动打上 busigroup=xx
的标签,比较方便。
快捷视图,这个更新动作比较大,去掉了之前的对象视角,这个考虑是:机器设备我们可能希望有个列表能查看,点击不同的机器设备,就可以查看不同的监控对象,也可以同时查看多个机器的监控数据,整个过程无需输入,只要点选即可。那既然机器设备有这个需求,MySQL 实例、Redis 实例、MQ 实例、交换机等,其实都有这个需求,所以,我们把对象视角做了升级,变成了快捷视图,可以自定义各种视角,算是一个功能上的小创新。
监控大盘,新版本增加了更多的图表类型的支持,而且可以直接导入 Grafana 大盘,当然,因为夜莺的大盘和 Grafana 的大盘的配置并非完全一致,所以没法完全导入,常用的图表类型都是 OK 的。
告警发送,邮件、钉钉、企微、飞书,这些发送通道都内置到夜莺的代码中了,如果想要自定义发送机制,也可以通过 python 脚本,或者 webhook,或者 Redis 的 pubsub 机制,或者动态链接库把代码加载进来,等等多种方式,这样一来,就可以非常方便的和企业内部的系统做整合了。
另外,新版本支持了最大告警次数的限制,之前的版本就已经支持了通道静默时间,或称为重复发送频率,很多朋友反馈还不够,有些低级别的告警可能只需要重复通知个两三次就够了(高级别的告警如果没有恢复希望按照某个频率一直发通知),所以就引入了最大告警次数的限制。
告警聚合展示,这是一个小创新,为了更好的定位问题,我们通常会在时间维度做聚合,比如查看今天下午 2 点左右产生的所有告警事件,通过分析,可以发现里边哪个是根因。但是,只有时间维度的聚合还不够,还应该支持不同的标签做聚合,所以新版本,引入了活跃告警卡片视图,支持通过标签和事件属性做聚合,这个功能广受好评。
如上,便是夜莺近期更新的功能,欢迎大家试用,如有问题可以给我们提 issue。
版权声明: 本文为 InfoQ 作者【夜莺监控-秦晓辉】的原创文章。
原文链接:【http://xie.infoq.cn/article/f289967f21f1a3a6a42bc9d95】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论