夜莺-Nightingale
夜莺V8
前言必读
安装
采集器
快速体验
监控实践
功能详解
说明文档
夜莺V7
项目介绍
功能概览
部署升级
数据接入
告警管理
数据查看
功能介绍
告警管理
通知管理
通知规则介绍
阿里云短信
Relabel 事件处理
Event Drop 事件处理
Event Update 事件处理
Callback 事件处理
Script 事件处理
Label Enrich 事件处理
AI Summary 事件处理
模板函数
仪表盘
数据源
时序指标
日志分析
告警自愈
基础设施
集成中心
人员组织
系统配置
数据库表结构
users
notify_tpl
board
users
target
target
user_group
user_group_member
task_tpl
task_tpl_host
task_record
sso_config
role
role_operation
recording_rule
notify_tpl
metric_view
datasource
configs
chart_share
busi_group
busi_group_member
builtin_cate
builtin_cate
builtin_cate
builtin_cate
board
board_payload
alerting_engines
alert_subscribe
alert_rule
alert_mute
alert_his_event
alert_cur_event
alert_aggr_view
API
FAQ
夜莺V6
项目介绍
架构介绍
快速开始
黄埔营
安装部署
升级
采集器
使用手册
API
数据库表结构
users
notify_tpl
board
users
target
target
user_group
user_group_member
task_tpl
task_tpl_host
task_record
sso_config
role
role_operation
recording_rule
notify_tpl
metric_view
datasource
configs
chart_share
busi_group
busi_group_member
builtin_cate
builtin_cate
builtin_cate
builtin_cate
board
board_payload
alerting_engines
alert_subscribe
alert_rule
alert_mute
alert_his_event
alert_cur_event
alert_aggr_view
FAQ
转发数据给多个时序库
机器列表数据异常
数据流图
监控数据时有时无
查询原始监控数据
快捷视图详解
告警自愈模块使用
仪表盘里只展示我的机器
仪表盘里图表数据缺失
设置自定义告警通知方式
target_up指标的问题
夜莺可以监控 x 么
夜莺告警常见问题排查思路
告警和恢复的判断逻辑
容量规划问题
connection refused
登录与认证
数据采集器Categraf
日志写到`/var/log/messages`
告警规则&告警模板如何引用变量
采集到的数据是字符串怎么处理
管理员密码忘记了
制作大盘如何添加图片
添加loki数据源报错
v6小版本升级有什么 sql 要执行吗
机器列表有展示,但采集数据查询不到
n9e 启动异常报错
n9e集群部署配置修改
推送 Promethus 报错 OOO
机器列表怎么忽略云资源
告警规则仅在本业务组生效失败
categraf 启动 oracle 插件报错
告警自愈不生效
n9e查询时序库EOF报错
手动编译项目报错
promQL 使用函数标签信息丢失
内存使用率+可用率不等于100
夜莺仪表盘有哪些内置变量
categraf配置文件支持热加载吗
导入 Grafana 仪表盘无效数据源
如何查看报错消息
采集器-Categraf
插件配置
插件综述
基础指标采集插件
Netstat 采集插件
Netstat_Filter 采集插件
Procstat 采集插件
HTTP_Response
MySQL 插件
Redis 插件
SNMP_Zabbix插件
SNMP 插件
IPMI 采集插件
DNS_Query 插件
DCGM 采集插件
NVIDIA_SMI 插件
cAdvisor 采集插件
Huatuo 托管插件
SSHD 采集插件
Systemd 采集插件
S.M.A.R.T.采集插件
PostgreSQL 插件
MongoDB 插件
Elasticsearch 采集插件
EXEC 采集插件
EMQX 采集插件
阿里云指标采集插件
Zabbix 指标转换插件
CloudWatch 指标采集插件
Google Cloud 指标采集插件
Mtail 日志采集插件
Prometheus 采集插件
开启采集配置控制台下发
贡献新插件
Flashcat 企业版
开源生态
Telegraf
Prometheus
版权声明
第1章:天降奇兵
第2章:探索PromQL
开篇
理解时间序列
Metrics类型
初识PromQL
PromQL操作符
PromQL聚合操作
PromQL内置函数
在HTTP API中使用PromQL
最佳实践:4个黄金指标和USE方法
小结
第3章:Prometheus告警处理
开篇
Prometheus告警简介
自定义Prometheus告警规则
部署Alertmanager
Alertmanager配置概述
基于标签的告警处理路由
使用Receiver接收告警信息
告警模板详解
屏蔽告警通知
使用Recoding Rules优化性能
小结
第4章:Exporter详解
第5章:数据与可视化
第6章:集群与高可用
第7章:Prometheus服务发现
第8章:监控Kubernetes
开篇
初识Kubernetes
在Kubernetes下部署Prometheus
Kubernetes下的服务发现
使用Prometheus监控Kubernetes集群
基于Prometheus的弹性伸缩
小结
第9章:Prometheus Operator
参考资料
通知规则配置指南
功能概述
夜莺监控采用告警规则与通知规则分离的架构设计:
- 告警规则:负责检测指标异常并生成告警事件
- 通知规则:负责定义告警事件的通知渠道、接收人及发送策略
该设计支持按告警级别配置差异化通知策略,例如:Critical 级别告警通过电话、短信、钉钉发送,Info 级别告警仅通过邮件发送。
架构优势
相较于早期版本在告警规则中直接配置通知方式,当前架构具备以下优势:
| 特性 | 说明 |
|---|---|
| 告警级别与通知媒介联动 | 支持在启用告警抑制的场景下,为不同级别的告警事件配置独立的通知媒介 |
| 灵活的媒介接入方式 | 提供通用 HTTP 和脚本发送方式,支持自定义 HTTP 参数、Header 及 Body |
| 通知配置集中管理 | 告警规则与通知规则解耦,修改通知策略仅需调整通知规则,即可批量生效至关联的所有告警规则 |
| 消息模板自定义 | 支持为同一通知媒介配置多个消息模板,满足不同团队的个性化需求 |
工作流程
告警事件的发送流程如下图所示:

