让技术团队用上有设计感的监控工具,夜莺新版做到了

介绍夜莺新版在可视化体验、仪表盘设计、Dark Mode、recording rule、多集群规则、告警屏蔽、查询性能和自身监控方面的改进。

作者 夜莺开发团队

夜莺监控开源两年半,正式成为“5K 开源项目”:在 GitHub 上获得了 5K 个 Star,有 70 多位 Contributor,数千个终端用户在生产环境中使用。其中每 5 个 Star 产生 1 次 Fork,每 10 次 Fork 产生 1 位 Contributor。“参与感”是夜莺开源社区的最美风景线。

夜莺-5K开源项目

夜莺监控一直以来以专业、易用的告警管理能力打动开发者和用户。但“告警管理”只是夜莺监控格外突出的那块木板。夜莺监控希望成为监控领域的“水桶机”,每一块木板都要足够长。

这次新版的重点之一,是提升可视化体验和产品设计感。下面结合快猫星云团队设计师 李金阳 的思考,说明这次改版到底解决了什么问题。

核心要点

  • 新版通过调整颜色纯度和亮度,让危险状态更容易被用户快速识别。
  • 仪表盘卡片面板做了功能区域划分,帮助用户形成稳定操作习惯。
  • Dashboard 增加 Dark Mode,优先覆盖程序员夜间查看仪表盘的场景。
  • 除了可视化体验,新版还增强了 recording rule、多集群规则、变量、告警屏蔽、批量查询和自身监控等能力。
  • 这些改进的共同目标是:让监控工具既能处理告警,也能更高效地承载日常观测和排障。

设计目标一:让用户更快定位问题

新版对颜色进行了修改和调整,增强了危险类颜色的纯度亮度

监控产品里的颜色不是装饰,而是信号。危险状态、异常趋势、告警区域需要在复杂页面中快速被看见。通过更明确的颜色对比,用户可以更快定位问题或问题区域,提升页面查看效率。

设计目标二:养成平台内统一的操作习惯

新版对监控仪表盘卡片面板的功能进行了区域划分

类似的功能操作会出现在同一个区域。即使后续增加新功能,也会根据功能类型放到对应区域,而不是随意挤入或堆放在卡片的任意空闲位置。

这种设计的价值在于降低学习成本。用户用得越久,越能知道什么类型的功能应该在哪个区域找,从而形成统一认知,减少“功能找不到”的问题。

功能区域划分

设计目标三:Dashboard 增加 Dark Mode

考虑到程序员夜间工作的习惯,新版为仪表盘增加了 Dark Mode 展示方式。

Dark Mode 在夜间不会产生过强的环境亮度对比,长期使用不容易造成视觉不适。此次改版迫于时间压力,仅增加了仪表盘部分的 Dark Mode,后续会将此模式拓展到整个夜莺平台。

夜莺Dark Mode

新版功能更新清单

除了提升可视化设计感,本次夜莺新版还包含一批功能更新。

1. 支持 recording rule 管理

对于一些计算量较大的 PromQL,查询时会耗时较久。可以通过 recording rule,把 PromQL 配置上,周期性计算结果。

这样最终用户查询时,可以直接查到已经计算好的结果指标,查询速度会快很多。

夜莺支持 recording rule 的管理

2. 告警规则支持生效到多集群

从截图中可以看到,生效集群已经支持多选。

这意味着一条告警规则或记录规则可以生效到多个集群,能大幅减少重复配置,尤其适合多集群环境。

3. 仪表盘变量支持 TextBox

这是偏高级的玩法。如果用户对数据了解较深,可以直接通过正则匹配想查看的数据,使用起来更灵活。

夜莺仪表盘变量支持TextBox

4. 告警屏蔽支持更多操作符

原来的告警屏蔽只支持 ===~in 三种操作符。新版增加了更多操作符:

  • !=
  • !~
  • not in

这些操作符可以让告警屏蔽规则表达更复杂的过滤条件。

夜莺告警屏蔽支持更多操作符

5. 批量查询增强仪表盘查询性能

如果大盘里某个图表配置了多个 PromQL,原来的逻辑是每个 PromQL 发一次请求。

新版做了合并,多个 PromQL 可以只发一个请求,从而提升查询效率。

6. 更方便地复制机器列表

