夜莺开源项目在 2023.7 月底发布了 V6 版本,这个版本开始,项目目标不止于做一款开源监控系统,而是要做一款开源可观测性平台,不过路漫漫其修远兮,初期只是把日志数据源引入并完成了基本的可视化,后续会着力打通指标和日志的数据串联以及数据特征提取。欢迎小伙伴一起参与共建。
夜莺 V6 版本开发了好几个月了,于 2023.7 月底发布了正式版,今天是 8.7 号,实际最新版本已经是 v6.0.1 了,V6 相比之前的版本有重大的改进。本文给大家做一些重点介绍。
V6 版本开始,项目目标不止于监控平台的构建,转而构建可观测性平台。监控部分的功能已经渐趋完善,后面可能还会做一些长尾需求,但是基本功能已经非常完备了。作为稳定性体系的重要手段,监控/可观测性平台,需要承担故障发现、故障定位的职能,监控可以做到故障发现,但要想做到故障定位,必须要引入日志、链路追踪的能力。
当然,罗马不是一天建成的,可观测性这个事情也非一蹴而就。夜莺 V6 初期,首先引入了日志数据源的集成能力,可以集成 ElasticSearch 作为数据源。在夜莺里查看日志数据。在一个平台、甚至一个大盘里,可以同时看到指标数据和日志数据,算是万里长征第一步。
夜莺项目从 2020.3.20 正式发布到现在,已经有 github star 6.7K ,1.1K forks ,23K docker pulls ,100+ contributors ,100+ releases 。
下面给大家介绍一下新版本的一些功能特点。
整体来看,就是提升易用性。很多经验类的能力直接内置,简化了架构,简化了配置管理,简化了使用方式。
categraf 已经内置支持了常见的中间件的数据采集。夜莺 V6 开始,内置了常见的中间件的监控仪表盘和告警规则,导入即可使用,真香。当然了,常用的中间件数量庞大,我们也没法全部兼顾,不过这个机制是个好机制,后续可以逐步演化完备,时间久了就会越来越好,也欢迎社区小伙伴一起参与,相关大盘、告警规则、采集说明,都在项目的 integrations 目录下。
夜莺项目以告警规则的管理见长,支持告警规则、屏蔽规则、订阅规则、抑制规则的管理,支持历史告警存档查询以及活跃告警的聚类查看。规则层面增加了很多小细节优化,增加了更多灵活的配置。
更丰富的告警事件处理,比如告警聚合、收敛、排班、认领、升级、协同等,推荐使用 FlashDuty,可以对接市场上所有常见的监控系统以及云监控。
新版本简化了架构设计,默认情况下,只需要一个二进制即可,仍然可以对接市面上常见的采集器:telegraf 、categraf 、grafana-agent 、datadog-agent 、exporters 等等,仍然可以对接常见的存储系统:VictoriaMetrics 、Prometheus 、Thanos 、Mimir 等等。
当然,如果某个机房的网络和中心不畅,我们还提供边缘机房的部署方案,这个功能是很多复杂场景的用户选择使用夜莺的原因。
很多很多配置都挪到页面管理了。比如数据源的配置、通知配置、模板配置、权限配置。这些配置都可以在页面上完成,不需要修改配置文件了。
既然要往可观测性平台发展,日志和链路追踪的能力是必须的,V6 初步把 ElasticSearch 数据源给集成了进来,可以在夜莺里查看。后面逐步增加数据串联打通的逻辑。
可以从两个地方下载测试: