# 数据源 → 规则 → 事件

整个产品挂在三个对象上：规则查询数据源，越界的规则产生事件。

最后校对于 2026-10-10

夜莺里对象不少，但只要抓住三个，剩下的都是挂在它们身上的修饰。

## 三个对象[​](#三个对象 "三个对象的直接链接")

```
数据源 ──被查询──> 告警规则 ──越界时产生──> 事件

  │                    │                      │

  存在哪儿             属于哪个业务组          带着标签和注解

  怎么连               查什么、什么算越界      走降噪和路由到人
```

**数据源**回答「数据在哪儿、怎么连」。它不存数据，只记连接方式： 地址、认证、超时、类型。注册一次，之后规则和查询页面都按名字引用它。

**告警规则**回答「查什么、什么算越界」。它绑定一个或多个数据源， 带一条查询（PromQL、SQL、LogQL……取决于数据源类型）和一组判定条件： 多久查一次、条件要持续多久才算数、算哪一级。

**事件**是规则判定的产物。它带着触发时的值、时间、标签和注解， 从这里开始走降噪和路由，最终变成某个人手机上的一条消息。

## 其他对象都挂在这三个上[​](#其他对象都挂在这三个上 "其他对象都挂在这三个上的直接链接")

| 对象          | 挂在哪儿                           | 作用                                                                            |
| ------------- | ---------------------------------- | ------------------------------------------------------------------------------- |
| 业务组        | 规则、对象、仪表盘都属于某个业务组 | 权限边界，见[业务组](https://n9e.github.io/zh/docs/concepts/business-groups.md) |
| 屏蔽规则      | 作用在事件上                       | 命中就不产生事件，或只是不发通知                                                |
| 订阅规则      | 作用在事件上                       | 让别的团队也收到                                                                |
| 事件 Pipeline | 挂在规则或通知规则上               | 改标签、补上下文、丢弃                                                          |
| 通知规则      | 消费事件                           | 按级别和标签决定发给谁、走哪个媒介                                              |
| 消息模板      | 被通知规则引用                     | 决定消息长什么样                                                                |
| 仪表盘        | 查询数据源                         | 看图，不参与告警                                                                |

## 一条数据的完整旅程[​](#一条数据的完整旅程 "一条数据的完整旅程的直接链接")

1. 采集器把指标写进时序库（或者你已有的采集链路本来就在写）；
2. 你在夜莺里把这个时序库注册成**数据源**；
3. 一条**告警规则**每 15 秒拿着 PromQL 去查它；
4. 某次查询的返回值越界，并且持续了设定的时长 → 产生一个**事件**；
5. 事件带着 `ident=n9e-web-01`、`env=prod` 这样的标签；
6. 标签决定它会不会被屏蔽、会不会被某个团队订阅、最后落到哪条通知规则；
7. 通知规则挑一个媒介和一个模板，把它发出去。

每一步都能在界面上查到：规则页看判定记录，事件页看事件，通知记录看投递结果。

## 相关[​](#相关 "相关的直接链接")

* [告警生命周期与级别](https://n9e.github.io/zh/docs/concepts/alert-lifecycle.md)
* [标签、注解与身份](https://n9e.github.io/zh/docs/concepts/labels-annotations.md)
* [降噪与路由模型](https://n9e.github.io/zh/docs/concepts/noise-routing.md)
