Alerting: Fix recording rule export (#91405)
* Fix HCL export * Update rule export struct to support new optional fields * Omit `for` field in export API if empty
This commit is contained in:
@@ -87,4 +87,48 @@ resource "grafana_rule_group" "rule_group_d3e8424bfbf66bc3" {
|
||||
mute_timings = ["test-mute"]
|
||||
}
|
||||
}
|
||||
rule {
|
||||
name = "recording rule"
|
||||
|
||||
data {
|
||||
ref_id = "query"
|
||||
|
||||
relative_time_range {
|
||||
from = 18000
|
||||
to = 10800
|
||||
}
|
||||
|
||||
datasource_uid = "000000002"
|
||||
model = "{\"expr\":\"http_request_duration_microseconds_count\",\"hide\":false,\"interval\":\"\",\"intervalMs\":1000,\"legendFormat\":\"\",\"maxDataPoints\":100,\"refId\":\"query\"}"
|
||||
}
|
||||
data {
|
||||
ref_id = "reduced"
|
||||
|
||||
relative_time_range {
|
||||
from = 18000
|
||||
to = 10800
|
||||
}
|
||||
|
||||
datasource_uid = "__expr__"
|
||||
model = "{\"expression\":\"query\",\"hide\":false,\"intervalMs\":1000,\"maxDataPoints\":100,\"reducer\":\"mean\",\"refId\":\"reduced\",\"type\":\"reduce\"}"
|
||||
}
|
||||
data {
|
||||
ref_id = "condition"
|
||||
|
||||
relative_time_range {
|
||||
from = 18000
|
||||
to = 10800
|
||||
}
|
||||
|
||||
datasource_uid = "__expr__"
|
||||
model = "{\"expression\":\"$reduced > 10\",\"hide\":false,\"intervalMs\":1000,\"maxDataPoints\":100,\"refId\":\"condition\",\"type\":\"math\"}"
|
||||
}
|
||||
|
||||
is_paused = false
|
||||
|
||||
record {
|
||||
metric = "test_metric"
|
||||
from = "condition"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -108,7 +108,6 @@
|
||||
],
|
||||
"noDataState": "NoData",
|
||||
"execErrState": "Alerting",
|
||||
"for": "0s",
|
||||
"isPaused": false,
|
||||
"notification_settings":{
|
||||
"receiver":"Test-Receiver",
|
||||
@@ -118,6 +117,66 @@
|
||||
"repeat_interval":"5m",
|
||||
"mute_time_intervals":["test-mute"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"title": "recording rule",
|
||||
"data": [
|
||||
{
|
||||
"refId": "query",
|
||||
"relativeTimeRange": {
|
||||
"from": 18000,
|
||||
"to": 10800
|
||||
},
|
||||
"datasourceUid": "000000002",
|
||||
"model": {
|
||||
"expr": "http_request_duration_microseconds_count",
|
||||
"hide": false,
|
||||
"interval": "",
|
||||
"intervalMs": 1000,
|
||||
"legendFormat": "",
|
||||
"maxDataPoints": 100,
|
||||
"refId": "query"
|
||||
}
|
||||
},
|
||||
{
|
||||
"refId": "reduced",
|
||||
"relativeTimeRange": {
|
||||
"from": 18000,
|
||||
"to": 10800
|
||||
},
|
||||
"datasourceUid": "__expr__",
|
||||
"model": {
|
||||
"expression": "query",
|
||||
"hide": false,
|
||||
"intervalMs": 1000,
|
||||
"maxDataPoints": 100,
|
||||
"reducer": "mean",
|
||||
"refId": "reduced",
|
||||
"type": "reduce"
|
||||
}
|
||||
},
|
||||
{
|
||||
"refId": "condition",
|
||||
"relativeTimeRange": {
|
||||
"from": 18000,
|
||||
"to": 10800
|
||||
},
|
||||
"datasourceUid": "__expr__",
|
||||
"model": {
|
||||
"expression": "$reduced \u003e 10",
|
||||
"hide": false,
|
||||
"intervalMs": 1000,
|
||||
"maxDataPoints": 100,
|
||||
"refId": "condition",
|
||||
"type": "math"
|
||||
}
|
||||
}
|
||||
],
|
||||
"isPaused": false,
|
||||
"record": {
|
||||
"metric": "test_metric",
|
||||
"from": "condition"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -81,7 +81,6 @@ groups:
|
||||
type: reduce
|
||||
noDataState: NoData
|
||||
execErrState: Alerting
|
||||
for: 0s
|
||||
isPaused: false
|
||||
notification_settings:
|
||||
receiver: Test-Receiver
|
||||
@@ -94,3 +93,47 @@ groups:
|
||||
repeat_interval: 5m
|
||||
mute_time_intervals:
|
||||
- test-mute
|
||||
- title: recording rule
|
||||
data:
|
||||
- refId: query
|
||||
relativeTimeRange:
|
||||
from: 18000
|
||||
to: 10800
|
||||
datasourceUid: "000000002"
|
||||
model:
|
||||
expr: http_request_duration_microseconds_count
|
||||
hide: false
|
||||
interval: ""
|
||||
intervalMs: 1000
|
||||
legendFormat: ""
|
||||
maxDataPoints: 100
|
||||
refId: query
|
||||
- refId: reduced
|
||||
relativeTimeRange:
|
||||
from: 18000
|
||||
to: 10800
|
||||
datasourceUid: __expr__
|
||||
model:
|
||||
expression: query
|
||||
hide: false
|
||||
intervalMs: 1000
|
||||
maxDataPoints: 100
|
||||
reducer: mean
|
||||
refId: reduced
|
||||
type: reduce
|
||||
- refId: condition
|
||||
relativeTimeRange:
|
||||
from: 18000
|
||||
to: 10800
|
||||
datasourceUid: __expr__
|
||||
model:
|
||||
expression: $reduced > 10
|
||||
hide: false
|
||||
intervalMs: 1000
|
||||
maxDataPoints: 100
|
||||
refId: condition
|
||||
type: math
|
||||
isPaused: false
|
||||
record:
|
||||
metric: test_metric
|
||||
from: condition
|
||||
|
||||
@@ -119,6 +119,70 @@
|
||||
"mute_time_intervals":["test-mute"]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"grafana_alert": {
|
||||
"title": "recording rule",
|
||||
"data": [
|
||||
{
|
||||
"refId": "query",
|
||||
"queryType": "",
|
||||
"relativeTimeRange": {
|
||||
"from": 18000,
|
||||
"to": 10800
|
||||
},
|
||||
"datasourceUid": "000000002",
|
||||
"model": {
|
||||
"expr": "http_request_duration_microseconds_count",
|
||||
"hide": false,
|
||||
"interval": "",
|
||||
"intervalMs": 1000,
|
||||
"legendFormat": "",
|
||||
"maxDataPoints": 100,
|
||||
"refId": "query"
|
||||
}
|
||||
},
|
||||
{
|
||||
"refId": "reduced",
|
||||
"queryType": "",
|
||||
"relativeTimeRange": {
|
||||
"from": 18000,
|
||||
"to": 10800
|
||||
},
|
||||
"datasourceUid": "__expr__",
|
||||
"model": {
|
||||
"expression": "query",
|
||||
"hide": false,
|
||||
"intervalMs": 1000,
|
||||
"maxDataPoints": 100,
|
||||
"reducer": "mean",
|
||||
"refId": "reduced",
|
||||
"type": "reduce"
|
||||
}
|
||||
},
|
||||
{
|
||||
"refId": "condition",
|
||||
"queryType": "",
|
||||
"relativeTimeRange": {
|
||||
"from": 18000,
|
||||
"to": 10800
|
||||
},
|
||||
"datasourceUid": "__expr__",
|
||||
"model": {
|
||||
"expression": "$reduced > 10",
|
||||
"hide": false,
|
||||
"intervalMs": 1000,
|
||||
"maxDataPoints": 100,
|
||||
"refId": "condition",
|
||||
"type": "math"
|
||||
}
|
||||
}
|
||||
],
|
||||
"record": {
|
||||
"metric": "test_metric",
|
||||
"from": "condition"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user