

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 设置警报
<a name="v10-alerting-setup"></a>

****  
本文档主题专为支持 **Grafana 10.x 版本**的 Grafana 工作区而设计。  
对于支持 Grafana 9.x 版本的 Grafana 工作区，请参阅[使用 Grafana 版本 9](using-grafana-v9.md)。  
对于支持 Grafana 8.x 版本的 Grafana 工作区，请参阅[使用 Grafana 版本 8](using-grafana-v8.md)。

配置创建和管理警报所需的功能和集成。

**先决条件**

在设置警报之前，您必须执行以下操作。
+ 配置[数据来源](AMG-data-sources.md)。
+ 确保您选择的数据来源与 [Grafana Alerting](v10-alerting-overview-datasources.md) 兼容并受支持。

**设置警报**

1. 配置[警报规则](v10-alerting-configure.md)。
   + 创建 Grafana 管理或数据来源管理的警报规则和记录规则。

1. 配置[联系点](v10-alerting-configure-contactpoints.md)。
   + 检查默认联系点，然后更新系统的联系点。
   + （可选）添加新的联系点和集成。

1. 配置[通知策略](v10-alerting-explore-notifications-policies-details.md)
   + 检查默认通知策略，然后更新您的系统。
   + （可选）添加其他嵌套策略。
   + （可选）添加标签和标签匹配程序来控制警报路由。

以下主题为您提供了有关其他配置选项的更多信息，包括配置外部警报管理器以及在 Grafana 外部路由 Grafana 管理的警报。

**Topics**
+ [将经典控制面板警报迁移到 Grafana Alerting](v10-alerting-use-grafana-alerts.md)
+ [添加外部 Alertmanager](v10-alerting-setup-alertmanager.md)
+ [预置 Grafana Alerting 资源](v10-alerting-setup-provision.md)

# 将经典控制面板警报迁移到 Grafana Alerting
<a name="v10-alerting-use-grafana-alerts"></a>

****  
本文档主题专为支持 **Grafana 10.x 版本**的 Grafana 工作区而设计。  
对于支持 Grafana 9.x 版本的 Grafana 工作区，请参阅[使用 Grafana 版本 9](using-grafana-v9.md)。  
对于支持 Grafana 8.x 版本的 Grafana 工作区，请参阅[使用 Grafana 版本 8](using-grafana-v8.md)。

选择不使用 Grafana Alerting 的工作区，使用 [经典控制面板警报](old-alerts-overview.md)。要切换到新的 Grafana Alerting，必须选择启用此功能。要详细了解经典控制面板警报和 Grafana 警报之间的区别，请参阅。[Grafana Alerting 与旧版控制面板警报对比](#v10-alerting-diff-old-new) GrafanaLabs 已宣布将在版本 11 中删除经典仪表板警报。

使用经典控制面板警报时，Amazon Managed Grafana 会显示 Grafana Alerting 的预览，您可以在完成升级之前查看和修改升级后的警报。

## 预览 Grafana 警报
<a name="v10-alerting-preview-grafana-alerts"></a>

在迁移之前，您可以在 Grafana Alerting 中预览警报。在预览中，您可以对将更改迁移的警报进行更改。

**预览 Grafana Alerting 迁移**

1. 登录 Grafana 工作区。

1. 从左侧菜单中，选择**警报（旧版）**以查看当前警报。

1. 从左侧菜单中，选择**警报升级**，在 Grafana Alerting 中查看警报。

   在此视图中，您可以查看迁移后的警报。

**注意**  
您还可以在此视图中进行影响迁移的更改。要撤消所做的任何更改，请选择升级页面右上角的**重置升级**。

如果您准备好升级警报，请参阅下一节。

## 迁移到 Grafana Alerting 系统
<a name="v10-alerting-use-grafana-alerts-opt-in"></a>

您可以使用、或亚马逊托管 Grafana API 将您的亚马逊托管 Grafana 实例配置为使用 Grafana 警报。 AWS 管理控制台 AWS CLI有关如何配置 Amazon Managed Grafana（包括打开或关闭 Grafana Alerting）的详细信息，请参阅 [配置 Amazon Managed Grafana 工作区](AMG-configure-workspace.md)。

开启 Grafana Alerting 后，现有的经典控制面板警报将以兼容 Grafana Alerting 的格式迁移。在 Grafana 实例的“警报”页面中，您可以查看迁移的警报和新警报。借助 Grafana Alerting，Grafana 管理的警报规则会在匹配时发送多条通知，而不是单个警报。

对经典控制面板警报和 Grafana 警报的读写权限受存储这些警报的文件夹的权限控制。在迁移过程中，经典控制面板警报权限与新规则权限匹配，如下所示：
+ 如果原始警报的控制面板拥有权限，则迁移会创建一个以 `Migrated {"dashboardUid": "UID", "panelId": 1, "alertId": 1}` 格式命名的文件夹，以匹配原始控制面板的权限（包括从该文件夹继承的权限）。
+ 如果没有控制面板权限，并且控制面板位于某个文件夹下，则规则将链接到该文件夹并继承其权限。
+ 如果没有控制面板权限，并且控制面板位于 General 文件夹下，则规则将链接到 General Alerting 文件夹并继承默认权限。

**注意**  
由于 Grafana Alerting 中没有 `NoData` 的 `Keep Last State` 选项，因此在经典规则迁移期间，此选项将变为 `NoData`。`Error` 处理的选项 `Keep Last State` 已迁移到新选项 `Error`。为了匹配 `Keep Last State` 的行为，在这两种情况下，在迁移过程中，Amazon Managed Grafana 会自动为每条警报规则创建一个静默，持续时间为一年。

通知通道将迁移到具有相应路由和接收器的 Alertmanager 配置。默认通知通道将作为联系点添加到默认路由。未与任何控制面板警报关联的通知通道将会转到 `autogen-unlinked-channel-recv` 路由。

### 限制
<a name="v10-alerting-use-grafana-alerts-limitations"></a>
+ Grafana Alerting 系统可从所有可用的 Prometheus、Loki 和 Alertmanager 数据来源检索规则。但可能无法从其他受支持的数据来源获取警报规则。
+ 在 Grafana 警报和经典控制面板警报之间来回迁移可能会导致一个系统支持的功能丢失数据，而另一个则不会。
**注意**  
如果您迁移回经典控制面板警报，则在启用 Grafana Alerting 时对警报配置进行的所有更改都将丢失，包括创建的任何新警报规则。

## Grafana Alerting 与旧版控制面板警报对比
<a name="v10-alerting-diff-old-new"></a>

Grafana 8 中引入的 Grafana Alerting 与旧版控制面板警报相比有多项增强。

### 多维警报
<a name="v10-alerts-diff-multi-dimensional"></a>

现在，您可以创建警报，通过单个警报规则提供系统范围的可见性。根据单个警报规则生成多个警报实例。例如，您可以创建一条规则，来监控一台主机上多个挂载点的磁盘使用情况。评估引擎会从单个查询返回多个时间序列，每个时间序列由其标签集标识。

### 在控制面板外部创建警报
<a name="v10-alerts-diff-alerts-outside-of-dashboards"></a>

与旧版控制面板警报不同，Grafana 警报允许创建查询和表达式，以独特的方式组合来自多个来源的数据。您仍然可以使用控制面板和面板的 ID，将控制面板和面板链接到警报规则，并快速对观察的系统进行故障排除。

由于统一警报不再与面板查询直接关联，因此通知邮件中不包含图像或查询值。您可以使用自定义通知模板来查看查询值。

### 创建 Loki 和 Grafana Mimir 警报规则
<a name="v10-alerts-diff-loki-mimir-alerting-rules"></a>

在 Grafana Alerting 中，您可以使用与 Grafana 管理的警报相同的 UI 和 API 管理 Loki 和 Grafana Mimir 警报规则。

### 查看和搜索来自 Prometheus 兼容数据来源的警报
<a name="v10-alerts-diff-view-alerts-from-prometheus"></a>

Prometheus 兼容数据来源的警报现在位于 Grafana 警报部分下。您可以跨多个数据来源搜索标签，以快速查找相关警报。

### 警报状态 NoData 和错误的特殊警报
<a name="v10-alerts-diff-special-alerts"></a>

Grafana Alerting 引入了警报状态的新概念。当对警报规则的评估产生状态 NoData 或错误时，Grafana Alerting 将生成带有以下标签的特殊警报：
+ `alertname`使用值 DatasourceNoData 或 DatasourceError 取决于州。
+ 特殊警报所属的警报规则的 `rulename` 名称。
+ `datasource_uid` 具有导致该状态的数据来源的 UID。
+ 原始警报规则的所有标签和注释

您可以像处理常规警报一样处理这些警报，方法是添加静默、路由到联系点等。

**注意**  
如果规则使用多个数据来源，而其中一个或多个数据来源未返回任何数据，则将为导致警报状态的每个数据来源创建特殊警报。

# 添加外部 Alertmanager
<a name="v10-alerting-setup-alertmanager"></a>

****  
本文档主题专为支持 **Grafana 10.x 版本**的 Grafana 工作区而设计。  
对于支持 Grafana 9.x 版本的 Grafana 工作区，请参阅[使用 Grafana 版本 9](using-grafana-v9.md)。  
对于支持 Grafana 8.x 版本的 Grafana 工作区，请参阅[使用 Grafana 版本 8](using-grafana-v8.md)。

将 Grafana 设置为使用外部 Alertmanager 作为单一 Alertmanager 接收所有警报。然后，可以在 Grafana 中配置和管理此外部 Alertmanager。

**注意**  
您不能将 Amazon Managed Service for Prometheus 用作外部 Alertmanager。

添加 Alertmanager 后，您可以使用 Grafana Alerting UI 来管理静默、联系点和通知策略。通过这些页面中的下拉选项，您可以在不同的 Alertmanager 之间切换。

现在，应使用 Grafana 主导航菜单中的 Grafana 配置将外部 Alertmanager 配置为数据来源。这使您能够从 Grafana 中管理外部 Alertmanager 的联系点和通知策略，还可以加密以前通过 URL 配置外部 Alertmanager 时可见的 HTTP 基本身份验证凭证。

**注意**  
从 Grafana 9.2 开始，不推荐使用“警报”页面上“管理”选项卡中外部 Alertmanager 的 URL 配置。这将在未来版本中删除。

**添加外部 Alertmanager**

1. 从左侧主菜单中选择**连接**。

1. 搜索 `Alertmanager`。

1. 选择**创建新的数据来源**按钮。

1. 根据需要填写页面上的字段。

   如果要预置数据来源，请将 `jsonData` 字段中的标志 `handleGrafanaManagedAlerts` 中设置为 `true`，以将 Grafana 管理的警报发送到此 Alertmanager。
**注意**  
支持 Prometheus、Grafana Mimir 和 Cortex 实现 Alertmanager。对于 Prometheus，Grafana Alerting UI 中的联系点和通知策略为只读。

1. 选择**保存并测试**。

# 预置 Grafana Alerting 资源
<a name="v10-alerting-setup-provision"></a>

****  
本文档主题专为支持 **Grafana 10.x 版本**的 Grafana 工作区而设计。  
对于支持 Grafana 9.x 版本的 Grafana 工作区，请参阅[使用 Grafana 版本 9](using-grafana-v9.md)。  
对于支持 Grafana 8.x 版本的 Grafana 工作区，请参阅[使用 Grafana 版本 8](using-grafana-v8.md)。

警报基础设施通常很复杂，管道的许多部分通常位于不同的地方。跨多个团队和组织进行扩展是一项特别具有挑战性的任务。Grafana Alerting 预置使您能够以最适合贵组织的方式创建、管理和维护警报数据，从而简化此过程。

有两个选项可供选择：

1. 使用 Alerting Provisioning HTTP API 预置警报资源。
**注意**  
通常，您无法从 Grafana UI 编辑 API 预置的警报规则。  
要启用编辑功能，请在 API 中创建或编辑警报规则时将 x-disable-provenance标题添加到以下请求中：  

   ```
   POST /api/v1/provisioning/alert-rules
   PUT /api/v1/provisioning/alert-rules/{UID}
   ```

1. 使用 Terraform 预置警报资源。

**注意**  
目前，Grafana Alerting 的预置支持警报规则、联系点、静音定时和模板。使用文件预置或 Terraform 的预置警报资源只能在创建这些资源的来源中编辑，而不能从 Grafana 或任何其他来源中编辑。例如，如果您使用磁盘中的文件预置警报资源，则无法在 Terraform 或 Grafana 中编辑数据。

**Topics**
+ [使用 Terraform 创建和管理警报资源](v10-alerting-setup-provision-terraform.md)
+ [在 Grafana 中查看预置的警报资源](v10-alerting-setup-provision-view.md)

# 使用 Terraform 创建和管理警报资源
<a name="v10-alerting-setup-provision-terraform"></a>

****  
本文档主题专为支持 **Grafana 10.x 版本**的 Grafana 工作区而设计。  
对于支持 Grafana 9.x 版本的 Grafana 工作区，请参阅[使用 Grafana 版本 9](using-grafana-v9.md)。  
对于支持 Grafana 8.x 版本的 Grafana 工作区，请参阅[使用 Grafana 版本 8](using-grafana-v8.md)。

使用 Terraform 的 Grafana 提供程序管理警报资源并将其配置到 Grafana 系统。Terraform 提供程序对 Grafana Alerting 的支持使创建、管理和维护整个 Grafana Alerting 堆栈即代码变得更容易。

有关使用 Terraform 管理警报资源的更多信息，请参阅 Terraform 文档中的 [Grafana 提供程序](https://registry.terraform.io/providers/grafana/grafana/latest/docs)文档。

完成以下任务，使用 Terraform 创建和管理警报资源。

1. 创建 API 密钥以进行预置。

1. 配置 Terraform 提供程序。

1. 在 Terraform 中定义警报资源。

1. 运行 `terraform apply` 以预置警报资源。

## 先决条件
<a name="v10-alerting-setup-provision-tf-prerequisites"></a>
+ 确保你有 grafana/grafana [Terraform 提供程序 1.27.0](https://registry.terraform.io/providers/grafana/grafana/1.28.0) 或更高版本。
+ 确保您使用的是 Grafana 9.1 或更高版本。如果您使用 Grafana 9 版本创建了 Amazon Managed Grafana 实例，则这种情况是正确的。

## 创建 API 密钥以进行预置
<a name="v10-alerting-setup-provision-tf-apikey"></a>

您可以[创建普通的 Grafana API 密钥](Using-Grafana-APIs.md)，使用 Grafana 对 Terraform 进行身份验证。大多数使用 API 密钥的现有工具都应自动支持新的 Grafana Alerting。有关创建用于 Terraform 的密钥的具体信息，请参阅[使用 Terraform 实现 Amazon Managed Grafana 自动化](https://aws-observability.github.io/observability-best-practices/recipes/recipes/amg-automation-tf/)。

**创建 API 密钥以进行预置**

1. 为 CI 管道创建一个新的服务账户。

1. 分配角色“访问警报规则 Provisioning API”。

1. 创建新的服务账户令牌。

1. 命名并保存令牌以在 Terraform 中使用。

或者，您可以使用基本身份验证。要查看所有支持的身份验证格式，请参阅 Terraform 文档中的 [Grafana 身份验证](https://registry.terraform.io/providers/grafana/grafana/latest/docs#authentication)。

## 配置 Terraform 提供程序
<a name="v10-alerting-setup-provision-tf-configure"></a>

Grafana Alerting 支持包含在 [Grafana Terraform 提供程序](https://registry.terraform.io/providers/grafana/grafana/latest/docs)中。

下面是一个可用于配置 Terraform 提供程序的示例。

```
terraform {
    required_providers {
        grafana = {
            source = "grafana/grafana"
            version = ">= 1.28.2"
        }
    }
}

provider "grafana" {
    url = <YOUR_GRAFANA_URL>
    auth = <YOUR_GRAFANA_API_KEY>
}
```

## 预置联系点和模板
<a name="v10-alerting-setup-provision-tf-contacts"></a>

联系点将警报堆栈与外部连接起来。这些联系点通知 Grafana 如何连接到外部系统，以及向何处发送通知。有超过 15 种不同的[集成](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/contact_point#optional)可供选择。此示例使用了 Slack 联系点。

**预置联系点和模板**

1. 将此代码块复制到本地计算机上的 .tf 文件中。*<slack-webhook-url>*替换为你的 Slack webhook 网址（或其他联系点详情）。

   此示例创建一个联系点，用于向 Slack 发送警报通知。

   ```
   resource "grafana_contact_point" "my_slack_contact_point" {
       name = "Send to My Slack Channel"
   
       slack {
           url = <slack-webhook-url>
           text = <<EOT
   {{ len .Alerts.Firing }} alerts are firing!
   
   Alert summaries:
   {{ range .Alerts.Firing }}
   {{ template "Alert Instance Template" . }}
   {{ end }}
   EOT
       }
   }
   ```

1. 在文本字段中输入通知文本。

   `text` 字段支持 [Go 样式的模板](https://pkg.go.dev/text/template)。这让您可以直接在 Terraform 中管理 Grafana Alerting 通知模板。

1. 运行 `terraform apply` 命令。

1. 转到 Grafana UI，查看联系点的详细信息。

   您无法从 UI 编辑通过 Terraform 预置的资源。这样可确保警报堆栈始终与代码保持同步。

1. 单击**测试**以验证联系点是否正常工作。

**注意**  
您可以在多个联系点重复使用相同的模板。在上面的示例中，使用语句 `{{ template "Alert Instance Template" . }}` 嵌入了共享模板。  
然后，可以在 Terraform 中单独管理此片段：  

```
resource "grafana_message_template" "my_alert_template" {
    name = "Alert Instance Template"

    template = <<EOT
{{ define "Alert Instance Template" }}
Firing: {{ .Labels.alertname }}
Silence: {{ .SilenceURL }}
{{ end }}
EOT
}
```

## 预置通知策略和路由
<a name="v10-alerting-setup-provision-tf-notifications"></a>

通知策略会通知 Grafana 如何路由警报实例，而不是路由到何处。这些策略使用标签和匹配器系统将触发警报连接到您之前定义的联系点。

**预置通知策略和路由**

1. 将此代码块复制到本地计算机上的 .tf 文件中。

   在此示例中，警报按 `alertname` 分组，这意味着来自同名警报的所有通知都将分组到同一条 Slack 消息中。

   如果要以不同的方式路由特定通知，可以添加子策略。子策略允许您根据标签匹配将路由应用于不同的警报。在此示例中，我们对标签为 a=b 的所有警报应用了静音定时。

   ```
   resource "grafana_notification_policy" "my_policy" {
       group_by = ["alertname"]
       contact_point = grafana_contact_point.my_slack_contact_point.name
   
       group_wait = "45s"
       group_interval = "6m"
       repeat_interval = "3h"
   
       policy {
           matcher {
               label = "a"
               match = "="
               value = "b"
           }
           group_by = ["..."]
           contact_point = grafana_contact_point.a_different_contact_point.name
           mute_timings = [grafana_mute_timing.my_mute_timing.name]
   
           policy {
               matcher {
                   label = "sublabel"
                   match = "="
                   value = "subvalue"
               }
               contact_point = grafana_contact_point.a_third_contact_point.name
               group_by = ["..."]
           }
       }
   }
   ```

1. 在 mute\$1timings 字段中，将静音定时与您的通知策略关联。

1. 运行 `terraform apply` 命令。

1. 转到 Grafana UI，查看通知策略的详细信息。
**注意**  
您无法从 UI 编辑通过 Terraform 预置的资源。这样可确保警报堆栈始终与代码保持同步。

1. 单击**测试**以验证通知点是否正常工作。

## 预置静音定时
<a name="v10-alerting-setup-provision-tf-mutetiming"></a>

静音定时允许在定义的时间段内将警报通知静音。

**预置静音定时**

1. 将此代码块复制到本地计算机上的 .tf 文件中。

   在此示例中，警报通知在周末处于静音状态。

   ```
   resource "grafana_mute_timing" "my_mute_timing" {
       name = "My Mute Timing"
   
       intervals {
           times {
             start = "04:56"
             end = "14:17"
           }
           weekdays = ["saturday", "sunday", "tuesday:thursday"]
           months = ["january:march", "12"]
           years = ["2025:2027"]
       }
   }
   ```

1. 运行 `terraform apply` 命令。

1. 转到 Grafana UI，查看静音定时的详细信息。

1. 使用 `mute_timings` 字段在通知策略中引用新创建的静音定时。这会将静音定时应用于部分或全部通知。
**注意**  
您无法从 UI 编辑通过 Terraform 预置的资源。这样可确保警报堆栈始终与代码保持同步。

1. 单击**测试**以验证静音定时是否正常工作。

## 预置警报规则
<a name="v10-alerting-setup-provision-tf-rules"></a>

[警报规则](v10-alerting-configure.md)让您可以针对任何 Grafana 数据来源发出警报。这可以是您预置的数据来源，也可以在 Terraform 中与警报规则一起[定义数据来源](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/data_source)。

**预置警报规则**

1. 创建要查询的数据来源和要存储规则的文件夹。

   在此示例中，使用 [配置用于测试 TestData 的数据源](testdata-data-source.md) 数据来源。

   您可以针对 Grafana 中的任何后端数据源定义警报。

   ```
   resource "grafana_data_source" "testdata_datasource" {
       name = "TestData"
       type = "testdata"
   }
   
   resource "grafana_folder" "rule_folder" {
       title = "My Rule Folder"
   }
   ```

1. 定义警报规则。

   有关警报规则的更多信息，请参阅[如何创建 Grafana 管理的警报](https://grafana.com/blog/2022/08/01/grafana-alerting-video-how-to-create-alerts-in-grafana-9/)。

1. 创建包含一条或多条规则的规则组。

   在此示例中，使用 `grafana_rule_group` 资源组。

   ```
   resource "grafana_rule_group" "my_rule_group" {
       name = "My Alert Rules"
       folder_uid = grafana_folder.rule_folder.uid
       interval_seconds = 60
       org_id = 1
   
       rule {
           name = "My Random Walk Alert"
           condition = "C"
           for = "0s"
   
           // Query the datasource.
           data {
               ref_id = "A"
               relative_time_range {
                   from = 600
                   to = 0
               }
               datasource_uid = grafana_data_source.testdata_datasource.uid
               // `model` is a JSON blob that sends datasource-specific data.
               // It's different for every datasource. The alert's query is defined here.
               model = jsonencode({
                   intervalMs = 1000
                   maxDataPoints = 43200
                   refId = "A"
               })
           }
   
           // The query was configured to obtain data from the last 60 seconds. Let's alert on the average value of that series using a Reduce stage.
           data {
               datasource_uid = "__expr__"
               // You can also create a rule in the UI, then GET that rule to obtain the JSON.
               // This can be helpful when using more complex reduce expressions.
               model = <<EOT
   {"conditions":[{"evaluator":{"params":[0,0],"type":"gt"},"operator":{"type":"and"},"query":{"params":["A"]},"reducer":{"params":[],"type":"last"},"type":"avg"}],"datasource":{"name":"Expression","type":"__expr__","uid":"__expr__"},"expression":"A","hide":false,"intervalMs":1000,"maxDataPoints":43200,"reducer":"last","refId":"B","type":"reduce"}
   EOT
               ref_id = "B"
               relative_time_range {
                   from = 0
                   to = 0
               }
           }
   
           // Now, let's use a math expression as our threshold.
           // We want to alert when the value of stage "B" above exceeds 70.
           data {
               datasource_uid = "__expr__"
               ref_id = "C"
               relative_time_range {
                   from = 0
                   to = 0
               }
               model = jsonencode({
                   expression = "$B > 70"
                   type = "math"
                   refId = "C"
               })
           }
       }
   }
   ```

1. 转到 Grafana UI 并查看您的警报规则。

   您可以查看是否触发警报规则。您还可以看到警报规则每个查询阶段的可视化效果。

   警报触发时，Grafana 会通过您定义的策略路由通知。

   例如，如果您选择 Slack 作为联系点，Grafana 的嵌入式 [Alertmanager](https://github.com/prometheus/alertmanager) 会自动向 Slack 发布消息。

# 在 Grafana 中查看预置的警报资源
<a name="v10-alerting-setup-provision-view"></a>

****  
本文档主题专为支持 **Grafana 10.x 版本**的 Grafana 工作区而设计。  
对于支持 Grafana 9.x 版本的 Grafana 工作区，请参阅[使用 Grafana 版本 9](using-grafana-v9.md)。  
对于支持 Grafana 8.x 版本的 Grafana 工作区，请参阅[使用 Grafana 版本 8](using-grafana-v8.md)。

您可以验证是否在 Grafana 中创建了警报资源。

**在 Grafana 中查看预置的资源**

1. 打开 Grafana 实例。

1. 导航到警报。

1. 单击警报资源文件夹，例如 Alert rules。

   预置的资源带有 **Provisioned** 标记，很明显这些资源不是手动创建的。

**注意**  
您无法从 Grafana 编辑预置的资源。只能通过更改配置文件并重新启动 Grafana 或执行热重载来更改资源属性。这样可以防止对资源进行更改，如果再次配置文件或执行热重载，这些更改会被覆盖。