警报配置 HTTP API
警报配置 HTTP API 可用于创建、修改和删除与 Grafana 管理的警报相关的资源。此 API 是我们的 Grafana Terraform provider 使用的 API。
有关 Grafana 管理的警报和数据源管理的警报之间的差异的更多信息,请参阅警报规则介绍。
如果您正在运行 Grafana Enterprise,您需要为某些端点添加特定权限。有关更多信息,请参阅基于角色的访问控制权限。
Grafana 管理的端点
注意
在警报配置 HTTP API 中,端点使用的 JSON 格式与 export 端点返回的格式不同。
export 端点允许您以适合通过文件配置的 JSON 格式导出警报资源。但是,此格式不能用于通过 HTTP API 更新资源。
警报规则
方法 | URI | 名称 | 摘要 |
---|---|---|---|
DELETE | /api/v1/provisioning/alert-rules/:uid | 路由 删除警报规则 | 通过 UID 删除特定的警报规则。 |
GET | /api/v1/provisioning/alert-rules/:uid | 路由 获取警报规则 | 通过 UID 获取特定的警报规则。 |
POST | /api/v1/provisioning/alert-rules | 路由 创建警报规则 | 创建一个新的警报规则。 |
PUT | /api/v1/provisioning/alert-rules/:uid | 路由 更新警报规则 | 更新现有警报规则。 |
GET | /api/v1/provisioning/alert-rules/:uid/export | 路由 导出警报规则 | 以配置文件格式导出警报规则。 |
GET | /api/v1/provisioning/folder/:folderUid/rule-groups/:group | 路由 获取警报规则组 | 获取一个规则组。 |
PUT | /api/v1/provisioning/folder/:folderUid/rule-groups/:group | 路由 更新警报规则组 | 更新规则组的间隔或修改组的规则。 |
GET | /api/v1/provisioning/folder/:folderUid/rule-groups/:group/export | 路由 导出警报规则组 | 以配置文件格式导出警报规则组。 |
GET | /api/v1/provisioning/alert-rules | 路由 获取所有警报规则 | 获取所有警报规则。 |
GET | /api/v1/provisioning/alert-rules/export | 路由 导出所有警报规则 | 以配置文件格式导出所有警报规则。 |
新警报规则示例请求
POST /api/v1/provisioning/alert-rules
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
{
"title": "TEST-API_1",
"ruleGroup": "API",
"folderUID": "SET_FOLDER_UID",
"noDataState": "OK",
"execErrState": "OK",
"for": "5m",
"orgId": 1,
"uid": "",
"condition": "B",
"annotations": {
"summary": "test_api_1"
},
"labels": {
"API": "test1"
},
"data": [
{
"refId": "A",
"queryType": "",
"relativeTimeRange": {
"from": 600,
"to": 0
},
"datasourceUid": "XXXXXXXXX-XXXXXXXXX-XXXXXXXXXX",
"model": {
"expr": "up",
"hide": false,
"intervalMs": 1000,
"maxDataPoints": 43200,
"refId": "A"
}
},
{
"refId": "B",
"queryType": "",
"relativeTimeRange": {
"from": 0,
"to": 0
},
"datasourceUid": "-100",
"model": {
"conditions": [
{
"evaluator": {
"params": [6],
"type": "gt"
},
"operator": {
"type": "and"
},
"query": {
"params": ["A"]
},
"reducer": {
"params": [],
"type": "last"
},
"type": "query"
}
],
"datasource": {
"type": "__expr__",
"uid": "-100"
},
"hide": false,
"intervalMs": 1000,
"maxDataPoints": 43200,
"refId": "B",
"type": "classic_conditions"
}
}
]
}
示例响应
HTTP/1.1 201 Created
Content-Type: application/json
{
"id": 1,
"uid": "XXXXXXXXX",
"orgID": 1,
"folderUID": "SET_FOLDER_UID",
"ruleGroup": "API3",
"title": "TEST-API_1",
"condition": "B",
"data": [
{
"refId": "A",
"queryType": "",
"relativeTimeRange": {
"from": 600,
"to": 0
},
"datasourceUid": "XXXXXXXXX-XXXXXXXXX-XXXXXXXXXX",
"model": {
"expr": "up",
"hide": false,
"intervalMs": 1000,
"maxDataPoints": 43200,
"refId": "A"
}
},
{
"refId": "B",
"queryType": "",
"relativeTimeRange": {
"from": 0,
"to": 0
},
"datasourceUid": "-100",
"model": {
"conditions": [
{
"evaluator": {
"params": [
6
],
"type": "gt"
},
"operator": {
"type": "and"
},
"query": {
"params": [
"A"
]
},
"reducer": {
"params": [],
"type": "last"
},
"type": "query"
}
],
"datasource": {
"type": "__expr__",
"uid": "-100"
},
"hide": false,
"intervalMs": 1000,
"maxDataPoints": 43200,
"refId": "B",
"type": "classic_conditions"
}
}
],
"updated": "2024-08-02T13:19:32.609640048Z",
"noDataState": "OK",
"execErrState": "OK",
"for": "5m",
"annotations": {
"summary": "test_api_1"
},
"labels": {
"API": "test1"
},
"provenance": "api",
"isPaused": false,
"notification_settings": null,
"record": null
}
联系点
方法 | URI | 名称 | 摘要 |
---|---|---|---|
DELETE | /api/v1/provisioning/contact-points/:uid | 路由 删除联系点 | 删除一个联系点。 |
GET | /api/v1/provisioning/contact-points | 路由 获取联系点 | 获取所有联系点。 |
POST | /api/v1/provisioning/contact-points | 路由 创建联系点 | 创建一个联系点。 |
PUT | /api/v1/provisioning/contact-points/:uid | 路由 更新联系点 | 更新现有联系点。 |
GET | /api/v1/provisioning/contact-points/export | 路由 导出联系点 | 以配置文件格式导出所有联系点。 |
获取所有联系点示例请求
GET /api/v1/provisioning/contact-points
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
示例响应
HTTP/1.1 200 OK
Content-Type: application/json
[
{
"uid": "",
"name": "email receiver",
"type": "email",
"settings": {
"addresses": "<example@email.com>"
},
"disableResolveMessage": false
}
]
通知策略
方法 | URI | 名称 | 摘要 |
---|---|---|---|
DELETE | /api/v1/provisioning/policies | 路由 重置策略树 | 清除通知策略树。 |
GET | /api/v1/provisioning/policies | 路由 获取策略树 | 获取通知策略树。 |
PUT | /api/v1/provisioning/policies | 路由 设置策略树 | 设置通知策略树。 |
GET | /api/v1/provisioning/policies/export | 路由 导出策略树 | 以配置文件格式导出通知策略树。 |
以 YAML 格式导出通知策略树示例请求
GET /api/v1/provisioning/policies/export?format=yaml
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
示例响应
HTTP/1.1 200 OK
Content-Type: text/yaml
apiVersion: 1
policies:
- orgId: 1
receiver: My Contact Email Point
group_by:
- grafana_folder
- alertname
routes:
- receiver: My Contact Email Point
object_matchers:
- - monitor
- =
- testdata
mute_time_intervals:
- weekends
通知模板组
模板组允许您在单个组中定义多个通知模板 ({{ define "" }}
)。它们可以通过 Grafana Alerting UI 进行管理。
方法 | URI | 名称 | 摘要 |
---|---|---|---|
DELETE | /api/v1/provisioning/templates/:name | 路由 删除模板 | 删除一个通知模板组。 |
GET | /api/v1/provisioning/templates/:name | 路由 获取模板 | 获取一个通知模板组。 |
GET | /api/v1/provisioning/templates | 路由 获取模板 | 获取所有通知模板组。 |
PUT | /api/v1/provisioning/templates/:name | 路由 创建或更新模板 | 创建或更新一个通知模板组。 |
获取所有通知模板组示例请求
GET /api/v1/provisioning/templates
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
示例响应
HTTP/1.1 200 OK
Content-Type: application/json
[
{
"name": "custom_email.message",
"template": "{{ define \"custom_email.message\" }}\n Custom alert!\n{{ end }}",
"provenance": "file"
},
{
"name": "custom_email.subject",
"template": "{{ define \"custom_email.subject\" }}\n{{ len .Alerts.Firing }} firing alert(s), {{ len .Alerts.Resolved }} resolved alert(s)\n{{ end }}",
"provenance": "file"
}
]
静默时间
方法 | URI | 名称 | 摘要 |
---|---|---|---|
DELETE | /api/v1/provisioning/mute-timings/:name | 路由 删除静默时间 | 删除一个静默时间。 |
GET | /api/v1/provisioning/mute-timings/:name | 路由 获取静默时间 | 获取一个静默时间。 |
GET | /api/v1/provisioning/mute-timings | 路由 获取静默时间 | 获取所有静默时间。 |
POST | /api/v1/provisioning/mute-timings | 路由 创建静默时间 | 创建一个新的静默时间。 |
PUT | /api/v1/provisioning/mute-timings/:name | 路由 替换静默时间 | 替换现有的静默时间。 |
GET | /api/v1/provisioning/mute-timings/export | 路由 导出静默时间 | 以配置文件格式导出所有静默时间。 |
GET | /api/v1/provisioning/mute-timings/:name/export | 路由 导出静默时间 | 以配置文件格式导出一个静默时间。 |
获取所有静默时间示例请求
GET /api/v1/provisioning/mute-timings
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
示例响应
HTTP/1.1 200 OK
Content-Type: application/json
[
{
"name": "weekends",
"time_intervals": [
{
"weekdays": [
"saturday",
"sunday"
]
}
],
"version": "",
"provenance": "file"
}
]
在 Grafana UI 中编辑资源
默认情况下,您无法在 Grafana 中编辑通过 API 配置的警报资源。
要在 Grafana UI 中启用编辑这些资源,请在以下 API 请求中添加 X-Disable-Provenance: true
头信息
POST /api/v1/provisioning/alert-rules
PUT /api/v1/provisioning/folder/{FolderUID}/rule-groups/{Group}
(此端点会更改警报组中所有警报规则的来源)POST /api/v1/provisioning/contact-points
POST /api/v1/provisioning/mute-timings
PUT /api/v1/provisioning/templates/{name}
PUT /api/v1/provisioning/policies
要将通知策略树重置为默认值并在 Grafana UI 中解除编辑锁定,请使用
DELETE /api/v1/provisioning/policies
数据源管理的资源
警报配置 HTTP API 只能用于管理 Grafana 管理的警报资源。要管理与数据源管理的警报相关的资源,请考虑以下工具
- mimirtool:用于与 Mimir alertmanager 和 ruler 配置交互。
- cortex-tools:用于与 Cortex alertmanager 和 ruler 配置交互。
- lokitool:用于配置 Loki Ruler。
此外,Grafana Alerting API 可用于访问数据源管理的警报数据。此 API 主要用于内部使用,/api/v1/provisioning/ 端点除外。请务必注意,内部 API 可能会在不事先通知的情况下发生变化,并且不正式支持用户使用。
对于 Prometheus,也可以使用 amtool
与 AlertManager API 交互。
路径
通过 UID 删除特定的警报规则。(RouteDeleteAlertRule)
DELETE /api/v1/provisioning/alert-rules/:uid
参数
名称 | 源 | 类型 | Go 类型 | 必需 | 默认 | 描述 |
---|---|---|---|---|---|---|
UID | 路径 | string | string | ✓ | 警报规则 UID | |
X-Disable-Provenance: true | header | string | string | 允许在 Grafana UI 中编辑已配置的资源 |
所有响应
状态码 | 状态 | 描述 | 包含 headers | Schema |
---|---|---|---|---|
204 | 无内容 | 警报规则已成功删除。 | schema |
响应
204 - 警报规则已成功删除。
状态: 无内容
Schema
删除一个联系点。(RouteDeleteContactpoints)
DELETE /api/v1/provisioning/contact-points/:uid
参数
名称 | 源 | 类型 | Go 类型 | 必需 | 默认 | 描述 |
---|---|---|---|---|---|---|
UID | 路径 | string | string | ✓ | UID 是联系点的唯一标识符 |
所有响应
状态码 | 状态 | 描述 | 包含 headers | Schema |
---|---|---|---|---|
204 | 无内容 | 联系点已成功删除。 | schema |
响应
204 - 联系点已成功删除。
状态: 无内容
Schema
删除一个静默时间。(RouteDeleteMuteTiming)
DELETE /api/v1/provisioning/mute-timings/:name
参数
名称 | 源 | 类型 | Go 类型 | 必需 | 默认 | 描述 |
---|---|---|---|---|---|---|
name | 路径 | string | string | ✓ | 静默时间名称 | |
version | query | string | string | 资源的当前版本。用于乐观并发验证。留空以绕过验证。 |
所有响应
状态码 | 状态 | 描述 | 包含 headers | Schema |
---|---|---|---|---|
204 | 无内容 | 静默时间已成功删除。 | schema | |
409 | 冲突 | GenericPublicError | schema |
响应
204 - 静默时间已成功删除。
状态: 无内容
Schema
409 - 冲突
状态: 冲突
Schema
删除一个通知模板组。(RouteDeleteTemplate)
DELETE /api/v1/provisioning/templates/:name
参数
名称 | 源 | 类型 | Go 类型 | 必需 | 默认 | 描述 |
---|---|---|---|---|---|---|
name | 路径 | string | string | ✓ | 模板组名称 | |
version | query | string | string | 资源的当前版本。用于乐观并发验证。留空以绕过验证。 |
所有响应
状态码 | 状态 | 描述 | 包含 headers | Schema |
---|---|---|---|---|
204 | 无内容 | 模板已成功删除。 | schema | |
409 | 冲突 | GenericPublicError | schema |
响应
204 - 模板已成功删除。
状态: 无内容
Schema
409 - 冲突
状态: 冲突
Schema
通过 UID 获取特定的警报规则。(RouteGetAlertRule)
GET /api/v1/provisioning/alert-rules/:uid
参数
名称 | 源 | 类型 | Go 类型 | 必需 | 默认 | 描述 |
---|---|---|---|---|---|---|
UID | 路径 | string | string | ✓ | 警报规则 UID |
所有响应
状态码 | 状态 | 描述 | 包含 headers | Schema |
---|---|---|---|---|
200 | 成功 | ProvisionedAlertRule | schema | |
404 | 未找到 | 未找到。 | schema |
响应
200 - ProvisionedAlertRule
状态: 成功
Schema
404 - 未找到。
状态: 未找到
Schema
以配置文件格式导出警报规则。(RouteGetAlertRuleExport)
GET /api/v1/provisioning/alert-rules/:uid/export
输出格式
application/json
application/yaml
application/terraform+hcl
text/yaml
text/hcl
这些输出用于文件配置或 Terraform 配置,包括 JSON 输出在内,不能用于通过 HTTP API 更新资源。
参数
名称 | 源 | 类型 | Go 类型 | 必需 | 默认 | 描述 |
---|---|---|---|---|---|---|
UID | 路径 | string | string | ✓ | 警报规则 UID | |
download | query | boolean | bool | 是否启动文件下载。 | ||
format | query | string | string | yaml | 下载文件的格式,可以是 yaml , json 或 hcl 。也可以使用 Accept header,但查询参数优先。 |
所有响应
状态码 | 状态 | 描述 | 包含 headers | Schema |
---|---|---|---|---|
200 | 成功 | AlertingFileExport | schema | |
404 | 未找到 | 未找到。 | schema |
响应
200 - AlertingFileExport
状态: 成功
Schema
404 - 未找到。
状态: 未找到
Schema
获取一个规则组。(RouteGetAlertRuleGroup)
GET /api/v1/provisioning/folder/:folderUid/rule-groups/:group
参数
名称 | 源 | 类型 | Go 类型 | 必需 | 默认 | 描述 |
---|---|---|---|---|---|---|
FolderUID | 路径 | string | string | ✓ | ||
Group | 路径 | string | string | ✓ |
所有响应
状态码 | 状态 | 描述 | 包含 headers | Schema |
---|---|---|---|---|
200 | 成功 | AlertRuleGroup | schema | |
404 | 未找到 | 未找到。 | schema |
响应
200 - AlertRuleGroup
状态: 成功
Schema
404 - 未找到。
状态: 未找到
Schema
以配置文件格式导出警报规则组。(RouteGetAlertRuleGroupExport)
GET /api/v1/provisioning/folder/:folderUid/rule-groups/:group/export
输出格式
application/json
application/yaml
application/terraform+hcl
text/yaml
text/hcl
这些输出用于文件配置或 Terraform 配置,包括 JSON 输出在内,不能用于通过 HTTP API 更新资源。
参数
名称 | 源 | 类型 | Go 类型 | 必需 | 默认 | 描述 |
---|---|---|---|---|---|---|
FolderUID | 路径 | string | string | ✓ | ||
Group | 路径 | string | string | ✓ | ||
download | query | boolean | bool | 是否启动文件下载。 | ||
format | query | string | string | yaml | 下载文件的格式,可以是 yaml , json 或 hcl 。也可以使用 Accept header,但查询参数优先。 |
所有响应
状态码 | 状态 | 描述 | 包含 headers | Schema |
---|---|---|---|---|
200 | 成功 | AlertingFileExport | schema | |
404 | 未找到 | 未找到。 | schema |
响应
200 - AlertingFileExport
状态: 成功
Schema
404 - 未找到。
状态: 未找到
Schema
获取所有警报规则。(RouteGetAlertRules)
GET /api/v1/provisioning/alert-rules
所有响应
状态码 | 状态 | 描述 | 包含 headers | Schema |
---|---|---|---|---|
200 | 成功 | ProvisionedAlertRules | schema |
响应
200 - ProvisionedAlertRules
状态: 成功
Schema
以配置文件格式导出所有警报规则。(RouteGetAlertRulesExport)
GET /api/v1/provisioning/alert-rules/export
输出格式
application/json
application/yaml
application/terraform+hcl
text/yaml
text/hcl
这些输出用于文件配置或 Terraform 配置,包括 JSON 输出在内,不能用于通过 HTTP API 更新资源。
参数
名称 | 源 | 类型 | Go 类型 | 必需 | 默认 | 描述 |
---|---|---|---|---|---|---|
download | query | boolean | bool | 是否启动文件下载。 | ||
format | query | string | string | yaml | 下载文件的格式,可以是 yaml , json 或 hcl 。也可以使用 Accept header,但查询参数优先。 |
所有响应
状态码 | 状态 | 描述 | 包含 headers | Schema |
---|---|---|---|---|
200 | 成功 | AlertingFileExport | schema | |
404 | 未找到 | 未找到。 | schema |
响应
200 - AlertingFileExport
状态: 成功
Schema
404 - 未找到。
状态: 未找到
Schema
获取所有联系点。(RouteGetContactpoints)
GET /api/v1/provisioning/contact-points
参数
名称 | 源 | 类型 | Go 类型 | 必需 | 默认 | 描述 |
---|---|---|---|---|---|---|
name | query | string | string | 按名称过滤 |
所有响应
状态码 | 状态 | 描述 | 包含 headers | Schema |
---|---|---|---|---|
200 | 成功 | ContactPoints | schema |
响应
200 - ContactPoints
状态: 成功
Schema
以配置文件格式导出所有联系点。(RouteGetContactpointsExport)
GET /api/v1/provisioning/contact-points/export
输出格式
application/json
application/yaml
application/terraform+hcl
text/yaml
text/hcl
这些输出用于文件配置或 Terraform 配置,包括 JSON 输出在内,不能用于通过 HTTP API 更新资源。
参数
名称 | 源 | 类型 | Go 类型 | 必需 | 默认 | 描述 |
---|---|---|---|---|---|---|
decrypt | query | boolean | bool | 是否应解密包含的任何安全设置,或保留 redacted(已删减)。Redacted 设置将包含 RedactedValue。目前,只有组织管理员可以查看解密后的安全设置。 | ||
download | query | boolean | bool | 是否启动文件下载。 | ||
format | query | string | string | yaml | 下载文件的格式,可以是 yaml , json 或 hcl 。也可以使用 Accept header,但查询参数优先。 | |
name | query | string | string | 按名称过滤 |
所有响应
状态码 | 状态 | 描述 | 包含 headers | Schema |
---|---|---|---|---|
200 | 成功 | AlertingFileExport | schema | |
403 | 禁止访问 | PermissionDenied | schema |
响应
200 - AlertingFileExport
状态: 成功
Schema
403 - PermissionDenied
状态: 禁止访问
Schema
获取一个静默时间。(RouteGetMuteTiming)
GET /api/v1/provisioning/mute-timings/:name
参数
名称 | 源 | 类型 | Go 类型 | 必需 | 默认 | 描述 |
---|---|---|---|---|---|---|
name | 路径 | string | string | ✓ | 静默时间名称 |
所有响应
状态码 | 状态 | 描述 | 包含 headers | Schema |
---|---|---|---|---|
200 | 成功 | MuteTimeInterval | schema | |
404 | 未找到 | 未找到。 | schema |
响应
200 - MuteTimeInterval
状态: 成功
Schema
404 - 未找到。
状态: 未找到
Schema
获取所有静默时间。(RouteGetMuteTimings)
GET /api/v1/provisioning/mute-timings
所有响应
状态码 | 状态 | 描述 | 包含 headers | Schema |
---|---|---|---|---|
200 | 成功 | MuteTimings | schema |
响应
200 - MuteTimings
状态: 成功
模式
以 provisioning 文件格式导出所有静默时间。(RouteGetMuteTimingsExport)
GET /api/v1/provisioning/mute-timings/export
输出格式
application/json
application/yaml
application/terraform+hcl
text/yaml
text/hcl
这些输出用于文件配置或 Terraform 配置,包括 JSON 输出在内,不能用于通过 HTTP API 更新资源。
参数
名称 | 源 | 类型 | Go 类型 | 必需 | 默认 | 描述 |
---|---|---|---|---|---|---|
download | query | boolean | bool | 是否启动文件下载。 | ||
format | query | string | string | yaml | 下载文件的格式,可以是 yaml , json 或 hcl 。也可以使用 Accept header,但查询参数优先。 |
所有响应
状态码 | 状态 | 描述 | 包含 headers | Schema |
---|---|---|---|---|
200 | 成功 | MuteTimingsExport | schema | |
403 | 禁止访问 | PermissionDenied | schema |
响应
200 - MuteTimingsExport
状态: 成功
模式
403 - 权限被拒绝
状态: 禁止访问
模式
以 provisioning 文件格式导出静默时间。(RouteGetMuteTimingExport)
GET /api/v1/provisioning/mute-timings/:name/export
输出格式
application/json
application/yaml
application/terraform+hcl
text/yaml
text/hcl
这些输出用于文件配置或 Terraform 配置,包括 JSON 输出在内,不能用于通过 HTTP API 更新资源。
参数
名称 | 源 | 类型 | Go 类型 | 必需 | 默认 | 描述 |
---|---|---|---|---|---|---|
name | 路径 | string | string | ✓ | 静默时间名称。 | |
download | query | boolean | bool | 是否启动文件下载。 | ||
format | query | string | string | yaml | 下载文件的格式,可以是 yaml , json 或 hcl 。也可以使用 Accept header,但查询参数优先。 |
所有响应
状态码 | 状态 | 描述 | 包含 headers | Schema |
---|---|---|---|---|
200 | 成功 | MuteTimingExport | schema | |
403 | 禁止访问 | PermissionDenied | schema |
响应
200 - MuteTimingExport
状态: 成功
模式
403 - 权限被拒绝
状态: 禁止访问
模式
获取通知策略树。(RouteGetPolicyTree)
GET /api/v1/provisioning/policies
所有响应
状态码 | 状态 | 描述 | 包含 headers | Schema |
---|---|---|---|---|
200 | 成功 | Route | schema |
响应
200 - Route
状态: 成功
模式
以 provisioning 文件格式导出通知策略树。(RouteGetPolicyTreeExport)
GET /api/v1/provisioning/policies/export
输出格式
application/json
application/yaml
application/terraform+hcl
text/yaml
text/hcl
这些输出用于文件配置或 Terraform 配置,包括 JSON 输出在内,不能用于通过 HTTP API 更新资源。
参数
名称 | 源 | 类型 | Go 类型 | 必需 | 默认 | 描述 |
---|---|---|---|---|---|---|
download | query | boolean | bool | 是否启动文件下载。 | ||
format | query | string | string | yaml | 下载文件的格式,可以是 yaml , json 或 hcl 。也可以使用 Accept header,但查询参数优先。 |
所有响应
状态码 | 状态 | 描述 | 包含 headers | Schema |
---|---|---|---|---|
200 | 成功 | AlertingFileExport | schema | |
404 | 未找到 | NotFound | schema |
响应
200 - AlertingFileExport
状态: 成功
模式
404 - 未找到
状态: 未找到
模式
获取通知模板组。(RouteGetTemplate)
GET /api/v1/provisioning/templates/:name
参数
名称 | 源 | 类型 | Go 类型 | 必需 | 默认 | 描述 |
---|---|---|---|---|---|---|
name | 路径 | string | string | ✓ | 模板组名称 |
所有响应
状态码 | 状态 | 描述 | 包含 headers | Schema |
---|---|---|---|---|
200 | 成功 | NotificationTemplate | schema | |
404 | 未找到 | GenericPublicError | schema |
响应
200 - NotificationTemplate
状态: 成功
模式
404 - 未找到。
模式
获取所有通知模板组。(RouteGetTemplates)
GET /api/v1/provisioning/templates
所有响应
状态码 | 状态 | 描述 | 包含 headers | Schema |
---|---|---|---|---|
200 | 成功 | NotificationTemplates | schema |
响应
200 - NotificationTemplates
状态: 成功
模式
创建新的告警规则。(RoutePostAlertRule)
POST /api/v1/provisioning/alert-rules
参数
名称 | 源 | 类型 | Go 类型 | 必需 | 默认 | 描述 |
---|---|---|---|---|---|---|
X-Disable-Provenance: true | header | string | string | 允许在 Grafana UI 中编辑已配置的资源 | ||
Body | body | ProvisionedAlertRule | models.ProvisionedAlertRule |
所有响应
状态码 | 状态 | 描述 | 包含 headers | Schema |
---|---|---|---|---|
201 | 已创建 | ProvisionedAlertRule | schema | |
400 | 错误请求 | ValidationError | schema |
响应
201 - ProvisionedAlertRule
状态:已创建
模式
400 - ValidationError
状态:错误请求
模式
创建联系点。(RoutePostContactpoints)
POST /api/v1/provisioning/contact-points
创建联系点时,EmbeddedContactPoint.name
属性决定是否将新联系点添加到现有联系点中。在 UI 中,同名的联系点会分组到单个联系点下。
参数
名称 | 源 | 类型 | Go 类型 | 必需 | 默认 | 描述 |
---|---|---|---|---|---|---|
X-Disable-Provenance: true | header | string | string | 允许在 Grafana UI 中编辑已配置的资源 | ||
Body | body | EmbeddedContactPoint | models.EmbeddedContactPoint |
所有响应
状态码 | 状态 | 描述 | 包含 headers | Schema |
---|---|---|---|---|
202 | 已接受 | EmbeddedContactPoint | schema | |
400 | 错误请求 | ValidationError | schema |
响应
202 - EmbeddedContactPoint
状态:已接受
模式
400 - ValidationError
状态:错误请求
模式
创建新的静默时间。(RoutePostMuteTiming)
POST /api/v1/provisioning/mute-timings
参数
名称 | 源 | 类型 | Go 类型 | 必需 | 默认 | 描述 |
---|---|---|---|---|---|---|
X-Disable-Provenance: true | header | string | string | 允许在 Grafana UI 中编辑已配置的资源 | ||
Body | body | MuteTimeInterval | models.MuteTimeInterval |
所有响应
状态码 | 状态 | 描述 | 包含 headers | Schema |
---|---|---|---|---|
201 | 已创建 | MuteTimeInterval | schema | |
400 | 错误请求 | ValidationError | schema |
响应
201 - MuteTimeInterval
状态:已创建
模式
400 - ValidationError
状态:错误请求
模式
更新现有告警规则。(RoutePutAlertRule)
PUT /api/v1/provisioning/alert-rules/:uid
参数
名称 | 源 | 类型 | Go 类型 | 必需 | 默认 | 描述 | |
---|---|---|---|---|---|---|---|
UID | 路径 | string | string | ✓ | 警报规则 UID | ||
X-Disable-Provenance: true | header | string | string | 允许在 Grafana UI 中编辑已配置的资源 | |||
Body | body | ProvisionedAlertRule | models.ProvisionedAlertRule |
所有响应
状态码 | 状态 | 描述 | 包含 headers | Schema |
---|---|---|---|---|
200 | 成功 | ProvisionedAlertRule | schema | |
400 | 错误请求 | ValidationError | schema |
响应
200 - ProvisionedAlertRule
状态: 成功
模式
400 - ValidationError
状态:错误请求
模式
更新规则组的间隔或告警规则。(RoutePutAlertRuleGroup)
PUT /api/v1/provisioning/folder/:folderUid/rule-groups/:group
参数
名称 | 源 | 类型 | Go 类型 | 必需 | 默认 | 描述 |
---|---|---|---|---|---|---|
FolderUID | 路径 | string | string | ✓ | ||
Group | 路径 | string | string | ✓ | ||
X-Disable-Provenance: true | header | string | string | 允许在 Grafana UI 中编辑已配置的资源 | ||
Body | body | AlertRuleGroup | models.AlertRuleGroup | 此操作是幂等的,此正文中包含的规则将覆盖该组的已配置规则 |
所有响应
状态码 | 状态 | 描述 | 包含 headers | Schema |
---|---|---|---|---|
200 | 成功 | AlertRuleGroup | schema | |
400 | 错误请求 | ValidationError | schema |
响应
200 - AlertRuleGroup
状态: 成功
模式
400 - ValidationError
状态:错误请求
模式
更新现有联系点。(RoutePutContactpoint)
PUT /api/v1/provisioning/contact-points/:uid
参数
名称 | 源 | 类型 | Go 类型 | 必需 | 默认 | 描述 |
---|---|---|---|---|---|---|
UID | 路径 | string | string | ✓ | UID 是联系点的唯一标识符 | |
X-Disable-Provenance: true | header | string | string | 允许在 Grafana UI 中编辑已配置的资源 | ||
Body | body | EmbeddedContactPoint | models.EmbeddedContactPoint |
所有响应
状态码 | 状态 | 描述 | 包含 headers | Schema |
---|---|---|---|---|
202 | 已接受 | Ack | schema | |
400 | 错误请求 | ValidationError | schema |
响应
202 - Ack
状态:已接受
模式
400 - ValidationError
状态:错误请求
模式
替换现有静默时间。(RoutePutMuteTiming)
PUT /api/v1/provisioning/mute-timings/:name
参数
名称 | 源 | 类型 | Go 类型 | 必需 | 默认 | 描述 |
---|---|---|---|---|---|---|
name | 路径 | string | string | ✓ | 静默时间名称 | |
X-Disable-Provenance: true | header | string | string | 允许在 Grafana UI 中编辑已配置的资源 | ||
Body | body | MuteTimeInterval | models.MuteTimeInterval |
所有响应
状态码 | 状态 | 描述 | 包含 headers | Schema |
---|---|---|---|---|
200 | 成功 | MuteTimeInterval | schema | |
400 | 错误请求 | ValidationError | schema | |
409 | 冲突 | GenericPublicError | schema |
响应
200 - MuteTimeInterval
状态: 成功
模式
400 - ValidationError
状态:错误请求
模式
409 - 冲突
状态: 冲突
模式
设置通知策略树。(RoutePutPolicyTree)
警告
由于策略树是单个资源,因此配置它将覆盖通知策略树中的所有策略。但是,这不会影响告警规则直接选择联系点时创建的内部策略。
PUT /api/v1/provisioning/policies
参数
名称 | 源 | 类型 | Go 类型 | 必需 | 默认 | 描述 |
---|---|---|---|---|---|---|
X-Disable-Provenance: true | header | string | string | 允许在 Grafana UI 中编辑已配置的资源 | ||
Body | body | Route | models.Route | 要使用的新通知路由树 |
所有响应
状态码 | 状态 | 描述 | 包含 headers | Schema |
---|---|---|---|---|
202 | 已接受 | Ack | schema | |
400 | 错误请求 | ValidationError | schema |
响应
202 - Ack
状态:已接受
模式
400 - ValidationError
状态:错误请求
模式
创建或更新通知模板组。(RoutePutTemplate)
PUT /api/v1/provisioning/templates/:name
参数
名称 | 源 | 类型 | Go 类型 | 必需 | 默认 | 描述 | |
---|---|---|---|---|---|---|---|
name | 路径 | string | string | ✓ | 模板组名称 | ||
X-Disable-Provenance: true | header | string | string | 允许在 Grafana UI 中编辑已配置的资源 | |||
Body | body | NotificationTemplateContent | models.NotificationTemplateContent |
所有响应
状态码 | 状态 | 描述 | 包含 headers | Schema |
---|---|---|---|---|
202 | 已接受 | NotificationTemplate | schema | |
400 | 错误请求 | GenericPublicError | schema | |
409 | 冲突 | GenericPublicError | schema |
响应
202 - NotificationTemplate
状态:已接受
模式
400 - ValidationError
状态:错误请求
模式
409 - 冲突
状态: 冲突
模式
清除通知策略树。(RouteResetPolicyTree)
DELETE /api/v1/provisioning/policies
所有响应
状态码 | 状态 | 描述 | 包含 headers | Schema |
---|---|---|---|---|
202 | 已接受 | Ack | schema |
响应
202 - Ack
状态:已接受
模式
模型
Ack
AlertQuery
属性
名称 | 类型 | Go 类型 | 必需 | 默认 | 描述 | 示例 |
---|---|---|---|---|---|---|
datasourceUid | string | string | Grafana 数据源唯一标识符;对于 Server Side Expression 操作,它应该是 'expr'。 | |||
model | interface{} | interface{} | JSON 是原始 JSON 查询,包含上述属性以及自定义属性。 | |||
queryType | string | string | QueryType 是查询类型的可选标识符。它可以用于区分不同类型的查询。 | |||
refId | string | string | RefID 是查询的唯一标识符,由前端调用设置。 | |||
relativeTimeRange | RelativeTimeRange | RelativeTimeRange |
AlertQueryExport
属性
名称 | 类型 | Go 类型 | 必需 | 默认 | 描述 | 示例 |
---|---|---|---|---|---|---|
datasourceUid | string | string | ||||
model | interface{} | interface{} | ||||
queryType | string | string | ||||
refId | string | string | ||||
relativeTimeRange | RelativeTimeRange | RelativeTimeRange |
AlertRuleExport
属性
名称 | 类型 | Go 类型 | 必需 | 默认 | 描述 | 示例 |
---|---|---|---|---|---|---|
annotations | 字符串映射 | map[string]string | ||||
condition | string | string | ||||
dashboardUid | string | string | ||||
data | [] AlertQueryExport | []*AlertQueryExport | ||||
execErrState | string | string | ||||
for | Duration | Duration | ||||
isPaused | boolean | bool | ||||
labels | 字符串映射 | map[string]string | ||||
noDataState | string | string | ||||
panelId | int64 (格式化整数) | int64 | ||||
title | string | string | ||||
uid | string | string |
AlertRuleGroup
属性
名称 | 类型 | Go 类型 | 必需 | 默认 | 描述 | 示例 |
---|---|---|---|---|---|---|
folderUid | string | string | ||||
interval | int64 (格式化整数) | int64 | ||||
rules | [] ProvisionedAlertRule | []*ProvisionedAlertRule | ||||
title | string | string |
AlertRuleGroupExport
属性
名称 | 类型 | Go 类型 | 必需 | 默认 | 描述 | 示例 |
---|---|---|---|---|---|---|
folder | string | string | ||||
interval | Duration | Duration | ||||
name | string | string | ||||
orgId | int64 (格式化整数) | int64 | ||||
rules | [] AlertRuleExport | []*AlertRuleExport |
AlertingFileExport
属性
名称 | 类型 | Go 类型 | 必需 | 默认 | 描述 | 示例 |
---|---|---|---|---|---|---|
apiVersion | int64 (格式化整数) | int64 | ||||
contactPoints | [] ContactPointExport | []*ContactPointExport | ||||
groups | [] AlertRuleGroupExport | []*AlertRuleGroupExport | ||||
policies | [] NotificationPolicyExport | []*NotificationPolicyExport |
ContactPointExport
属性
名称 | 类型 | Go 类型 | 必需 | 默认 | 描述 | 示例 |
---|---|---|---|---|---|---|
name | string | string | ||||
orgId | int64 (格式化整数) | int64 | ||||
receivers | [] ReceiverExport | []*ReceiverExport |
ContactPoints
Duration
名称 | 类型 | Go 类型 | 默认 | 描述 | 示例 |
---|---|---|---|---|---|
Duration | string | int64 |
EmbeddedContactPoint
EmbeddedContactPoint 是 Grafana 管理的告警使用的联系点类型。
创建联系点时,EmbeddedContactPoint.name
属性决定是否将新联系点添加到现有联系点中。在 UI 中,同名的联系点会分组到单个联系点下。
属性
名称 | 类型 | Go 类型 | 必需 | 默认 | 描述 | 示例 |
---|---|---|---|---|---|---|
disableResolveMessage | boolean | bool | false | |||
name | string | string | name 在 UI 中将多个同名联系点分组在一起。 | webhook_1 | ||
provenance | string | string | ||||
settings | JSON | JSON | ✓ | |||
type | string | string | ✓ | webhook | ||
uid | string | string | UID 是联系点的唯一标识符。UID 可以由用户设置。 | my_external_reference |
Json
MatchRegexps
MatchType
名称 | 类型 | Go 类型 | 默认 | 描述 | 示例 |
---|---|---|---|---|---|
MatchType | int64 (格式化整数) | int64 |
Matcher
属性
名称 | 类型 | Go 类型 | 必需 | 默认 | 描述 | 示例 |
---|---|---|---|---|---|---|
名称 | string | string | ||||
类型 | MatchType | MatchType | ||||
Value | string | string |
Matchers
Matchers 是一个 Matcher 切片,可排序,实现 Stringer 接口,并提供 Matches 方法来针对切片中的所有 Matcher 匹配 LabelSet。请注意,Matchers 的某些用户可能要求它已排序。
[] Matcher
MuteTimeInterval
属性
名称 | 类型 | Go 类型 | 必需 | 默认 | 描述 | 示例 |
---|---|---|---|---|---|---|
name | string | string | ||||
time_intervals | [] TimeInterval | []*TimeInterval | ||||
version | string | string | 资源版本 |
MuteTimingExport
属性
MuteTimingsExport
属性
MuteTimings
NotFound
NotificationPolicyExport
属性
名称 | 类型 | Go 类型 | 必需 | 默认 | 描述 | 示例 |
---|---|---|---|---|---|---|
Policy | RouteExport | RouteExport | inline | |||
orgId | int64 (格式化整数) | int64 |
NotificationTemplate
属性
名称 | 类型 | Go 类型 | 必需 | 默认 | 描述 | 示例 |
---|---|---|---|---|---|---|
name | string | string | ||||
provenance | Provenance | Provenance | ||||
template | string | string | ||||
version | string | string | 资源版本 |
NotificationTemplateContent
属性
名称 | 类型 | Go 类型 | 必需 | 默认 | 描述 | 示例 |
---|---|---|---|---|---|---|
template | string | string | ||||
version | string | string | 资源版本。对于新模板应为空。 |
NotificationTemplates
ObjectMatchers
内联模型
PermissionDenied
Provenance
名称 | 类型 | Go 类型 | 默认 | 描述 | 示例 |
---|---|---|---|---|---|
Provenance | string | string |
ProvisionedAlertRule
属性
名称 | 类型 | Go 类型 | 必需 | 默认 | 描述 | 示例 |
---|---|---|---|---|---|---|
annotations | 字符串映射 | map[string]string | 可选的键值对。__dashboardUid__ 和 __panelId__ 必须一起设置;不能单独设置其中一个。 | {"runbook_url":"https://supercoolrunbook.com/page/13"} | ||
condition | string | string | ✓ | A | ||
data | [] AlertQuery | []*AlertQuery | ✓ | [{"datasourceUid":"__expr__","model":{"conditions":[{"evaluator":{"params":[0,0],"type":"gt"},"operator":{"type":"and"},"query":{"params":[]},"reducer":{"params":[],"type":"avg"},"type":"query"}],"datasource":{"type":"__expr__","uid":"__expr__"},"expression":"1 == 1","hide":false,"intervalMs":1000,"maxDataPoints":43200,"refId":"A","type":"math"},"queryType":"","refId":"A","relativeTimeRange":{"from":0,"to":0}}] | ||
execErrState | string | string | ✓ | |||
folderUID | string | string | ✓ | project_x | ||
for | Duration | Duration | ✓ | |||
id | int64 (格式化整数) | int64 | ||||
isPaused | boolean | bool | false | |||
labels | 字符串映射 | map[string]string | {"team":"sre-team-1"} | |||
noDataState | string | string | ✓ | |||
orgID | int64 (格式化整数) | `int64 | ✓ | |||
provenance | Provenance | Provenance | ||||
ruleGroup | string | string | ✓ | eval_group_1 | ||
title | string | string | ✓ | Always firing | ||
uid | string | string | ||||
updated | date-time (格式化字符串) | strfmt.DateTime |
ProvisionedAlertRules
RawMessage
ReceiverExport
属性
名称 | 类型 | Go 类型 | 必需 | 默认 | 描述 | 示例 |
---|---|---|---|---|---|---|
disableResolveMessage | boolean | bool | ||||
settings | RawMessage | RawMessage | ||||
type | string | string | ||||
uid | string | string |
Regexp
Regexp 对多个 goroutine 并发使用是安全的,配置方法除外,例如 Longest。
RelativeTimeRange
RelativeTimeRange 是请求的每个查询的开始时间和结束时间。
属性
Route
Route 是一个包含如何处理告警定义的节点。与上游 alertmanager 不同,它增加了 ObjectMatchers 属性。
属性
名称 | 类型 | Go 类型 | 必需 | 默认 | 描述 | 示例 |
---|---|---|---|---|---|---|
continue | boolean | bool | ||||
group_by | []string | []string | ||||
group_interval | string | string | ||||
group_wait | string | string | ||||
match | 字符串映射 | map[string]string | 已弃用。在 v1.0 版本发布前移除。 | |||
match_re | MatchRegexps | MatchRegexps | ||||
matchers | Matchers | Matchers | ||||
mute_time_intervals | []string | []string | ||||
object_matchers | ObjectMatchers | ObjectMatchers | ||||
provenance | Provenance | Provenance | ||||
receiver | string | string | ||||
repeat_interval | string | string | ||||
routes | [] Route | []*Route |
RouteExport
RouteExport 是 definitions.Route 的 provisioning 文件导出。需要它来隐藏在 provisioning 文件格式中不可用的字段。另一种方法是定义自定义的 MarshalJSON 和 MarshalYAML 来排除它们。
属性
名称 | 类型 | Go 类型 | 必需 | 默认 | 描述 | 示例 |
---|---|---|---|---|---|---|
continue | boolean | bool | ||||
group_by | []string | []string | ||||
group_interval | string | string | ||||
group_wait | string | string | ||||
match | 字符串映射 | map[string]string | 已弃用。在 v1.0 版本发布前移除。 | |||
match_re | MatchRegexps | MatchRegexps | ||||
matchers | Matchers | Matchers | ||||
mute_time_intervals | []string | []string | ||||
object_matchers | ObjectMatchers | ObjectMatchers | ||||
receiver | string | string | ||||
repeat_interval | string | string | ||||
routes | [] RouteExport | []*RouteExport |
TimeInterval
TimeInterval 描述时间间隔。ContainsTime 将告诉你一个 golang 时间是否包含在该间隔内。
属性
名称 | 类型 | Go 类型 | 必需 | 默认 | 描述 | 示例 |
---|---|---|---|---|---|---|
days_of_month | []string | []string | ||||
location | string | string | ||||
months | []string | []string | ||||
times | [] TimeRange | []*TimeRange | ||||
weekdays | []string | []string | ||||
years | []string | []string |
TimeRange
例如,下午 4:00 到一天结束将从 1020 开始,在 1440 结束。
属性
名称 | 类型 | Go 类型 | 必需 | 默认 | 描述 | 示例 |
---|---|---|---|---|---|---|
end_time | string | string | "end_time": "24:00" | |||
start_time | string | string | "start_time": "18:00" |
ValidationError
属性
名称 | 类型 | Go 类型 | 必需 | 默认 | 描述 | 示例 |
---|---|---|---|---|---|---|
msg | string | string | 错误消息 |
GenericPublicError
属性
名称 | 类型 | Go 类型 | 必需 | 默认 | 描述 | 示例 |
---|---|---|---|---|---|---|
statusCode | string | string | ✓ | HTTP 状态码 | ||
messageId | string | string | ✓ | 错误的唯一代码 | ||
message | string | string | 错误消息 | |||
extra | 任意类型映射 | map[string]any | 关于错误的额外信息。格式特定于错误代码。 |