使用告警自愈脚本批量执行命令时,经常需要复制一批机器。有时我们想根据业务组筛选机器,新版本在对象列表表格里增加了复制图标。

点击后可以复制 ident 列表,再直接粘贴到批量执行脚本的输入框里,操作更方便。

夜莺更方便的复制机器列表

7. 快速找到机器所属业务组

这是一个隐藏功能。在业务组筛选框里填入对象标识,系统会根据机器标识找到机器,再找到机器所属的业务组并展示。

夜莺快速找到机器所属的业务组

8. docker-compose 支持 M1 芯片

使用新版 MacBook 的用户可以在 M1 芯片上运行 docker-compose,把夜莺跑起来,测试更方便。

9. n9e-server 数据转发改成异步

社区中有用户反馈,因为后端 TSDB 太慢导致数据积压。因此新版把发送逻辑改成异步,提升发送效率。

这个改动可能带来数据乱序,不过概率较小。典型情况是服务端挂了,客户端积累了一些数据;服务端恢复后,客户端把积累的数据一次性发给服务端;之后数据正常发送,就不会有问题。两相权衡,最终改成异步。

10. 增加夜莺自身监控仪表盘

夜莺自身的监控指标可以通过 /metrics 接口导出。n9e-webapin9e-server 都内置了相关埋点数据,其中 n9e-server 的监控更重要。

n9e-server 的监控仪表盘在这里:https://github.com/ccfos/nightingale/blob/main/doc/server-dash.json

增加夜莺自身的监控仪表盘

红框标注的两个数据要额外注意:每秒接收的数据点数量,以及内存队列是否拥塞。

联系我们交流

11. 更灵活的自定义告警内容

除了可以通过 etc/template 下面的模板文件定义告警消息内容,还可以利用告警规则的备注。这个备注也支持 Go template 语法。

相关教程地址:https://n9e.github.io/docs/usage/format/

功能价值对照

改进方向 解决的问题 适用场景
颜色和功能区域调整 更快识别异常,更容易找到操作入口 日常看板、排障、告警确认
Dark Mode 降低夜间查看仪表盘的视觉负担 夜间值班、长期盯盘
recording rule 减少复杂 PromQL 实时查询开销 复杂查询、常用聚合指标
多集群规则 降低多集群重复配置 多 Prometheus、多集群环境
告警屏蔽操作符增强 表达更复杂的屏蔽条件 维护窗口、批量过滤、标签排除
批量查询 减少图表多 PromQL 请求次数 大盘加载性能优化
自身监控 观察夜莺自身运行状态 生产环境夜莺运维

关于夜莺监控

夜莺监控是一款开源云原生监控分析系统,采用 All-In-One 的设计,集数据采集、可视化、监控告警、数据分析于一体,与云原生生态紧密集成,提供开箱即用的企业级监控分析和告警能力。

已有众多企业选择将 Prometheus + AlertManager + Grafana 的组合方案升级为使用夜莺监控。夜莺监控由滴滴开发和开源,并于 2022 年 5 月 11 日捐赠予中国计算机学会开源发展委员会(CCF ODC),为 CCF ODC 成立后接受捐赠的第一个开源项目。

夜莺监控项目文档站点:https://n9e.github.io/。欢迎加入,一起打造好用的云原生监控系统;也欢迎大家在 GitHub 上 star 夜莺项目:https://github.com/ccfos/nightingale,及时了解社区动态。

FAQ

Q1:这次新版只是换了颜色吗? A:不是。颜色和 Dark Mode 是可视化体验的一部分,同时还包含 recording rule、多集群规则、告警屏蔽操作符、批量查询、自身监控仪表盘等功能更新。

Q2:为什么监控工具也要强调设计感? A:监控工具的设计感不是装饰,而是效率。颜色、布局、操作区域和信息层级都会影响用户定位问题、确认状态和执行操作的速度。

Q3:夜莺自身监控为什么重要? A:夜莺本身也是生产系统的一部分。通过 /metrics 和自身监控仪表盘,可以观察接收数据点数量、内存队列等关键状态,提前发现夜莺自身的运行风险。

延伸路径

继续看解决方案和产品对比

如果你正在做监控、可观测性或故障定位相关选型,建议从解决方案和产品对比继续往下看。

快猫星云 联系方式 快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云