夜莺开源监控模板函数有哪些一览?
摘要:本文介绍夜莺开源项目(Nightingale)的模板函数,夜莺内置了很多模板函数,可以对告警事件做一些渲染调整,方便 On-call 人员根据告警事件处理告警。 本文大纲: 夜莺开源项目简介 夜莺模板函数用途场景 夜莺模板函数分类 附加查询
本文介绍夜莺开源项目(Nightingale)的模板函数,夜莺内置了很多模板函数,可以对告警事件做一些渲染调整,方便 On-call 人员根据告警事件处理告警。
本文大纲:
夜莺开源项目简介
夜莺模板函数用途场景
夜莺模板函数分类
附加查询函数
格式化函数
字符串处理函数
时间处理函数
数学运算函数
数据处理函数
夜莺项目简介
夜莺监控(Nightingale)是一款侧重告警的监控类开源项目。类似 Grafana 的数据源集成方式,夜莺也是对接多种既有的数据源,不过 Grafana 侧重在可视化,夜莺是侧重在告警引擎、告警事件的处理和分发。
夜莺监控项目,最初由滴滴开发和开源,并于 2022 年 5 月 11 日,捐赠予中国计算机学会开源发展委员会(CCF ODC),为 CCF ODC 成立后接受捐赠的第一个开源项目。
其开源仓库地址:
代码:https://github.com/ccfos/nightingale
文档:https://n9e.github.io/
夜莺模板函数用途场景
夜莺项目中有两个地方会用到模板:
告警规则。在告警规则的备注、附加信息等字段里可以使用 go template 自定义字段内容
消息模板。在把告警发给各个通知媒介时,不同的媒介会有不同的要求,比如邮件内容是 HTML 格式,钉钉机器人是 Markdown,此时也需要使用 go template 模板来渲染内容
这两个地方支持的模板函数是相同的。只是可以引用的字段略有差异。这里我们以告警规则为例,说明各个模板函数的用途。
夜莺模板函数分类
夜莺模板函数大致可以分为:
附加查询函数
格式化函数
字符串处理函数
时间处理函数
数学运算函数
数据处理函数
附加查询函数
query
功能描述:执行 Prometheus 查询并返回结果。这是一个特殊的模板函数,用于在告警注解中动态查询指标数据。
函数签名:
func(promql string, param ...int64) QueryResult
参数说明:
promql: Prometheus 查询语句
param: 可选参数,指定数据源 ID。
