当前位置: 首页 > news >正文

夜莺监控发布 v8.beta5 版本,优化 UI,新增接口认证方式便于鉴权

以防读者不了解夜莺,开头先做个介绍:

夜莺监控,英文名字 Nightingale,是一款侧重告警的监控类开源项目。类似 Grafana 的数据源集成方式,夜莺也是对接多种既有的数据源,不过 Grafana 侧重在可视化,夜莺是侧重在告警引擎。比如把 Prometheus、VictoriaMetrics、ElasticSearch 等作为数据源接入夜莺,即可在夜莺里配置告警规则做指标、日志的告警。当然了,夜莺也不止做告警,还提供了 ad-hoc 查询、指标视图、仪表盘等可视化能力,不过在可视化方面没有 Grafana 道行深。配合 Categraf 采集器,夜莺可以做到一站式监控。其项目地址是:GitHub - ccfos/nightingale: Nightingale for monitoring and alerting, just as Grafana is for visualization.

本次更新没有 Bugfix(主要是也没有已知 Bug 了),只有优化和新增功能,变动内容如下:

  • feat: 接口鉴权支持使用用户自己的 token
  • feat: 支持将接收的时序数据转发到 kafka
  • feat: 仪表盘折线图新增 annotations 功能
  • feat: 仪表盘折线图新增右对齐的表格模式图例
  • feat: 仪表盘折线图阈值新增百分比模式,以及新增阈值样式支持虚线和区域等多样组合
  • feat: 仪表盘排行榜新增 Retro LCD 显示模式
  • feat: 仪表盘全局链接支持新增 dashboards 类型链接
  • refactor: 告警规则数据源筛选 UI 优化
  • refactor: 仪表盘配置改成手动保存模式(这点要注意)
  • refactor: 面板标题字体大小颜色优化
  • refactor: 面板标题栏展示自定义时间提示
  • refactor: 分组面板折叠后显示包含面板数量信息
  • refactor: 折线图文字颜色优化增强对比度

这里展开说一下其中的两点:鉴权 token 和告警规则数据源筛选 UI 优化。

接口鉴权支持使用用户自己的 token

之前夜莺的接口调用需要先调用 login 接口拿到 token,整个过程比较繁琐。根据广大用户的建议,我们新增了一个认证鉴权方式。可以在个人中心创建 token,之后把这个 token 放到 HTTP Header 里,就可以直接调用接口了。

比如调用用户列表接口,现在可以这样搞了:

desktop:~# curl -s -H "X-User-Token: afbb31b8-ed1d-4877-b6ae-c3af68c0a434" 'localhost:17000/api/n9e/users' | python3 -mjson.tool
{
    "dat": {
        "admin": true,
        "list": [
            {
                "id": 1,
                "username": "root",
                "nickname": "\u8d85\u7ba1",
                "phone": "",
                "email": "",
                "portrait": "",
                "roles": [
                    "Admin"
                ],
                "contacts": {},
                "maintainer": 0,
                "create_at": 1739514850,
                "create_by": "system",
                "update_at": 1739516089,
                "update_by": "system",
                "belong": "",
                "admin": true,
                "user_groups": [
                    {
                        "id": 1,
                        "name": "demo-root-group"
                    }
                ],
                "busi_groups": [
                    {
                        "id": 1,
                        "name": "Default Busi Group"
                    }
                ],
                "last_active_time": 1739516089
            }
        ],
        "total": 1
    },
    "err": ""
}

把 token 放到 X-User-Token 里,就可以调用接口了。不过,这个功能需要通过配置文件打开,在夜莺的 config.toml 中,找到 [HTTP.JWTAuth] 部分,然后在上面增加一条配置:

...
[HTTP.TokenAuth]
Enable = true

[HTTP.JWTAuth]
...

告警规则数据源筛选 UI 优化

告警规则中,数据源类型做了 UI 调整,更加直观了,方便用户选择。这些数据源类型,只有你配置了对应的数据源,并且刷新页面才会显示出来。比如你没有在集成中心-数据源配置 Prometheus 数据源,那 Prometheus 数据源类型就不会显示出来。

Prometheus 这个数据源类型,适用于 VictoriaMetrics、M3DB、Thanos 等所有支持 Prometheus 协议的数据源。

我手头没有开源版本的环境,上面的截图是夜莺商业版的,商业版数据源类型更多一些,开源版本应该有 5 种类型:Prometheus、ElasticSearch、Loki、TDEngine、Host,样式和商业版一致。

如何升级

到 github 下载最新的 release 包,更新二进制、配置文件、integrations 目录,重启即可。配置文件一般不能直接覆盖,需要自行 diff 一下,看看有没有新增的配置项,有的话需要手动加到你的配置文件里。

结语

这个版本之后,后面的版本可能会发得慢点,目前正在搞一个通知规则的新功能,对现有的通知逻辑做一个大重构,这个工作量比较大,等完事之后夜莺的告警通知能力会上一个大台阶,敬请期待。

相关文章:

  • qt:经典窗口操作与控制
  • 使用 Flask 和 pdfkit 生成带透明 PNG 盖章的 PDF 并上传到阿里云 OSS
  • 【NLP 25、模型训练方式】
  • 数据结构:栈(Stack)及其实现
  • AI与互联网交互的四种技术路线分析
  • Linux在shell中如何提前结束脚本
  • leetcode88.合并两个有序数组
  • springboot021-基于协同过滤算法的个性化音乐推荐系统
  • Java并发编程——锁升级机制
  • SSE:用于流式传输的协议
  • 百度热力图数据获取,原理,处理及论文应用6
  • Java 开发者需要了解的 PDF 基础知识
  • 安全防御综合练习2 nat+智能选路
  • 串的基本操作--数据结构
  • 算法日常刷题笔记(1)
  • 【数据分享】1929-2024年全球站点的逐日降雪深度数据(Shp\Excel\免费获取)
  • vLLM专题(二):安装-CPU
  • Retrofit+OkHttp+ViewModel
  • Go入门之语言变量 常量介绍
  • MongoDB 7 分片副本集升级方案详解(上)
  • 100个销售技巧和话术/惠州百度seo排名
  • 如何用dw做网站前端/百度优选官网
  • 国际新闻最新消息今天新冠肺炎/百度seo排名报价
  • 做网站具体步骤/sem专业培训公司
  • 温州网论坛/东莞百度网站排名优化
  • 网页设计素材网站知乎/百度软件下载中心官方网站