导出告警资源
导出您的告警资源,例如告警规则、联系点和通知策略,用于配置、自动导入单个文件夹和单个组。
有几种不同的方法可以导出您的告警资源
- Grafana UI 导出为 Terraform 格式以及用于配置文件配置的 YAML 或 JSON 格式。
- HTTP Alerting API 导出为 HTTP Alerting API 使用的 JSON API 格式。
- HTTP Alerting API - 导出端点 导出为用于配置文件配置的 YAML 或 JSON 格式。
注意
通过配置文件配置导入的告警资源无法在 Grafana UI 中编辑。这可以防止在 Grafana 重启期间,文件配置覆盖在 UI 中进行的更改。
如果您需要在 Grafana 中修改已配置的告警资源,请参阅在 Grafana UI 中编辑 HTTP API 告警资源或在 Grafana UI 中编辑 Terraform 告警资源。
从 Grafana UI 导出
下面列出的导出选项使您能够下载 YAML、JSON 或 Terraform 格式的资源,便于通过配置文件配置或Terraform进行配置。
导出告警规则
要从 Grafana UI 导出告警规则,请完成以下步骤。
点击 告警与 IRM -> 告警规则。
要导出所有 Grafana 管理的规则,请点击 导出规则。
要导出文件夹,请将 视图方式 更改为 列表。
选择要导出的文件夹,然后点击 导出规则文件夹 图标。
要导出组,请将 视图方式 更改为 分组。
找到要导出的组,然后点击 导出规则组 图标。
选择要导出的格式。
导出的告警规则数据会以不同的格式显示 - YAML、JSON、Terraform。
点击 复制代码 或 下载。
修改告警规则并导出规则组(不保存更改)
注意
此功能仅适用于 Grafana 管理的告警规则。Admin、Viewer 和 Editor 角色均可使用。
使用 修改导出 模式编辑和导出告警规则,而不更新它。导出的数据包含同一告警组中的所有告警规则。
要导出修改后的告警规则而不保存修改,请在 Grafana UI 中完成以下步骤。
点击 告警与 IRM -> 告警规则。
找到要编辑的告警规则,然后点击 更多 -> 修改导出 以打开告警规则表单。
在告警规则表单中,编辑您想要更改的字段。所做的更改不会应用于告警规则。
点击 导出。
选择要导出的格式。
导出的告警规则组会以不同的格式显示 - YAML、JSON、Terraform。
点击 复制代码 或 下载。
导出新的告警规则定义(不保存更改)
注意
您只能导出为 Terraform (HCL) 格式。
将新的告警规则定义添加到现有的已配置规则组,而不是手动创建代码。然后您可以将其复制到您的 Terraform 流水线中,快速部署和管理告警规则,将其作为您的基础设施即代码的一部分。
告警规则定义与告警规则不同之处在于,您定义了告警规则,但没有保存它。只有在使用 Terraform 进行配置后,它才成为保存的告警规则。
要将您的告警规则定义导出为 Terraform (HCL) 格式,请完成以下步骤。
- 点击 告警与 IRM -> 告警规则。
- 点击 导出规则定义。
- 填写告警规则详情。
- 选择一个已配置的文件夹和组,以添加您的告警规则定义。
- 点击 导出。
- 将代码复制并粘贴到您的 Terraform 流水线中,以创建新的告警规则。
导出联系点
要从 Grafana UI 导出联系点,请完成以下步骤。
点击 告警与 IRM -> 联系点。
找到要导出的联系点,然后点击 更多 -> 导出。
选择要导出的格式。
导出的联系点会以不同的格式显示 - YAML、JSON、Terraform。
点击 复制代码 或 下载。
导出通知模板组
Grafana 目前不提供通知模板组的导出 UI 或导出端点,与其他本文档中介绍的告警资源不同。
但是,您可以手动复制 Grafana UI 中的通知模板组的内容和名称来导出它。
- 点击 告警与 IRM -> 联系点 -> 通知模板 标签页。
- 找到您想要导出的通知模板组。
- 复制内容和名称。
- 根据配置文件配置格式或Terraform 资源进行调整。
导出通知策略树
所有通知策略都通过单个资源进行配置:即通知策略树的根。
警告
由于策略树是单个资源,配置它将覆盖通知策略树中的所有策略。但是,它不影响当告警规则直接选择联系点时创建的内部策略。
要从 Grafana UI 导出通知策略树,请完成以下步骤。
点击 告警与 IRM -> 通知策略。
在 默认通知策略 部分,点击 ... -> 导出。
选择要导出的格式。
导出的联系点会以不同的格式显示 - YAML、JSON、Terraform。
点击 复制代码 或 下载。
导出静默时间
要从 Grafana UI 导出静默时间,请完成以下步骤。
点击 告警与 IRM -> 通知策略,然后点击 静默时间 标签页。
找到要导出的静默时间,然后点击 导出。
选择要导出的格式。
导出的联系点会以不同的格式显示 - YAML、JSON、Terraform。
点击 复制代码 或 下载。
HTTP Alerting API
您可以使用Alerting HTTP API以 JSON 格式返回现有的告警资源,并使用相同的端点将其导入到另一个 Grafana 实例中。
资源 | URI |
---|---|
告警规则 | /api/v1/provisioning/alert-rules |
联系点 | /api/v1/provisioning/contact-points |
通知策略树 | /api/v1/provisioning/policies |
通知模板组 | /api/v1/provisioning/templates |
静默时间 | /api/v1/provisioning/mute-timings |
但是,请注意,标准端点返回的 JSON 格式与通过配置文件或 Terraform 进行配置不兼容,除了下面列出的/export
端点。
导出 API 端点
通过 Alerting HTTP API 提供的特定端点可以导出 YAML 或 JSON 格式的告警资源,便于通过配置文件配置,或 Terraform (HCL)。
资源 | 方法 / URI | 摘要 |
---|---|---|
告警规则 | GET /api/v1/provisioning/alert-rules/export | 以配置文件配置格式导出所有告警规则. |
告警规则 | GET /api/v1/provisioning/folder/:folderUid/rule-groups/:group/export | 以配置文件配置格式导出告警规则组. |
告警规则 | GET /api/v1/provisioning/alert-rules/:uid/export | 以配置文件配置格式导出告警规则. |
联系点 | GET /api/v1/provisioning/contact-points/export | 以配置文件配置格式导出所有联系点. |
通知策略树 | GET /api/v1/provisioning/policies/export | 以配置文件配置格式导出通知策略树. |
静默时间 | GET /api/v1/provisioning/mute-timings/export | 以配置文件配置格式导出所有静默时间. |
静默时间 | GET /api/v1/provisioning/mute-timings/:name/export | 以配置文件配置格式导出静默时间. |
这些端点接受一个 download
参数以下载包含导出资源的文件。