Grafana 报警入门 - 第 1 部分
Grafana 报警入门 - 第 1 部分
在本指南中,我们将带您逐步完成在几分钟内设置第一个警报的过程。您将亲眼见证警报使用实时数据起作用,以及发送警报通知。
在本教程中,您将
- 创建一个联系人。
- 设置警报规则。
- 在公共 Webhook 中接收触发和解决警报通知。
提示
在您深入研究之前,请记住您可以 在本指南的第二部分探索警报实例和通知路由等高级主题。
在您开始之前
Grafana Cloud 用户
作为 Grafana Cloud 用户,您无需安装任何内容。
继续 创建联系人。
Grafana OSS 用户
为了在本地运行 Grafana 堆栈,请确保已安装以下应用程序。
- Docker Compose(包含在适用于 macOS 和 Windows 的 Docker for Desktop 中)
- Git
设置 Grafana 堆栈(OSS 用户)
为了演示使用 Grafana 堆栈观察数据,请将文件下载到您的本地机器。
克隆 教程环境存储库。
git clone https://github.com/grafana/tutorial-environment.git
更改到您克隆存储库的目录
cd tutorial-environment
运行 Grafana 堆栈
docker compose up -d
第一次运行
docker compose up -d
时,Docker 会下载教程所需的所有资源。这可能需要几分钟,具体取决于您的互联网连接。注意
如果您已经在系统上运行了 Grafana、Loki 或 Prometheus,您可能会看到错误,因为 Docker 镜像尝试使用本地安装正在使用的端口。如果是这种情况,请停止服务,然后再次运行命令。提示
或者,您可以在我们的交互式学习环境中尝试此示例:Grafana 报警入门。
这是一个完全配置的环境,其中所有依赖项都已安装。
在 Grafana Killercoda 存储库 中提供反馈、报告错误并提出问题。
创建联系人
除了是一个开源可观察性工具之外,Grafana 还有自己的内置报警服务。这意味着,您可以在数据中发生任何感兴趣的事件时收到通知,甚至可以在可视化中看到这些事件的图形化表示。
在这一步中,我们将设置一个新的 联系人。此联系人将使用 webhooks 集成。为了使此方法有效,我们还需要一个用于 webhook 集成接收警报的端点。我们将使用 Webhook.site 快速设置该测试端点。这样,我们可以确保警报实际上正在将通知发送到某个地方。
在您的浏览器中,**登录**到您的 Grafana Cloud 帐户。
OSS 用户:要登录,请导航到 https://127.0.0.1:3000,Grafana 运行的位置。
在另一个选项卡中,访问 Webhook.site。
复制您的唯一 URL。
您的 webhook 端点现在正在等待第一个请求。
接下来,让我们在 Grafana 的警报 UI 中配置一个联系人,以将通知发送到我们的 webhook 端点。
返回 Grafana。在 Grafana 的侧边栏中,将鼠标悬停在 **警报**(铃铛)图标上,然后单击 **联系人**。
单击 **+ 添加联系人**。
在 **名称** 中,写入 **Webhook**。
在 **集成** 中,选择 **Webhook**。
在 **URL** 中粘贴您的webhook端点的地址。
点击 **测试**,然后点击 **发送测试通知**,将测试警报发送到您的webhook端点。
返回到 Webhook.site。在左侧,现在有一个
POST /
条目。点击它查看Grafana发送了哪些信息。返回Grafana并点击 **保存联系点**。
我们已经创建了一个虚拟的Webhook端点,并在Grafana中创建了一个新的警报联系点。现在,我们可以创建一个警报规则,并将其链接到这个新的集成。
创建警报
接下来,我们将建立一个 警报规则,在Grafana警报中,当警报规则触发和解决时通知我们。
在Grafana中,**导航到警报** > **警报规则**。点击 **新建警报规则**。
为您的警报规则输入警报规则名称。使其简短且具有描述性,因为这将出现在您的警报通知中。例如,**database-metrics**
定义查询和警报条件
在本节中,我们定义查询、表达式(用于操作数据)以及触发警报必须满足的条件。
从下拉菜单中选择 **Prometheus** 数据源。
在查询编辑器中,通过点击右侧的按钮切换到 **代码** 模式。
输入以下查询
vector(1)
在Prometheus中,
vector(1)
是一种特殊的PromQL查询类型,它生成一个常量向量。这在测试和查询操作中非常有用,您可能需要一个常量值用于计算或比较。此查询将允许您创建一个始终触发的警报规则。删除‘B’ **缩减表达式**(点击垃圾桶图标)。缩减表达式默认存在,在本例中,不需要,因为查询到的数据已经缩减。请注意,阈值表达式现在是您的 **警报条件**。
在‘C’ **阈值表达式** 中
- 将 **输入** 更改为 **‘A’** 以选择数据源。
- 输入
0
作为阈值。这是触发警报规则的阈值。
点击 **预览** 运行查询。
它应该返回一个包含当前时间戳的值为1的单个样本。并且,由于
1
大于0
,所以警报条件已满足,警报规则状态为Firing
。
设置评估行为
一个 评估组 定义了警报规则何时触发,它基于两个设置
- **评估组**:警报规则评估的频率。
- **评估间隔**:条件必须满足多长时间才能开始触发。这允许您的数据在触发警报之前有时间稳定,有助于减少不必要的通知频率。
要设置评估
- 在 **文件夹** 中,点击 **+ 新建文件夹** 并输入一个名称。例如:metric-alerts。此文件夹将包含我们的警报。
- 在 **评估组** 中,重复上述步骤以创建一个新的评估组。我们将将其命名为 1m-evaluation。
- 选择一个 **评估间隔**(警报将以多长时间间隔评估)。例如,每
1m
(1分钟)。 - 将待处理时间设置为
0s
(零秒),以便在满足条件的瞬间触发警报规则。
配置标签和通知
选择您希望接收警报通知的联系点。
- 在 **联系点** 下,从下拉菜单中选择 **Webhook**。
- 点击右上角的 **保存规则并退出**。
触发和解决警报
现在警报规则已经配置完成,您应该在警报触发和解决时在联系点接收警报 通知。
触发警报
由于您创建的警报规则已配置为始终触发,因此在评估间隔结束时,您应该在Webhook端点收到警报通知。
警报通知详细信息显示警报规则状态为Firing,并且包含使规则触发并超过警报规则条件阈值的价值。通知还包括查看警报规则详细信息的链接,以及另一个链接,用于添加一个 静默。
解决警报
要查看已解决的警报通知的外观,您可以修改当前的警报规则阈值。
要编辑警报规则
- **导航到警报** > **警报规则**。
- 点击 metric-alerts 文件夹以显示您之前创建的警报
- 点击屏幕右侧的 **编辑** 按钮
- 将阈值表达式增加到1。
- 点击 **保存规则并退出**。
通过增加阈值,条件不再满足,并且在评估间隔结束(大约1分钟)后,您应该收到一个状态为 **“已解决”** 的警报通知。
了解更多
提示
通过探索 警报实例和通知路由,在学习之旅的第2部分中提升您的技能。