Grafana Alerting 入门 - 第 1 部分

Grafana Alerting 入门 - 第 1 部分

在本指南中,我们将引导您在短短几分钟内设置您的第一个告警。您将看到告警在实时数据下如何工作,以及如何发送告警通知。

在本教程中,您将

  • 创建一个联系点。
  • 设置一个告警规则。
  • 在公共 webhook 中接收触发和解决的告警通知。

提示

完成第 1 部分后,别忘了探索 第 2 部分:告警实例和通知路由 中进阶但重要的告警主题。

开始之前

您可以通过不同的方式跟随本教程操作。

设置 Grafana 技术栈 (OSS 用户)

为了演示如何使用 Grafana 技术栈观测数据,请下载并运行以下文件。

  1. 克隆教程环境仓库

    git clone https://github.com/grafana/tutorial-environment.git
  2. 切换到克隆仓库的目录

    cd tutorial-environment
  3. 运行 Grafana 技术栈

    docker compose up -d

    首次运行 docker compose up -d 时,Docker 会下载教程所需的所有资源。这可能需要几分钟,具体取决于您的网络连接。

    注意

    如果您的系统上已经运行了 Grafana、Loki 或 Prometheus,可能会看到错误,因为 Docker 镜像正在尝试使用您本地安装程序已占用的端口。如果出现这种情况,请停止相关服务,然后再次运行命令。

创建联系点

除了作为一款开源可观测性工具之外,Grafana 还拥有自己的内置告警服务。这意味着当您的数据中出现感兴趣的事件时,您可以收到通知,甚至可以在可视化中看到这些事件的图示。

在此步骤中,我们将设置一个新的联系点。该联系点使用Webhook 集成。为了使其正常工作,我们还需要一个 webhook 集成接收告警的端点。我们可以使用Webhook.site快速设置该测试端点。这样我们可以确保我们的告警确实正在发送通知到某个地方。

  1. 在您的浏览器中,登录到您的 Grafana Cloud 账户。

    OSS 用户:要登录,请导航至 https://:3000,这是 Grafana 的运行地址。

  2. 在另一个标签页中,前往 Webhook.site

  3. 复制您的唯一 URL。

您的 webhook 端点现在正等待接收第一个请求。

接下来,我们在 Grafana 的告警 UI 中配置一个联系点,将通知发送到我们的 webhook 端点。

  1. 返回 Grafana。在 Grafana 的侧边栏中,将鼠标悬停在告警(铃铛)图标上,然后点击联系点

  2. 点击 + 创建联系点

  3. 名称中,填写 Webhook

  4. 集成中,选择 Webhook

  5. URL中,粘贴您的 webhook 端点地址。

  6. 点击测试,然后点击发送测试通知,将测试告警发送到您的 webhook 端点。

  7. 回到 Webhook.site。左侧现在有一个 POST / 条目。点击它查看 Grafana 发送了什么信息。

    A POST entry in Webhook.site
    Webhook.site 中的 POST 条目
  8. 返回 Grafana,点击保存联系点

我们创建了一个虚拟的 Webhook 端点,并在 Grafana 中创建了一个新的告警联系点。现在,我们可以创建一个告警规则并将其链接到这个新的集成。

创建告警

接下来,我们在 Grafana Alerting 中建立一个告警规则,以便在告警规则触发和解决时通知我们。

  1. 在 Grafana 中,导航到 告警与 IRM > 告警 > 告警规则。点击新建告警规则

  2. 为您的告警规则输入告警规则名称。使其简短且具有描述性,因为这会出现在您的告警通知中。例如:database-metrics

定义查询和告警条件

在本节中,我们使用 Grafana 管理的告警规则创建的默认选项。默认选项允许我们定义查询、一个表达式(用于操作数据 - UI 中的 WHEN 字段)以及触发告警必须满足的条件(在默认模式下是阈值)。

Grafana 包含一个测试数据源,用于创建模拟的时间序列数据。此数据源已包含在本教程的演示环境中。如果您在 Grafana Cloud 或您自己的本地 Grafana 实例中工作,可以通过连接菜单添加此数据源。

  1. 从下拉菜单中选择 TestData 数据源。

  2. 告警条件部分

    • 保持 Last 作为归约函数 (WHEN) 的值,并将 0 作为阈值。这是触发告警规则的上限值。
  3. 点击预览告警规则条件来运行查询。

    它应该返回随机时间序列数据。告警规则状态应该是 Firing(触发)。

    A preview of a firing alert
    触发告警的预览

添加文件夹和标签

  1. 文件夹中,点击 + 新建文件夹并输入名称。例如:metric-alerts。此文件夹将包含我们的告警规则。

设置评估行为

根据以下设置,告警规则评估定义了告警规则触发的条件

  • 评估组:每个告警规则都被分配到一个评估组。您可以将告警规则分配给现有评估组或创建一个新的。
  • 评估间隔:确定告警规则检查的频率。例如,评估可能每 10 秒、30 秒、1 分钟、10 分钟等进行一次。
  • 待处理周期:条件必须满足多长时间才能触发告警规则。

设置评估

  1. 评估组和间隔中,重复上述步骤创建一个新的评估组。将其命名为 1m-evaluation
  2. 选择一个评估间隔(告警评估的频率)。例如,每 1m(1 分钟)。
  3. 待处理周期设置为 0s(零秒),以便告警规则在条件满足时立即触发。

配置通知

选择您想要接收告警通知的联系点。

  1. 联系点下方,从下拉菜单中选择 Webhook
  2. 点击右上角的保存规则并退出

触发和解决告警

告警规则配置完成后,当告警触发和解决时,您应该在联系点接收到告警通知

触发告警

由于您创建的告警规则配置为始终触发,一旦评估间隔结束,您应该会在 Webhook 端点接收到告警通知。

Firing alert notification details
触发告警通知详情

告警通知详情显示告警规则状态为 Firing(触发),并包含导致规则触发的超出告警规则条件阈值的值。通知还包含查看告警规则详情的链接,以及添加静默的另一个链接。

解决告警

要查看告警解决通知的外观,您可以修改当前告警规则的阈值。

编辑告警规则

  1. 导航至 告警 > 告警规则
  2. 点击 metric-alerts 文件夹以显示您之前创建的告警
  3. 点击屏幕右侧的编辑按钮
  4. 将阈值表达式增加到 1。
  5. 点击保存规则并退出

通过增加阈值,条件不再满足,评估间隔结束(约 1 分钟)后,您应该会收到状态为“已解决”的告警通知。

Grafana Alerting 第 2 部分中了解更多

提示

Grafana Alerting 入门 - 第 2 部分中,您可以通过探索告警实例和通知路由来提升您的技能。