流程说明:
- 告警规则检测到异常指标后生成告警事件
- 告警事件根据关联的通知规则确定发送策略
- 通知规则按照配置的媒介和接收人发送告警通知
多个告警规则可关联同一通知规则,实现通知策略的统一管理。
通知规则配置
配置说明
通知规则支持为不同告警级别配置独立的通知媒介。以下为配置示例:

配置项说明:
- 生效级别:指定该通知媒介适用的告警级别(Critical/Warning/Info)
- 通知媒介:选择用于发送告警的渠道
- 接收人/接收团队:指定告警通知的接收人或团队
内置通知媒介
系统预置以下通知媒介,可直接使用:

通知媒介变量配置
应用场景
当多个团队需要使用同一类型的通知媒介但配置不同参数时(例如:DBA 团队和大数据团队使用不同的企业微信机器人),可通过变量配置实现。
配置方法
以企业微信机器人为例,内置的企微通知媒介包含以下两个变量参数:
| 变量名 | 说明 |
|---|---|
| Key | 企业微信机器人的唯一标识 |
| Bot Name | 机器人名称(备注信息,便于识别) |
在通知媒介的 HTTP 配置中引用变量(变量配置部分类似 function 的参数,下面部分类似 function 的实现,实现部分可以引用参数):

配置完成后,各团队在创建通知规则时选择企微媒介并填写各自的机器人 Key 即可。
用户联系方式关联
对于短信、电话等需要使用用户个人联系方式的场景,系统支持从用户 Profile 中自动获取联系信息。
配置步骤:
- 在通知媒介的变量配置中,将联系方式设置为相应类型(如 Phone)

- 配置完成后,系统将自动实现以下功能:
- 通知规则配置界面支持选择联系人或团队作为接收对象
- HTTP 请求的 Body 或 Query String 中可使用
{{ $sendto }}变量引用接收人的联系方式
说明:
{{ $sendto }}为系统内置变量,用于动态获取通知接收人的联系信息。
媒介对接指南
IM 类媒介配置
请参考以下文档完成 IM 类通知媒介的对接:
| 通知媒介 | 配置文档 |
|---|---|
| 钉钉 | 对接钉钉告警 |
| 企业微信 | 对接企微告警 |
| 飞书 | 对接飞书告警 |
| 钉钉(含 @人功能) | 对接钉钉告警-配置 @人 |
| 多媒介综合配置 | 对接钉钉、飞书、企微通知 |
| 阿里云短信 | 对接阿里云短信 |
提示:微信视频号「SRETALK」提供飞书告警对接的视频教程,可搜索查看。
邮件告警配置
邮件告警配置包含以下 4 个步骤:
步骤 1:配置 SMTP 发信服务器
- 进入 系统配置 > 通知媒介 菜单
- 选择内置的 Email 通知媒介,点击编辑
- 填写 SMTP 服务器配置信息:

必填参数:
| 参数 | 说明 |
|---|---|
| 服务器 | 邮件服务器主机名或 IP 地址 |
| 端口 | 邮件服务器端口号(通常为 25、465 或 587) |
| 用户名 | SMTP 服务器认证用户名 |
| 密码 | SMTP 服务器认证密码或授权码 |
| 发件人 | 用于发送告警邮件的邮箱地址 |
步骤 2:配置用户收件邮箱
- 点击页面右上角用户头像
- 进入 个人信息 配置页面
- 在联系方式中填写收件邮箱地址
步骤 3:创建邮件通知规则
- 进入 通知规则 菜单
- 点击 新建通知规则(或编辑现有规则)
- 配置通知规则参数:

配置项说明:
| 配置项 | 说明 |
|---|---|
| 生效级别 | 选择需要邮件通知的告警级别 |
| 通知媒介 | 选择 Email |
| 接收对象 | 选择接收告警的用户或团队 |
- 点击 通知测试,选择一条历史告警事件进行发送测试
- 在告警规则中关联该通知规则
步骤 4:自定义邮件消息模板(可选)
- 进入 消息模板 菜单
- 选择 Email 消息模板进行编辑
模板变量说明:
| 变量名 | 说明 |
|---|---|
| content | 邮件正文内容 |
| subject | 邮件主题 |
说明:消息模板使用 Go Template 语法,可根据业务需求自定义邮件内容格式。