mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
* add value to email template
* add value to default template
* update test string
* test: fix ngalert test suite
* test: run CI
Co-authored-by: gillesdemey <gilles.de.mey@gmail.com>
(cherry picked from commit 97978a7c02
)
Co-authored-by: Peter Holmberg <peterholmberg@users.noreply.github.com>
This commit is contained in:
parent
57ad07ae76
commit
a69b3ea212
@ -1,6 +1,11 @@
|
|||||||
[[Subject .Subject "[[.Title]]"]]
|
[[Subject .Subject "[[.Title]]"]]
|
||||||
|
|
||||||
[[ define "alert" ]]
|
[[ define "alert" ]]
|
||||||
|
<tr>
|
||||||
|
<td colspan="2" class="value">
|
||||||
|
<span class="value-heading">Value:</span> <span class="value-value">[[ .ValueString ]]</span>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
[[ if gt (len .Annotations.SortedPairs) 0 ]]
|
[[ if gt (len .Annotations.SortedPairs) 0 ]]
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan="2" class="annotations">
|
<td colspan="2" class="annotations">
|
||||||
@ -108,6 +113,16 @@
|
|||||||
margin: 0 10px 0 0;
|
margin: 0 10px 0 0;
|
||||||
padding: 5px 9px;
|
padding: 5px 9px;
|
||||||
}
|
}
|
||||||
|
.value {
|
||||||
|
font-size: 14px;
|
||||||
|
padding-top: 24px;
|
||||||
|
}
|
||||||
|
.value-heading {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
.value-value {
|
||||||
|
padding-left: 8px;
|
||||||
|
}
|
||||||
.annotations {
|
.annotations {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
padding: 24px 0 12px 0;
|
padding: 24px 0 12px 0;
|
||||||
|
@ -13,6 +13,7 @@ var DefaultTemplateString = `
|
|||||||
{{ define "__subject" }}[{{ .Status | toUpper }}{{ if eq .Status "firing" }}:{{ .Alerts.Firing | len }}{{ end }}] {{ .GroupLabels.SortedPairs.Values | join " " }} {{ if gt (len .CommonLabels) (len .GroupLabels) }}({{ with .CommonLabels.Remove .GroupLabels.Names }}{{ .Values | join " " }}{{ end }}){{ end }}{{ end }}
|
{{ define "__subject" }}[{{ .Status | toUpper }}{{ if eq .Status "firing" }}:{{ .Alerts.Firing | len }}{{ end }}] {{ .GroupLabels.SortedPairs.Values | join " " }} {{ if gt (len .CommonLabels) (len .GroupLabels) }}({{ with .CommonLabels.Remove .GroupLabels.Names }}{{ .Values | join " " }}{{ end }}){{ end }}{{ end }}
|
||||||
|
|
||||||
{{ define "__text_alert_list" }}{{ range . }}
|
{{ define "__text_alert_list" }}{{ range . }}
|
||||||
|
Value: {{ or .ValueString "<no value>" }}
|
||||||
Labels:
|
Labels:
|
||||||
{{ range .Labels.SortedPairs }} - {{ .Name }} = {{ .Value }}
|
{{ range .Labels.SortedPairs }} - {{ .Name }} = {{ .Value }}
|
||||||
{{ end }}Annotations:
|
{{ end }}Annotations:
|
||||||
@ -33,6 +34,7 @@ Labels:
|
|||||||
|
|
||||||
|
|
||||||
{{ define "__teams_text_alert_list" }}{{ range . }}
|
{{ define "__teams_text_alert_list" }}{{ range . }}
|
||||||
|
Value: {{ or .ValueString "<no value>" }}
|
||||||
Labels:
|
Labels:
|
||||||
{{ range .Labels.SortedPairs }} - {{ .Name }} = {{ .Value }}
|
{{ range .Labels.SortedPairs }} - {{ .Name }} = {{ .Value }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
@ -65,6 +67,7 @@ const TemplateForTestsString = `
|
|||||||
{{ define "__subject" }}[{{ .Status | toUpper }}{{ if eq .Status "firing" }}:{{ .Alerts.Firing | len }}{{ end }}] {{ .GroupLabels.SortedPairs.Values | join " " }} {{ if gt (len .CommonLabels) (len .GroupLabels) }}({{ with .CommonLabels.Remove .GroupLabels.Names }}{{ .Values | join " " }}{{ end }}){{ end }}{{ end }}
|
{{ define "__subject" }}[{{ .Status | toUpper }}{{ if eq .Status "firing" }}:{{ .Alerts.Firing | len }}{{ end }}] {{ .GroupLabels.SortedPairs.Values | join " " }} {{ if gt (len .CommonLabels) (len .GroupLabels) }}({{ with .CommonLabels.Remove .GroupLabels.Names }}{{ .Values | join " " }}{{ end }}){{ end }}{{ end }}
|
||||||
|
|
||||||
{{ define "__text_alert_list" }}{{ range . }}
|
{{ define "__text_alert_list" }}{{ range . }}
|
||||||
|
Value: {{ or .ValueString "<no value>" }}
|
||||||
Labels:
|
Labels:
|
||||||
{{ range .Labels.SortedPairs }} - {{ .Name }} = {{ .Value }}
|
{{ range .Labels.SortedPairs }} - {{ .Name }} = {{ .Value }}
|
||||||
{{ end }}Annotations:
|
{{ end }}Annotations:
|
||||||
|
@ -21,7 +21,7 @@ func TestDefaultTemplateString(t *testing.T) {
|
|||||||
Alert: model.Alert{
|
Alert: model.Alert{
|
||||||
Labels: model.LabelSet{"alertname": "alert1", "lbl1": "val1"},
|
Labels: model.LabelSet{"alertname": "alert1", "lbl1": "val1"},
|
||||||
Annotations: model.LabelSet{
|
Annotations: model.LabelSet{
|
||||||
"ann1": "annv1", "__dashboardUid__": "dbuid123", "__panelId__": "puid123",
|
"ann1": "annv1", "__dashboardUid__": "dbuid123", "__panelId__": "puid123", "__value_string__": "1234",
|
||||||
},
|
},
|
||||||
StartsAt: time.Now(),
|
StartsAt: time.Now(),
|
||||||
EndsAt: time.Now().Add(1 * time.Hour),
|
EndsAt: time.Now().Add(1 * time.Hour),
|
||||||
@ -30,7 +30,7 @@ func TestDefaultTemplateString(t *testing.T) {
|
|||||||
}, { // Firing without dashboard and panel ID.
|
}, { // Firing without dashboard and panel ID.
|
||||||
Alert: model.Alert{
|
Alert: model.Alert{
|
||||||
Labels: model.LabelSet{"alertname": "alert1", "lbl1": "val2"},
|
Labels: model.LabelSet{"alertname": "alert1", "lbl1": "val2"},
|
||||||
Annotations: model.LabelSet{"ann1": "annv2"},
|
Annotations: model.LabelSet{"ann1": "annv2", "__value_string__": "1234"},
|
||||||
StartsAt: time.Now(),
|
StartsAt: time.Now(),
|
||||||
EndsAt: time.Now().Add(2 * time.Hour),
|
EndsAt: time.Now().Add(2 * time.Hour),
|
||||||
GeneratorURL: "http://localhost/alert2",
|
GeneratorURL: "http://localhost/alert2",
|
||||||
@ -39,7 +39,7 @@ func TestDefaultTemplateString(t *testing.T) {
|
|||||||
Alert: model.Alert{
|
Alert: model.Alert{
|
||||||
Labels: model.LabelSet{"alertname": "alert1", "lbl1": "val3"},
|
Labels: model.LabelSet{"alertname": "alert1", "lbl1": "val3"},
|
||||||
Annotations: model.LabelSet{
|
Annotations: model.LabelSet{
|
||||||
"ann1": "annv3", "__dashboardUid__": "dbuid456", "__panelId__": "puid456",
|
"ann1": "annv3", "__dashboardUid__": "dbuid456", "__panelId__": "puid456", "__value_string__": "1234",
|
||||||
},
|
},
|
||||||
StartsAt: time.Now().Add(-1 * time.Hour),
|
StartsAt: time.Now().Add(-1 * time.Hour),
|
||||||
EndsAt: time.Now().Add(-30 * time.Minute),
|
EndsAt: time.Now().Add(-30 * time.Minute),
|
||||||
@ -48,7 +48,7 @@ func TestDefaultTemplateString(t *testing.T) {
|
|||||||
}, { // Resolved without dashboard and panel ID.
|
}, { // Resolved without dashboard and panel ID.
|
||||||
Alert: model.Alert{
|
Alert: model.Alert{
|
||||||
Labels: model.LabelSet{"alertname": "alert1", "lbl1": "val4"},
|
Labels: model.LabelSet{"alertname": "alert1", "lbl1": "val4"},
|
||||||
Annotations: model.LabelSet{"ann1": "annv4"},
|
Annotations: model.LabelSet{"ann1": "annv4", "__value_string__": "1234"},
|
||||||
StartsAt: time.Now().Add(-2 * time.Hour),
|
StartsAt: time.Now().Add(-2 * time.Hour),
|
||||||
EndsAt: time.Now().Add(-3 * time.Hour),
|
EndsAt: time.Now().Add(-3 * time.Hour),
|
||||||
GeneratorURL: "http://localhost/alert4",
|
GeneratorURL: "http://localhost/alert4",
|
||||||
@ -92,6 +92,7 @@ func TestDefaultTemplateString(t *testing.T) {
|
|||||||
templateString: `{{ template "default.message" .}}`,
|
templateString: `{{ template "default.message" .}}`,
|
||||||
expected: `**Firing**
|
expected: `**Firing**
|
||||||
|
|
||||||
|
Value: 1234
|
||||||
Labels:
|
Labels:
|
||||||
- alertname = alert1
|
- alertname = alert1
|
||||||
- lbl1 = val1
|
- lbl1 = val1
|
||||||
@ -102,6 +103,7 @@ Silence: http://localhost/grafana/alerting/silence/new?alertmanager=grafana&matc
|
|||||||
Dashboard: http://localhost/grafana/d/dbuid123
|
Dashboard: http://localhost/grafana/d/dbuid123
|
||||||
Panel: http://localhost/grafana/d/dbuid123?viewPanel=puid123
|
Panel: http://localhost/grafana/d/dbuid123?viewPanel=puid123
|
||||||
|
|
||||||
|
Value: 1234
|
||||||
Labels:
|
Labels:
|
||||||
- alertname = alert1
|
- alertname = alert1
|
||||||
- lbl1 = val2
|
- lbl1 = val2
|
||||||
@ -113,6 +115,7 @@ Silence: http://localhost/grafana/alerting/silence/new?alertmanager=grafana&matc
|
|||||||
|
|
||||||
**Resolved**
|
**Resolved**
|
||||||
|
|
||||||
|
Value: 1234
|
||||||
Labels:
|
Labels:
|
||||||
- alertname = alert1
|
- alertname = alert1
|
||||||
- lbl1 = val3
|
- lbl1 = val3
|
||||||
@ -123,6 +126,7 @@ Silence: http://localhost/grafana/alerting/silence/new?alertmanager=grafana&matc
|
|||||||
Dashboard: http://localhost/grafana/d/dbuid456
|
Dashboard: http://localhost/grafana/d/dbuid456
|
||||||
Panel: http://localhost/grafana/d/dbuid456?viewPanel=puid456
|
Panel: http://localhost/grafana/d/dbuid456?viewPanel=puid456
|
||||||
|
|
||||||
|
Value: 1234
|
||||||
Labels:
|
Labels:
|
||||||
- alertname = alert1
|
- alertname = alert1
|
||||||
- lbl1 = val4
|
- lbl1 = val4
|
||||||
@ -136,6 +140,7 @@ Silence: http://localhost/grafana/alerting/silence/new?alertmanager=grafana&matc
|
|||||||
templateString: `{{ template "teams.default.message" .}}`,
|
templateString: `{{ template "teams.default.message" .}}`,
|
||||||
expected: `**Firing**
|
expected: `**Firing**
|
||||||
|
|
||||||
|
Value: 1234
|
||||||
Labels:
|
Labels:
|
||||||
- alertname = alert1
|
- alertname = alert1
|
||||||
- lbl1 = val1
|
- lbl1 = val1
|
||||||
@ -153,6 +158,7 @@ Panel: http://localhost/grafana/d/dbuid123?viewPanel=puid123
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Value: 1234
|
||||||
Labels:
|
Labels:
|
||||||
- alertname = alert1
|
- alertname = alert1
|
||||||
- lbl1 = val2
|
- lbl1 = val2
|
||||||
@ -169,6 +175,7 @@ Silence: http://localhost/grafana/alerting/silence/new?alertmanager=grafana&matc
|
|||||||
|
|
||||||
**Resolved**
|
**Resolved**
|
||||||
|
|
||||||
|
Value: 1234
|
||||||
Labels:
|
Labels:
|
||||||
- alertname = alert1
|
- alertname = alert1
|
||||||
- lbl1 = val3
|
- lbl1 = val3
|
||||||
@ -186,6 +193,7 @@ Panel: http://localhost/grafana/d/dbuid456?viewPanel=puid456
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Value: 1234
|
||||||
Labels:
|
Labels:
|
||||||
- alertname = alert1
|
- alertname = alert1
|
||||||
- lbl1 = val4
|
- lbl1 = val4
|
||||||
|
@ -38,7 +38,7 @@ func TestDingdingNotifier(t *testing.T) {
|
|||||||
{
|
{
|
||||||
Alert: model.Alert{
|
Alert: model.Alert{
|
||||||
Labels: model.LabelSet{"alertname": "alert1", "lbl1": "val1"},
|
Labels: model.LabelSet{"alertname": "alert1", "lbl1": "val1"},
|
||||||
Annotations: model.LabelSet{"ann1": "annv1", "__dashboardUid__": "abcd", "__panelId__": "efgh"},
|
Annotations: model.LabelSet{"ann1": "annv1", "__dashboardUid__": "abcd", "__panelId__": "efgh", "__value_string__": "1234"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -46,7 +46,7 @@ func TestDingdingNotifier(t *testing.T) {
|
|||||||
"msgtype": "link",
|
"msgtype": "link",
|
||||||
"link": map[string]interface{}{
|
"link": map[string]interface{}{
|
||||||
"messageUrl": "dingtalk://dingtalkclient/page/link?pc_slide=false&url=http%3A%2F%2Flocalhost%2Falerting%2Flist",
|
"messageUrl": "dingtalk://dingtalkclient/page/link?pc_slide=false&url=http%3A%2F%2Flocalhost%2Falerting%2Flist",
|
||||||
"text": "**Firing**\n\nLabels:\n - alertname = alert1\n - lbl1 = val1\nAnnotations:\n - ann1 = annv1\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval1\nDashboard: http://localhost/d/abcd\nPanel: http://localhost/d/abcd?viewPanel=efgh\n",
|
"text": "**Firing**\n\nValue: 1234\nLabels:\n - alertname = alert1\n - lbl1 = val1\nAnnotations:\n - ann1 = annv1\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval1\nDashboard: http://localhost/d/abcd\nPanel: http://localhost/d/abcd?viewPanel=efgh\n",
|
||||||
"title": "[FIRING:1] (val1)",
|
"title": "[FIRING:1] (val1)",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -43,7 +43,7 @@ func TestDiscordNotifier(t *testing.T) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
expMsg: map[string]interface{}{
|
expMsg: map[string]interface{}{
|
||||||
"content": "**Firing**\n\nLabels:\n - alertname = alert1\n - lbl1 = val1\nAnnotations:\n - ann1 = annv1\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval1\nDashboard: http://localhost/d/abcd\nPanel: http://localhost/d/abcd?viewPanel=efgh\n",
|
"content": "**Firing**\n\nValue: <no value>\nLabels:\n - alertname = alert1\n - lbl1 = val1\nAnnotations:\n - ann1 = annv1\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval1\nDashboard: http://localhost/d/abcd\nPanel: http://localhost/d/abcd?viewPanel=efgh\n",
|
||||||
"embeds": []interface{}{map[string]interface{}{
|
"embeds": []interface{}{map[string]interface{}{
|
||||||
"color": 1.4037554e+07,
|
"color": 1.4037554e+07,
|
||||||
"footer": map[string]interface{}{
|
"footer": map[string]interface{}{
|
||||||
@ -115,7 +115,7 @@ func TestDiscordNotifier(t *testing.T) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
expMsg: map[string]interface{}{
|
expMsg: map[string]interface{}{
|
||||||
"content": "**Firing**\n\nLabels:\n - alertname = alert1\n - lbl1 = val1\nAnnotations:\n - ann1 = annv1\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval1\nDashboard: http://localhost/d/abcd\nPanel: http://localhost/d/abcd?viewPanel=efgh\n",
|
"content": "**Firing**\n\nValue: <no value>\nLabels:\n - alertname = alert1\n - lbl1 = val1\nAnnotations:\n - ann1 = annv1\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval1\nDashboard: http://localhost/d/abcd\nPanel: http://localhost/d/abcd?viewPanel=efgh\n",
|
||||||
"embeds": []interface{}{map[string]interface{}{
|
"embeds": []interface{}{map[string]interface{}{
|
||||||
"color": 1.4037554e+07,
|
"color": 1.4037554e+07,
|
||||||
"footer": map[string]interface{}{
|
"footer": map[string]interface{}{
|
||||||
|
@ -60,7 +60,7 @@ func TestGoogleChatNotifier(t *testing.T) {
|
|||||||
Widgets: []widget{
|
Widgets: []widget{
|
||||||
textParagraphWidget{
|
textParagraphWidget{
|
||||||
Text: text{
|
Text: text{
|
||||||
Text: "**Firing**\n\nLabels:\n - alertname = alert1\n - lbl1 = val1\nAnnotations:\n - ann1 = annv1\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval1\nDashboard: http://localhost/d/abcd\nPanel: http://localhost/d/abcd?viewPanel=efgh\n",
|
Text: "**Firing**\n\nValue: <no value>\nLabels:\n - alertname = alert1\n - lbl1 = val1\nAnnotations:\n - ann1 = annv1\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval1\nDashboard: http://localhost/d/abcd\nPanel: http://localhost/d/abcd?viewPanel=efgh\n",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
buttonWidget{
|
buttonWidget{
|
||||||
@ -119,7 +119,7 @@ func TestGoogleChatNotifier(t *testing.T) {
|
|||||||
Widgets: []widget{
|
Widgets: []widget{
|
||||||
textParagraphWidget{
|
textParagraphWidget{
|
||||||
Text: text{
|
Text: text{
|
||||||
Text: "**Firing**\n\nLabels:\n - alertname = alert1\n - lbl1 = val1\nAnnotations:\n - ann1 = annv1\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval1\n\nLabels:\n - alertname = alert1\n - lbl1 = val2\nAnnotations:\n - ann1 = annv2\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval2\n",
|
Text: "**Firing**\n\nValue: <no value>\nLabels:\n - alertname = alert1\n - lbl1 = val1\nAnnotations:\n - ann1 = annv1\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval1\n\nValue: <no value>\nLabels:\n - alertname = alert1\n - lbl1 = val2\nAnnotations:\n - ann1 = annv2\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval2\n",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
buttonWidget{
|
buttonWidget{
|
||||||
|
@ -53,7 +53,7 @@ func TestKafkaNotifier(t *testing.T) {
|
|||||||
"client": "Grafana",
|
"client": "Grafana",
|
||||||
"client_url": "http://localhost/alerting/list",
|
"client_url": "http://localhost/alerting/list",
|
||||||
"description": "[FIRING:1] (val1)",
|
"description": "[FIRING:1] (val1)",
|
||||||
"details": "**Firing**\n\nLabels:\n - alertname = alert1\n - lbl1 = val1\nAnnotations:\n - ann1 = annv1\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval1\nDashboard: http://localhost/d/abcd\nPanel: http://localhost/d/abcd?viewPanel=efgh\n",
|
"details": "**Firing**\n\nValue: <no value>\nLabels:\n - alertname = alert1\n - lbl1 = val1\nAnnotations:\n - ann1 = annv1\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval1\nDashboard: http://localhost/d/abcd\nPanel: http://localhost/d/abcd?viewPanel=efgh\n",
|
||||||
"incident_key": "6e3538104c14b583da237e9693b76debbc17f0f8058ef20492e5853096cf8733"
|
"incident_key": "6e3538104c14b583da237e9693b76debbc17f0f8058ef20492e5853096cf8733"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -88,7 +88,7 @@ func TestKafkaNotifier(t *testing.T) {
|
|||||||
"client": "Grafana",
|
"client": "Grafana",
|
||||||
"client_url": "http://localhost/alerting/list",
|
"client_url": "http://localhost/alerting/list",
|
||||||
"description": "[FIRING:2] ",
|
"description": "[FIRING:2] ",
|
||||||
"details": "**Firing**\n\nLabels:\n - alertname = alert1\n - lbl1 = val1\nAnnotations:\n - ann1 = annv1\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval1\n\nLabels:\n - alertname = alert1\n - lbl1 = val2\nAnnotations:\n - ann1 = annv2\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval2\n",
|
"details": "**Firing**\n\nValue: <no value>\nLabels:\n - alertname = alert1\n - lbl1 = val1\nAnnotations:\n - ann1 = annv1\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval1\n\nValue: <no value>\nLabels:\n - alertname = alert1\n - lbl1 = val2\nAnnotations:\n - ann1 = annv2\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval2\n",
|
||||||
"incident_key": "6e3538104c14b583da237e9693b76debbc17f0f8058ef20492e5853096cf8733"
|
"incident_key": "6e3538104c14b583da237e9693b76debbc17f0f8058ef20492e5853096cf8733"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -48,7 +48,7 @@ func TestLineNotifier(t *testing.T) {
|
|||||||
"Authorization": "Bearer sometoken",
|
"Authorization": "Bearer sometoken",
|
||||||
"Content-Type": "application/x-www-form-urlencoded;charset=UTF-8",
|
"Content-Type": "application/x-www-form-urlencoded;charset=UTF-8",
|
||||||
},
|
},
|
||||||
expMsg: "message=%5BFIRING%3A1%5D++%28val1%29%0Ahttp%3A%2Flocalhost%2Falerting%2Flist%0A%0A%2A%2AFiring%2A%2A%0A%0ALabels%3A%0A+-+alertname+%3D+alert1%0A+-+lbl1+%3D+val1%0AAnnotations%3A%0A+-+ann1+%3D+annv1%0ASilence%3A+http%3A%2F%2Flocalhost%2Falerting%2Fsilence%2Fnew%3Falertmanager%3Dgrafana%26matchers%3Dalertname%253Dalert1%252Clbl1%253Dval1%0ADashboard%3A+http%3A%2F%2Flocalhost%2Fd%2Fabcd%0APanel%3A+http%3A%2F%2Flocalhost%2Fd%2Fabcd%3FviewPanel%3Defgh%0A",
|
expMsg: "message=%5BFIRING%3A1%5D++%28val1%29%0Ahttp%3A%2Flocalhost%2Falerting%2Flist%0A%0A%2A%2AFiring%2A%2A%0A%0AValue%3A+%3Cno+value%3E%0ALabels%3A%0A+-+alertname+%3D+alert1%0A+-+lbl1+%3D+val1%0AAnnotations%3A%0A+-+ann1+%3D+annv1%0ASilence%3A+http%3A%2F%2Flocalhost%2Falerting%2Fsilence%2Fnew%3Falertmanager%3Dgrafana%26matchers%3Dalertname%253Dalert1%252Clbl1%253Dval1%0ADashboard%3A+http%3A%2F%2Flocalhost%2Fd%2Fabcd%0APanel%3A+http%3A%2F%2Flocalhost%2Fd%2Fabcd%3FviewPanel%3Defgh%0A",
|
||||||
expMsgError: nil,
|
expMsgError: nil,
|
||||||
}, {
|
}, {
|
||||||
name: "Multiple alerts",
|
name: "Multiple alerts",
|
||||||
@ -70,7 +70,7 @@ func TestLineNotifier(t *testing.T) {
|
|||||||
"Authorization": "Bearer sometoken",
|
"Authorization": "Bearer sometoken",
|
||||||
"Content-Type": "application/x-www-form-urlencoded;charset=UTF-8",
|
"Content-Type": "application/x-www-form-urlencoded;charset=UTF-8",
|
||||||
},
|
},
|
||||||
expMsg: "message=%5BFIRING%3A2%5D++%0Ahttp%3A%2Flocalhost%2Falerting%2Flist%0A%0A%2A%2AFiring%2A%2A%0A%0ALabels%3A%0A+-+alertname+%3D+alert1%0A+-+lbl1+%3D+val1%0AAnnotations%3A%0A+-+ann1+%3D+annv1%0ASilence%3A+http%3A%2F%2Flocalhost%2Falerting%2Fsilence%2Fnew%3Falertmanager%3Dgrafana%26matchers%3Dalertname%253Dalert1%252Clbl1%253Dval1%0A%0ALabels%3A%0A+-+alertname+%3D+alert1%0A+-+lbl1+%3D+val2%0AAnnotations%3A%0A+-+ann1+%3D+annv2%0ASilence%3A+http%3A%2F%2Flocalhost%2Falerting%2Fsilence%2Fnew%3Falertmanager%3Dgrafana%26matchers%3Dalertname%253Dalert1%252Clbl1%253Dval2%0A",
|
expMsg: "message=%5BFIRING%3A2%5D++%0Ahttp%3A%2Flocalhost%2Falerting%2Flist%0A%0A%2A%2AFiring%2A%2A%0A%0AValue%3A+%3Cno+value%3E%0ALabels%3A%0A+-+alertname+%3D+alert1%0A+-+lbl1+%3D+val1%0AAnnotations%3A%0A+-+ann1+%3D+annv1%0ASilence%3A+http%3A%2F%2Flocalhost%2Falerting%2Fsilence%2Fnew%3Falertmanager%3Dgrafana%26matchers%3Dalertname%253Dalert1%252Clbl1%253Dval1%0A%0AValue%3A+%3Cno+value%3E%0ALabels%3A%0A+-+alertname+%3D+alert1%0A+-+lbl1+%3D+val2%0AAnnotations%3A%0A+-+ann1+%3D+annv2%0ASilence%3A+http%3A%2F%2Flocalhost%2Falerting%2Fsilence%2Fnew%3Falertmanager%3Dgrafana%26matchers%3Dalertname%253Dalert1%252Clbl1%253Dval2%0A",
|
||||||
expMsgError: nil,
|
expMsgError: nil,
|
||||||
}, {
|
}, {
|
||||||
name: "Token missing",
|
name: "Token missing",
|
||||||
|
@ -46,7 +46,7 @@ func TestOpsgenieNotifier(t *testing.T) {
|
|||||||
},
|
},
|
||||||
expMsg: `{
|
expMsg: `{
|
||||||
"alias": "6e3538104c14b583da237e9693b76debbc17f0f8058ef20492e5853096cf8733",
|
"alias": "6e3538104c14b583da237e9693b76debbc17f0f8058ef20492e5853096cf8733",
|
||||||
"description": "[FIRING:1] (val1)\nhttp://localhost/alerting/list\n\n**Firing**\n\nLabels:\n - alertname = alert1\n - lbl1 = val1\nAnnotations:\n - ann1 = annv1\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval1\nDashboard: http://localhost/d/abcd\nPanel: http://localhost/d/abcd?viewPanel=efgh\n",
|
"description": "[FIRING:1] (val1)\nhttp://localhost/alerting/list\n\n**Firing**\n\nValue: <no value>\nLabels:\n - alertname = alert1\n - lbl1 = val1\nAnnotations:\n - ann1 = annv1\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval1\nDashboard: http://localhost/d/abcd\nPanel: http://localhost/d/abcd?viewPanel=efgh\n",
|
||||||
"details": {
|
"details": {
|
||||||
"url": "http://localhost/alerting/list"
|
"url": "http://localhost/alerting/list"
|
||||||
},
|
},
|
||||||
@ -71,7 +71,7 @@ func TestOpsgenieNotifier(t *testing.T) {
|
|||||||
},
|
},
|
||||||
expMsg: `{
|
expMsg: `{
|
||||||
"alias": "6e3538104c14b583da237e9693b76debbc17f0f8058ef20492e5853096cf8733",
|
"alias": "6e3538104c14b583da237e9693b76debbc17f0f8058ef20492e5853096cf8733",
|
||||||
"description": "[FIRING:1] (val1)\nhttp://localhost/alerting/list\n\n**Firing**\n\nLabels:\n - alertname = alert1\n - lbl1 = val1\nAnnotations:\n - ann1 = annv1\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval1\n",
|
"description": "[FIRING:1] (val1)\nhttp://localhost/alerting/list\n\n**Firing**\n\nValue: <no value>\nLabels:\n - alertname = alert1\n - lbl1 = val1\nAnnotations:\n - ann1 = annv1\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval1\n",
|
||||||
"details": {
|
"details": {
|
||||||
"url": "http://localhost/alerting/list"
|
"url": "http://localhost/alerting/list"
|
||||||
},
|
},
|
||||||
@ -96,7 +96,7 @@ func TestOpsgenieNotifier(t *testing.T) {
|
|||||||
},
|
},
|
||||||
expMsg: `{
|
expMsg: `{
|
||||||
"alias": "6e3538104c14b583da237e9693b76debbc17f0f8058ef20492e5853096cf8733",
|
"alias": "6e3538104c14b583da237e9693b76debbc17f0f8058ef20492e5853096cf8733",
|
||||||
"description": "[FIRING:1] (val1)\nhttp://localhost/alerting/list\n\n**Firing**\n\nLabels:\n - alertname = alert1\n - lbl1 = val1\nAnnotations:\n - ann1 = annv1\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval1\n",
|
"description": "[FIRING:1] (val1)\nhttp://localhost/alerting/list\n\n**Firing**\n\nValue: <no value>\nLabels:\n - alertname = alert1\n - lbl1 = val1\nAnnotations:\n - ann1 = annv1\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval1\n",
|
||||||
"details": {
|
"details": {
|
||||||
"alertname": "alert1",
|
"alertname": "alert1",
|
||||||
"lbl1": "val1",
|
"lbl1": "val1",
|
||||||
@ -128,7 +128,7 @@ func TestOpsgenieNotifier(t *testing.T) {
|
|||||||
},
|
},
|
||||||
expMsg: `{
|
expMsg: `{
|
||||||
"alias": "6e3538104c14b583da237e9693b76debbc17f0f8058ef20492e5853096cf8733",
|
"alias": "6e3538104c14b583da237e9693b76debbc17f0f8058ef20492e5853096cf8733",
|
||||||
"description": "[FIRING:2] \nhttp://localhost/alerting/list\n\n**Firing**\n\nLabels:\n - alertname = alert1\n - lbl1 = val1\nAnnotations:\n - ann1 = annv1\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval1\n\nLabels:\n - alertname = alert1\n - lbl1 = val2\nAnnotations:\n - ann1 = annv1\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval2\n",
|
"description": "[FIRING:2] \nhttp://localhost/alerting/list\n\n**Firing**\n\nValue: <no value>\nLabels:\n - alertname = alert1\n - lbl1 = val1\nAnnotations:\n - ann1 = annv1\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval1\n\nValue: <no value>\nLabels:\n - alertname = alert1\n - lbl1 = val2\nAnnotations:\n - ann1 = annv1\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval2\n",
|
||||||
"details": {
|
"details": {
|
||||||
"alertname": "alert1",
|
"alertname": "alert1",
|
||||||
"url": "http://localhost/alerting/list"
|
"url": "http://localhost/alerting/list"
|
||||||
|
@ -61,7 +61,7 @@ func TestPagerdutyNotifier(t *testing.T) {
|
|||||||
Component: "Grafana",
|
Component: "Grafana",
|
||||||
Group: "default",
|
Group: "default",
|
||||||
CustomDetails: map[string]string{
|
CustomDetails: map[string]string{
|
||||||
"firing": "\nLabels:\n - alertname = alert1\n - lbl1 = val1\nAnnotations:\n - ann1 = annv1\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval1\nDashboard: http://localhost/d/abcd\nPanel: http://localhost/d/abcd?viewPanel=efgh\n",
|
"firing": "\nValue: <no value>\nLabels:\n - alertname = alert1\n - lbl1 = val1\nAnnotations:\n - ann1 = annv1\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval1\nDashboard: http://localhost/d/abcd\nPanel: http://localhost/d/abcd?viewPanel=efgh\n",
|
||||||
"num_firing": "1",
|
"num_firing": "1",
|
||||||
"num_resolved": "0",
|
"num_resolved": "0",
|
||||||
"resolved": "",
|
"resolved": "",
|
||||||
@ -107,7 +107,7 @@ func TestPagerdutyNotifier(t *testing.T) {
|
|||||||
Component: "My Grafana",
|
Component: "My Grafana",
|
||||||
Group: "my_group",
|
Group: "my_group",
|
||||||
CustomDetails: map[string]string{
|
CustomDetails: map[string]string{
|
||||||
"firing": "\nLabels:\n - alertname = alert1\n - lbl1 = val1\nAnnotations:\n - ann1 = annv1\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval1\n\nLabels:\n - alertname = alert1\n - lbl1 = val2\nAnnotations:\n - ann1 = annv2\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval2\n",
|
"firing": "\nValue: <no value>\nLabels:\n - alertname = alert1\n - lbl1 = val1\nAnnotations:\n - ann1 = annv1\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval1\n\nValue: <no value>\nLabels:\n - alertname = alert1\n - lbl1 = val2\nAnnotations:\n - ann1 = annv2\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval2\n",
|
||||||
"num_firing": "2",
|
"num_firing": "2",
|
||||||
"num_resolved": "0",
|
"num_resolved": "0",
|
||||||
"resolved": "",
|
"resolved": "",
|
||||||
|
@ -61,7 +61,7 @@ func TestPushoverNotifier(t *testing.T) {
|
|||||||
"title": "[FIRING:1] (val1)",
|
"title": "[FIRING:1] (val1)",
|
||||||
"url": "http://localhost/alerting/list",
|
"url": "http://localhost/alerting/list",
|
||||||
"url_title": "Show alert rule",
|
"url_title": "Show alert rule",
|
||||||
"message": "**Firing**\n\nLabels:\n - alertname = alert1\n - lbl1 = val1\nAnnotations:\n - ann1 = annv1\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval1\nDashboard: http://localhost/d/abcd\nPanel: http://localhost/d/abcd?viewPanel=efgh\n",
|
"message": "**Firing**\n\nValue: <no value>\nLabels:\n - alertname = alert1\n - lbl1 = val1\nAnnotations:\n - ann1 = annv1\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval1\nDashboard: http://localhost/d/abcd\nPanel: http://localhost/d/abcd?viewPanel=efgh\n",
|
||||||
"html": "1",
|
"html": "1",
|
||||||
},
|
},
|
||||||
expMsgError: nil,
|
expMsgError: nil,
|
||||||
|
@ -59,7 +59,7 @@ func TestSensuGoNotifier(t *testing.T) {
|
|||||||
"ruleURL": "http://localhost/alerting/list",
|
"ruleURL": "http://localhost/alerting/list",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"output": "**Firing**\n\nLabels:\n - alertname = alert1\n - lbl1 = val1\nAnnotations:\n - ann1 = annv1\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval1\nDashboard: http://localhost/d/abcd\nPanel: http://localhost/d/abcd?viewPanel=efgh\n",
|
"output": "**Firing**\n\nValue: <no value>\nLabels:\n - alertname = alert1\n - lbl1 = val1\nAnnotations:\n - ann1 = annv1\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval1\nDashboard: http://localhost/d/abcd\nPanel: http://localhost/d/abcd?viewPanel=efgh\n",
|
||||||
"issued": time.Now().Unix(),
|
"issued": time.Now().Unix(),
|
||||||
"interval": 86400,
|
"interval": 86400,
|
||||||
"status": 2,
|
"status": 2,
|
||||||
|
@ -58,7 +58,7 @@ func TestSlackNotifier(t *testing.T) {
|
|||||||
{
|
{
|
||||||
Title: "[FIRING:1] (val1)",
|
Title: "[FIRING:1] (val1)",
|
||||||
TitleLink: "http://localhost/alerting/list",
|
TitleLink: "http://localhost/alerting/list",
|
||||||
Text: "**Firing**\n\nLabels:\n - alertname = alert1\n - lbl1 = val1\nAnnotations:\n - ann1 = annv1\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval1\nDashboard: http://localhost/d/abcd\nPanel: http://localhost/d/abcd?viewPanel=efgh\n",
|
Text: "**Firing**\n\nValue: <no value>\nLabels:\n - alertname = alert1\n - lbl1 = val1\nAnnotations:\n - ann1 = annv1\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval1\nDashboard: http://localhost/d/abcd\nPanel: http://localhost/d/abcd?viewPanel=efgh\n",
|
||||||
Fallback: "[FIRING:1] (val1)",
|
Fallback: "[FIRING:1] (val1)",
|
||||||
Fields: nil,
|
Fields: nil,
|
||||||
Footer: "Grafana v",
|
Footer: "Grafana v",
|
||||||
@ -93,7 +93,7 @@ func TestSlackNotifier(t *testing.T) {
|
|||||||
{
|
{
|
||||||
Title: "[FIRING:1] (val1)",
|
Title: "[FIRING:1] (val1)",
|
||||||
TitleLink: "http://localhost/alerting/list",
|
TitleLink: "http://localhost/alerting/list",
|
||||||
Text: "**Firing**\n\nLabels:\n - alertname = alert1\n - lbl1 = val1\nAnnotations:\n - ann1 = annv1\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval1\n",
|
Text: "**Firing**\n\nValue: <no value>\nLabels:\n - alertname = alert1\n - lbl1 = val1\nAnnotations:\n - ann1 = annv1\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval1\n",
|
||||||
Fallback: "[FIRING:1] (val1)",
|
Fallback: "[FIRING:1] (val1)",
|
||||||
Fields: nil,
|
Fields: nil,
|
||||||
Footer: "Grafana v",
|
Footer: "Grafana v",
|
||||||
@ -135,7 +135,7 @@ func TestSlackNotifier(t *testing.T) {
|
|||||||
{
|
{
|
||||||
Title: "2 firing, 0 resolved",
|
Title: "2 firing, 0 resolved",
|
||||||
TitleLink: "http://localhost/alerting/list",
|
TitleLink: "http://localhost/alerting/list",
|
||||||
Text: "**Firing**\n\nLabels:\n - alertname = alert1\n - lbl1 = val1\nAnnotations:\n - ann1 = annv1\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval1\n\nLabels:\n - alertname = alert1\n - lbl1 = val2\nAnnotations:\n - ann1 = annv2\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval2\n",
|
Text: "**Firing**\n\nValue: <no value>\nLabels:\n - alertname = alert1\n - lbl1 = val1\nAnnotations:\n - ann1 = annv1\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval1\n\nValue: <no value>\nLabels:\n - alertname = alert1\n - lbl1 = val2\nAnnotations:\n - ann1 = annv2\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval2\n",
|
||||||
Fallback: "2 firing, 0 resolved",
|
Fallback: "2 firing, 0 resolved",
|
||||||
Fields: nil,
|
Fields: nil,
|
||||||
Footer: "Grafana v",
|
Footer: "Grafana v",
|
||||||
|
@ -51,7 +51,7 @@ func TestTeamsNotifier(t *testing.T) {
|
|||||||
"sections": []map[string]interface{}{
|
"sections": []map[string]interface{}{
|
||||||
{
|
{
|
||||||
"title": "Details",
|
"title": "Details",
|
||||||
"text": "**Firing**\n\nLabels:\n - alertname = alert1\n - lbl1 = val1\nAnnotations:\n - ann1 = annv1\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval1\nDashboard: http://localhost/d/abcd\nPanel: http://localhost/d/abcd?viewPanel=efgh\n",
|
"text": "**Firing**\n\nValue: <no value>\nLabels:\n - alertname = alert1\n - lbl1 = val1\nAnnotations:\n - ann1 = annv1\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval1\nDashboard: http://localhost/d/abcd\nPanel: http://localhost/d/abcd?viewPanel=efgh\n",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"potentialAction": []map[string]interface{}{
|
"potentialAction": []map[string]interface{}{
|
||||||
|
@ -48,7 +48,7 @@ func TestTelegramNotifier(t *testing.T) {
|
|||||||
expMsg: map[string]string{
|
expMsg: map[string]string{
|
||||||
"chat_id": "someid",
|
"chat_id": "someid",
|
||||||
"parse_mode": "html",
|
"parse_mode": "html",
|
||||||
"text": "**Firing**\n\nLabels:\n - alertname = alert1\n - lbl1 = val1\nAnnotations:\n - ann1 = annv1\nSource: a URL\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval1\nDashboard: http://localhost/d/abcd\nPanel: http://localhost/d/abcd?viewPanel=efgh\n",
|
"text": "**Firing**\n\nValue: <no value>\nLabels:\n - alertname = alert1\n - lbl1 = val1\nAnnotations:\n - ann1 = annv1\nSource: a URL\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval1\nDashboard: http://localhost/d/abcd\nPanel: http://localhost/d/abcd?viewPanel=efgh\n",
|
||||||
},
|
},
|
||||||
expMsgError: nil,
|
expMsgError: nil,
|
||||||
}, {
|
}, {
|
||||||
@ -75,7 +75,7 @@ func TestTelegramNotifier(t *testing.T) {
|
|||||||
expMsg: map[string]string{
|
expMsg: map[string]string{
|
||||||
"chat_id": "someid",
|
"chat_id": "someid",
|
||||||
"parse_mode": "html",
|
"parse_mode": "html",
|
||||||
"text": "__Custom Firing__\n2 Firing\n\nLabels:\n - alertname = alert1\n - lbl1 = val1\nAnnotations:\n - ann1 = annv1\nSource: a URL\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval1\n\nLabels:\n - alertname = alert1\n - lbl1 = val2\nAnnotations:\n - ann1 = annv2\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval2\n",
|
"text": "__Custom Firing__\n2 Firing\n\nValue: <no value>\nLabels:\n - alertname = alert1\n - lbl1 = val1\nAnnotations:\n - ann1 = annv1\nSource: a URL\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval1\n\nValue: <no value>\nLabels:\n - alertname = alert1\n - lbl1 = val2\nAnnotations:\n - ann1 = annv2\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval2\n",
|
||||||
},
|
},
|
||||||
expMsgError: nil,
|
expMsgError: nil,
|
||||||
}, {
|
}, {
|
||||||
|
@ -47,7 +47,7 @@ func TestThreemaNotifier(t *testing.T) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
expMsg: "from=%2A1234567&secret=supersecret&text=%E2%9A%A0%EF%B8%8F+%5BFIRING%3A1%5D++%28val1%29%0A%0A%2AMessage%3A%2A%0A%2A%2AFiring%2A%2A%0A%0ALabels%3A%0A+-+alertname+%3D+alert1%0A+-+lbl1+%3D+val1%0AAnnotations%3A%0A+-+ann1+%3D+annv1%0ASilence%3A+http%3A%2F%2Flocalhost%2Falerting%2Fsilence%2Fnew%3Falertmanager%3Dgrafana%26matchers%3Dalertname%253Dalert1%252Clbl1%253Dval1%0ADashboard%3A+http%3A%2F%2Flocalhost%2Fd%2Fabcd%0APanel%3A+http%3A%2F%2Flocalhost%2Fd%2Fabcd%3FviewPanel%3Defgh%0A%0A%2AURL%3A%2A+http%3A%2Flocalhost%2Falerting%2Flist%0A&to=87654321",
|
expMsg: "from=%2A1234567&secret=supersecret&text=%E2%9A%A0%EF%B8%8F+%5BFIRING%3A1%5D++%28val1%29%0A%0A%2AMessage%3A%2A%0A%2A%2AFiring%2A%2A%0A%0AValue%3A+%3Cno+value%3E%0ALabels%3A%0A+-+alertname+%3D+alert1%0A+-+lbl1+%3D+val1%0AAnnotations%3A%0A+-+ann1+%3D+annv1%0ASilence%3A+http%3A%2F%2Flocalhost%2Falerting%2Fsilence%2Fnew%3Falertmanager%3Dgrafana%26matchers%3Dalertname%253Dalert1%252Clbl1%253Dval1%0ADashboard%3A+http%3A%2F%2Flocalhost%2Fd%2Fabcd%0APanel%3A+http%3A%2F%2Flocalhost%2Fd%2Fabcd%3FviewPanel%3Defgh%0A%0A%2AURL%3A%2A+http%3A%2Flocalhost%2Falerting%2Flist%0A&to=87654321",
|
||||||
expMsgError: nil,
|
expMsgError: nil,
|
||||||
}, {
|
}, {
|
||||||
name: "Multiple alerts",
|
name: "Multiple alerts",
|
||||||
@ -69,7 +69,7 @@ func TestThreemaNotifier(t *testing.T) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
expMsg: "from=%2A1234567&secret=supersecret&text=%E2%9A%A0%EF%B8%8F+%5BFIRING%3A2%5D++%0A%0A%2AMessage%3A%2A%0A%2A%2AFiring%2A%2A%0A%0ALabels%3A%0A+-+alertname+%3D+alert1%0A+-+lbl1+%3D+val1%0AAnnotations%3A%0A+-+ann1+%3D+annv1%0ASilence%3A+http%3A%2F%2Flocalhost%2Falerting%2Fsilence%2Fnew%3Falertmanager%3Dgrafana%26matchers%3Dalertname%253Dalert1%252Clbl1%253Dval1%0A%0ALabels%3A%0A+-+alertname+%3D+alert1%0A+-+lbl1+%3D+val2%0AAnnotations%3A%0A+-+ann1+%3D+annv2%0ASilence%3A+http%3A%2F%2Flocalhost%2Falerting%2Fsilence%2Fnew%3Falertmanager%3Dgrafana%26matchers%3Dalertname%253Dalert1%252Clbl1%253Dval2%0A%0A%2AURL%3A%2A+http%3A%2Flocalhost%2Falerting%2Flist%0A&to=87654321",
|
expMsg: "from=%2A1234567&secret=supersecret&text=%E2%9A%A0%EF%B8%8F+%5BFIRING%3A2%5D++%0A%0A%2AMessage%3A%2A%0A%2A%2AFiring%2A%2A%0A%0AValue%3A+%3Cno+value%3E%0ALabels%3A%0A+-+alertname+%3D+alert1%0A+-+lbl1+%3D+val1%0AAnnotations%3A%0A+-+ann1+%3D+annv1%0ASilence%3A+http%3A%2F%2Flocalhost%2Falerting%2Fsilence%2Fnew%3Falertmanager%3Dgrafana%26matchers%3Dalertname%253Dalert1%252Clbl1%253Dval1%0A%0AValue%3A+%3Cno+value%3E%0ALabels%3A%0A+-+alertname+%3D+alert1%0A+-+lbl1+%3D+val2%0AAnnotations%3A%0A+-+ann1+%3D+annv2%0ASilence%3A+http%3A%2F%2Flocalhost%2Falerting%2Fsilence%2Fnew%3Falertmanager%3Dgrafana%26matchers%3Dalertname%253Dalert1%252Clbl1%253Dval2%0A%0A%2AURL%3A%2A+http%3A%2Flocalhost%2Falerting%2Flist%0A&to=87654321",
|
||||||
expMsgError: nil,
|
expMsgError: nil,
|
||||||
}, {
|
}, {
|
||||||
name: "Invalid gateway id",
|
name: "Invalid gateway id",
|
||||||
|
@ -47,7 +47,7 @@ func TestVictoropsNotifier(t *testing.T) {
|
|||||||
"entity_id": "6e3538104c14b583da237e9693b76debbc17f0f8058ef20492e5853096cf8733",
|
"entity_id": "6e3538104c14b583da237e9693b76debbc17f0f8058ef20492e5853096cf8733",
|
||||||
"message_type": "CRITICAL",
|
"message_type": "CRITICAL",
|
||||||
"monitoring_tool": "Grafana v",
|
"monitoring_tool": "Grafana v",
|
||||||
"state_message": "**Firing**\n\nLabels:\n - alertname = alert1\n - lbl1 = val1\nAnnotations:\n - ann1 = annv1\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval1\nDashboard: http://localhost/d/abcd\nPanel: http://localhost/d/abcd?viewPanel=efgh\n"
|
"state_message": "**Firing**\n\nValue: <no value>\nLabels:\n - alertname = alert1\n - lbl1 = val1\nAnnotations:\n - ann1 = annv1\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval1\nDashboard: http://localhost/d/abcd\nPanel: http://localhost/d/abcd?viewPanel=efgh\n"
|
||||||
}`,
|
}`,
|
||||||
expMsgError: nil,
|
expMsgError: nil,
|
||||||
}, {
|
}, {
|
||||||
@ -72,7 +72,7 @@ func TestVictoropsNotifier(t *testing.T) {
|
|||||||
"entity_id": "6e3538104c14b583da237e9693b76debbc17f0f8058ef20492e5853096cf8733",
|
"entity_id": "6e3538104c14b583da237e9693b76debbc17f0f8058ef20492e5853096cf8733",
|
||||||
"message_type": "CRITICAL",
|
"message_type": "CRITICAL",
|
||||||
"monitoring_tool": "Grafana v",
|
"monitoring_tool": "Grafana v",
|
||||||
"state_message": "**Firing**\n\nLabels:\n - alertname = alert1\n - lbl1 = val1\nAnnotations:\n - ann1 = annv1\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval1\n\nLabels:\n - alertname = alert1\n - lbl1 = val2\nAnnotations:\n - ann1 = annv2\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval2\n"
|
"state_message": "**Firing**\n\nValue: <no value>\nLabels:\n - alertname = alert1\n - lbl1 = val1\nAnnotations:\n - ann1 = annv1\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval1\n\nValue: <no value>\nLabels:\n - alertname = alert1\n - lbl1 = val2\nAnnotations:\n - ann1 = annv2\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval2\n"
|
||||||
}`,
|
}`,
|
||||||
expMsgError: nil,
|
expMsgError: nil,
|
||||||
}, {
|
}, {
|
||||||
|
@ -89,7 +89,7 @@ func TestWebhookNotifier(t *testing.T) {
|
|||||||
GroupKey: "alertname",
|
GroupKey: "alertname",
|
||||||
Title: "[FIRING:1] (val1)",
|
Title: "[FIRING:1] (val1)",
|
||||||
State: "alerting",
|
State: "alerting",
|
||||||
Message: "**Firing**\n\nLabels:\n - alertname = alert1\n - lbl1 = val1\nAnnotations:\n - ann1 = annv1\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval1\nDashboard: http://localhost/d/abcd\nPanel: http://localhost/d/abcd?viewPanel=efgh\n",
|
Message: "**Firing**\n\nValue: <no value>\nLabels:\n - alertname = alert1\n - lbl1 = val1\nAnnotations:\n - ann1 = annv1\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval1\nDashboard: http://localhost/d/abcd\nPanel: http://localhost/d/abcd?viewPanel=efgh\n",
|
||||||
OrgID: orgID,
|
OrgID: orgID,
|
||||||
},
|
},
|
||||||
expMsgError: nil,
|
expMsgError: nil,
|
||||||
@ -167,7 +167,7 @@ func TestWebhookNotifier(t *testing.T) {
|
|||||||
TruncatedAlerts: 1,
|
TruncatedAlerts: 1,
|
||||||
Title: "[FIRING:2] ",
|
Title: "[FIRING:2] ",
|
||||||
State: "alerting",
|
State: "alerting",
|
||||||
Message: "**Firing**\n\nLabels:\n - alertname = alert1\n - lbl1 = val1\nAnnotations:\n - ann1 = annv1\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval1\n\nLabels:\n - alertname = alert1\n - lbl1 = val2\nAnnotations:\n - ann1 = annv2\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval2\n",
|
Message: "**Firing**\n\nValue: <no value>\nLabels:\n - alertname = alert1\n - lbl1 = val1\nAnnotations:\n - ann1 = annv1\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval1\n\nValue: <no value>\nLabels:\n - alertname = alert1\n - lbl1 = val2\nAnnotations:\n - ann1 = annv2\nSilence: http://localhost/alerting/silence/new?alertmanager=grafana&matchers=alertname%3Dalert1%2Clbl1%3Dval2\n",
|
||||||
OrgID: orgID,
|
OrgID: orgID,
|
||||||
},
|
},
|
||||||
expMsgError: nil,
|
expMsgError: nil,
|
||||||
|
@ -200,7 +200,8 @@ func (am *Alertmanager) TestReceivers(ctx context.Context, c apimodels.TestRecei
|
|||||||
func newTestAlert(c apimodels.TestReceiversConfigParams, startsAt, updatedAt time.Time) types.Alert {
|
func newTestAlert(c apimodels.TestReceiversConfigParams, startsAt, updatedAt time.Time) types.Alert {
|
||||||
var (
|
var (
|
||||||
defaultAnnotations = model.LabelSet{
|
defaultAnnotations = model.LabelSet{
|
||||||
"summary": "Notification test",
|
"summary": "Notification test",
|
||||||
|
"__value_string__": "[ metric='foo' labels={instance=bar} value=10 ]",
|
||||||
}
|
}
|
||||||
defaultLabels = model.LabelSet{
|
defaultLabels = model.LabelSet{
|
||||||
"alertname": "TestAlert",
|
"alertname": "TestAlert",
|
||||||
|
@ -120,7 +120,8 @@ func TestTestReceivers(t *testing.T) {
|
|||||||
expectedJSON := fmt.Sprintf(`{
|
expectedJSON := fmt.Sprintf(`{
|
||||||
"alert": {
|
"alert": {
|
||||||
"annotations": {
|
"annotations": {
|
||||||
"summary": "Notification test"
|
"summary": "Notification test",
|
||||||
|
"__value_string__": "[ metric='foo' labels={instance=bar} value=10 ]"
|
||||||
},
|
},
|
||||||
"labels": {
|
"labels": {
|
||||||
"alertname": "TestAlert",
|
"alertname": "TestAlert",
|
||||||
@ -202,7 +203,8 @@ func TestTestReceivers(t *testing.T) {
|
|||||||
expectedJSON := fmt.Sprintf(`{
|
expectedJSON := fmt.Sprintf(`{
|
||||||
"alert": {
|
"alert": {
|
||||||
"annotations": {
|
"annotations": {
|
||||||
"summary": "Notification test"
|
"summary": "Notification test",
|
||||||
|
"__value_string__": "[ metric='foo' labels={instance=bar} value=10 ]"
|
||||||
},
|
},
|
||||||
"labels": {
|
"labels": {
|
||||||
"alertname": "TestAlert",
|
"alertname": "TestAlert",
|
||||||
@ -292,7 +294,8 @@ func TestTestReceivers(t *testing.T) {
|
|||||||
expectedJSON := fmt.Sprintf(`{
|
expectedJSON := fmt.Sprintf(`{
|
||||||
"alert": {
|
"alert": {
|
||||||
"annotations": {
|
"annotations": {
|
||||||
"summary": "Notification test"
|
"summary": "Notification test",
|
||||||
|
"__value_string__": "[ metric='foo' labels={instance=bar} value=10 ]"
|
||||||
},
|
},
|
||||||
"labels": {
|
"labels": {
|
||||||
"alertname": "TestAlert",
|
"alertname": "TestAlert",
|
||||||
@ -395,7 +398,8 @@ func TestTestReceivers(t *testing.T) {
|
|||||||
expectedJSON := fmt.Sprintf(`{
|
expectedJSON := fmt.Sprintf(`{
|
||||||
"alert": {
|
"alert": {
|
||||||
"annotations": {
|
"annotations": {
|
||||||
"summary": "Notification test"
|
"summary": "Notification test",
|
||||||
|
"__value_string__": "[ metric='foo' labels={instance=bar} value=10 ]"
|
||||||
},
|
},
|
||||||
"labels": {
|
"labels": {
|
||||||
"alertname": "TestAlert",
|
"alertname": "TestAlert",
|
||||||
@ -461,7 +465,8 @@ func TestTestReceiversAlertCustomization(t *testing.T) {
|
|||||||
resp := postRequest(t, testReceiversURL, `{
|
resp := postRequest(t, testReceiversURL, `{
|
||||||
"alert": {
|
"alert": {
|
||||||
"annotations": {
|
"annotations": {
|
||||||
"annotation1": "value1"
|
"annotation1": "value1",
|
||||||
|
"__value_string__": "[ metric='foo' labels={instance=bar} value=10 ]"
|
||||||
},
|
},
|
||||||
"labels": {
|
"labels": {
|
||||||
"label1": "value1"
|
"label1": "value1"
|
||||||
@ -500,7 +505,8 @@ func TestTestReceiversAlertCustomization(t *testing.T) {
|
|||||||
"alert": {
|
"alert": {
|
||||||
"annotations": {
|
"annotations": {
|
||||||
"annotation1": "value1",
|
"annotation1": "value1",
|
||||||
"summary": "Notification test"
|
"summary": "Notification test",
|
||||||
|
"__value_string__": "[ metric='foo' labels={instance=bar} value=10 ]"
|
||||||
},
|
},
|
||||||
"labels": {
|
"labels": {
|
||||||
"alertname": "TestAlert",
|
"alertname": "TestAlert",
|
||||||
@ -556,7 +562,8 @@ func TestTestReceiversAlertCustomization(t *testing.T) {
|
|||||||
resp := postRequest(t, testReceiversURL, `{
|
resp := postRequest(t, testReceiversURL, `{
|
||||||
"alert": {
|
"alert": {
|
||||||
"annotations": {
|
"annotations": {
|
||||||
"summary": "This is a custom annotation"
|
"summary": "This is a custom annotation",
|
||||||
|
"__value_string__": "[ metric='foo' labels={instance=bar} value=10 ]"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"receivers": [{
|
"receivers": [{
|
||||||
@ -591,7 +598,8 @@ func TestTestReceiversAlertCustomization(t *testing.T) {
|
|||||||
expectedJSON := fmt.Sprintf(`{
|
expectedJSON := fmt.Sprintf(`{
|
||||||
"alert": {
|
"alert": {
|
||||||
"annotations": {
|
"annotations": {
|
||||||
"summary": "This is a custom annotation"
|
"summary": "This is a custom annotation",
|
||||||
|
"__value_string__": "[ metric='foo' labels={instance=bar} value=10 ]"
|
||||||
},
|
},
|
||||||
"labels": {
|
"labels": {
|
||||||
"alertname": "TestAlert",
|
"alertname": "TestAlert",
|
||||||
@ -681,7 +689,8 @@ func TestTestReceiversAlertCustomization(t *testing.T) {
|
|||||||
expectedJSON := fmt.Sprintf(`{
|
expectedJSON := fmt.Sprintf(`{
|
||||||
"alert": {
|
"alert": {
|
||||||
"annotations": {
|
"annotations": {
|
||||||
"summary": "Notification test"
|
"summary": "Notification test",
|
||||||
|
"__value_string__": "[ metric='foo' labels={instance=bar} value=10 ]"
|
||||||
},
|
},
|
||||||
"labels": {
|
"labels": {
|
||||||
"alertname": "This is a custom label",
|
"alertname": "This is a custom label",
|
||||||
@ -2140,7 +2149,7 @@ var expNonEmailNotifications = map[string][]string{
|
|||||||
{
|
{
|
||||||
"title": "[FIRING:1] SlackAlert2 ",
|
"title": "[FIRING:1] SlackAlert2 ",
|
||||||
"title_link": "http://localhost:3000/alerting/list",
|
"title_link": "http://localhost:3000/alerting/list",
|
||||||
"text": "**Firing**\n\nLabels:\n - alertname = SlackAlert2\nAnnotations:\nSource: http://localhost:3000/alerting/UID_SlackAlert2/edit\nSilence: http://localhost:3000/alerting/silence/new?alertmanager=grafana&matchers=alertname%%3DSlackAlert2\n",
|
"text": "**Firing**\n\nValue: [ var='A' labels={} value=1 ]\nLabels:\n - alertname = SlackAlert2\nAnnotations:\nSource: http://localhost:3000/alerting/UID_SlackAlert2/edit\nSilence: http://localhost:3000/alerting/silence/new?alertmanager=grafana&matchers=alertname%%3DSlackAlert2\n",
|
||||||
"fallback": "[FIRING:1] SlackAlert2 ",
|
"fallback": "[FIRING:1] SlackAlert2 ",
|
||||||
"footer": "Grafana v",
|
"footer": "Grafana v",
|
||||||
"footer_icon": "https://grafana.com/assets/img/fav32.png",
|
"footer_icon": "https://grafana.com/assets/img/fav32.png",
|
||||||
@ -2173,7 +2182,7 @@ var expNonEmailNotifications = map[string][]string{
|
|||||||
"component": "Integration Test",
|
"component": "Integration Test",
|
||||||
"group": "testgroup",
|
"group": "testgroup",
|
||||||
"custom_details": {
|
"custom_details": {
|
||||||
"firing": "\nLabels:\n - alertname = PagerdutyAlert\nAnnotations:\nSource: http://localhost:3000/alerting/UID_PagerdutyAlert/edit\nSilence: http://localhost:3000/alerting/silence/new?alertmanager=grafana&matchers=alertname%%3DPagerdutyAlert\n",
|
"firing": "\nValue: [ var='A' labels={} value=1 ]\nLabels:\n - alertname = PagerdutyAlert\nAnnotations:\nSource: http://localhost:3000/alerting/UID_PagerdutyAlert/edit\nSilence: http://localhost:3000/alerting/silence/new?alertmanager=grafana&matchers=alertname%%3DPagerdutyAlert\n",
|
||||||
"num_firing": "1",
|
"num_firing": "1",
|
||||||
"num_resolved": "0",
|
"num_resolved": "0",
|
||||||
"resolved": ""
|
"resolved": ""
|
||||||
@ -2193,7 +2202,7 @@ var expNonEmailNotifications = map[string][]string{
|
|||||||
`{
|
`{
|
||||||
"link": {
|
"link": {
|
||||||
"messageUrl": "dingtalk://dingtalkclient/page/link?pc_slide=false&url=http%3A%2F%2Flocalhost%3A3000%2Falerting%2Flist",
|
"messageUrl": "dingtalk://dingtalkclient/page/link?pc_slide=false&url=http%3A%2F%2Flocalhost%3A3000%2Falerting%2Flist",
|
||||||
"text": "**Firing**\n\nLabels:\n - alertname = DingDingAlert\nAnnotations:\nSource: http://localhost:3000/alerting/UID_DingDingAlert/edit\nSilence: http://localhost:3000/alerting/silence/new?alertmanager=grafana&matchers=alertname%3DDingDingAlert\n",
|
"text": "**Firing**\n\nValue: [ var='A' labels={} value=1 ]\nLabels:\n - alertname = DingDingAlert\nAnnotations:\nSource: http://localhost:3000/alerting/UID_DingDingAlert/edit\nSilence: http://localhost:3000/alerting/silence/new?alertmanager=grafana&matchers=alertname%3DDingDingAlert\n",
|
||||||
"title": "[FIRING:1] DingDingAlert "
|
"title": "[FIRING:1] DingDingAlert "
|
||||||
},
|
},
|
||||||
"msgtype": "link"
|
"msgtype": "link"
|
||||||
@ -2218,7 +2227,7 @@ var expNonEmailNotifications = map[string][]string{
|
|||||||
],
|
],
|
||||||
"sections": [
|
"sections": [
|
||||||
{
|
{
|
||||||
"text": "**Firing**\n\nLabels:\n - alertname = TeamsAlert\nAnnotations:\nSource: http://localhost:3000/alerting/UID_TeamsAlert/edit\nSilence: http://localhost:3000/alerting/silence/new?alertmanager=grafana&matchers=alertname%3DTeamsAlert\n",
|
"text": "**Firing**\n\nValue: [ var='A' labels={} value=1 ]\nLabels:\n - alertname = TeamsAlert\nAnnotations:\nSource: http://localhost:3000/alerting/UID_TeamsAlert/edit\nSilence: http://localhost:3000/alerting/silence/new?alertmanager=grafana&matchers=alertname%3DTeamsAlert\n",
|
||||||
"title": "Details"
|
"title": "Details"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@ -2262,12 +2271,12 @@ var expNonEmailNotifications = map[string][]string{
|
|||||||
"truncatedAlerts": 0,
|
"truncatedAlerts": 0,
|
||||||
"title": "[FIRING:1] WebhookAlert ",
|
"title": "[FIRING:1] WebhookAlert ",
|
||||||
"state": "alerting",
|
"state": "alerting",
|
||||||
"message": "**Firing**\n\nLabels:\n - alertname = WebhookAlert\nAnnotations:\nSource: http://localhost:3000/alerting/UID_WebhookAlert/edit\nSilence: http://localhost:3000/alerting/silence/new?alertmanager=grafana&matchers=alertname%%3DWebhookAlert\n"
|
"message": "**Firing**\n\nValue: [ var='A' labels={} value=1 ]\nLabels:\n - alertname = WebhookAlert\nAnnotations:\nSource: http://localhost:3000/alerting/UID_WebhookAlert/edit\nSilence: http://localhost:3000/alerting/silence/new?alertmanager=grafana&matchers=alertname%%3DWebhookAlert\n"
|
||||||
}`,
|
}`,
|
||||||
},
|
},
|
||||||
"discord_recv/discord_test": {
|
"discord_recv/discord_test": {
|
||||||
`{
|
`{
|
||||||
"content": "**Firing**\n\nLabels:\n - alertname = DiscordAlert\nAnnotations:\nSource: http://localhost:3000/alerting/UID_DiscordAlert/edit\nSilence: http://localhost:3000/alerting/silence/new?alertmanager=grafana&matchers=alertname%3DDiscordAlert\n",
|
"content": "**Firing**\n\nValue: [ var='A' labels={} value=1 ]\nLabels:\n - alertname = DiscordAlert\nAnnotations:\nSource: http://localhost:3000/alerting/UID_DiscordAlert/edit\nSilence: http://localhost:3000/alerting/silence/new?alertmanager=grafana&matchers=alertname%3DDiscordAlert\n",
|
||||||
"embeds": [
|
"embeds": [
|
||||||
{
|
{
|
||||||
"color": 14037554,
|
"color": 14037554,
|
||||||
@ -2295,7 +2304,7 @@ var expNonEmailNotifications = map[string][]string{
|
|||||||
},
|
},
|
||||||
"name": "default"
|
"name": "default"
|
||||||
},
|
},
|
||||||
"output": "**Firing**\n\nLabels:\n - alertname = SensuGoAlert\nAnnotations:\nSource: http://localhost:3000/alerting/UID_SensuGoAlert/edit\nSilence: http://localhost:3000/alerting/silence/new?alertmanager=grafana&matchers=alertname%%3DSensuGoAlert\n",
|
"output": "**Firing**\n\nValue: [ var='A' labels={} value=1 ]\nLabels:\n - alertname = SensuGoAlert\nAnnotations:\nSource: http://localhost:3000/alerting/UID_SensuGoAlert/edit\nSilence: http://localhost:3000/alerting/silence/new?alertmanager=grafana&matchers=alertname%%3DSensuGoAlert\n",
|
||||||
"status": 2
|
"status": 2
|
||||||
},
|
},
|
||||||
"entity": {
|
"entity": {
|
||||||
@ -2308,10 +2317,10 @@ var expNonEmailNotifications = map[string][]string{
|
|||||||
}`,
|
}`,
|
||||||
},
|
},
|
||||||
"pushover_recv/pushover_test": {
|
"pushover_recv/pushover_test": {
|
||||||
"--abcd\r\nContent-Disposition: form-data; name=\"user\"\r\n\r\nmysecretkey\r\n--abcd\r\nContent-Disposition: form-data; name=\"token\"\r\n\r\nmysecrettoken\r\n--abcd\r\nContent-Disposition: form-data; name=\"priority\"\r\n\r\n0\r\n--abcd\r\nContent-Disposition: form-data; name=\"sound\"\r\n\r\n\r\n--abcd\r\nContent-Disposition: form-data; name=\"title\"\r\n\r\n[FIRING:1] PushoverAlert \r\n--abcd\r\nContent-Disposition: form-data; name=\"url\"\r\n\r\nhttp://localhost:3000/alerting/list\r\n--abcd\r\nContent-Disposition: form-data; name=\"url_title\"\r\n\r\nShow alert rule\r\n--abcd\r\nContent-Disposition: form-data; name=\"message\"\r\n\r\n**Firing**\n\nLabels:\n - alertname = PushoverAlert\nAnnotations:\nSource: http://localhost:3000/alerting/UID_PushoverAlert/edit\nSilence: http://localhost:3000/alerting/silence/new?alertmanager=grafana&matchers=alertname%3DPushoverAlert\n\r\n--abcd\r\nContent-Disposition: form-data; name=\"html\"\r\n\r\n1\r\n--abcd--\r\n",
|
"--abcd\r\nContent-Disposition: form-data; name=\"user\"\r\n\r\nmysecretkey\r\n--abcd\r\nContent-Disposition: form-data; name=\"token\"\r\n\r\nmysecrettoken\r\n--abcd\r\nContent-Disposition: form-data; name=\"priority\"\r\n\r\n0\r\n--abcd\r\nContent-Disposition: form-data; name=\"sound\"\r\n\r\n\r\n--abcd\r\nContent-Disposition: form-data; name=\"title\"\r\n\r\n[FIRING:1] PushoverAlert \r\n--abcd\r\nContent-Disposition: form-data; name=\"url\"\r\n\r\nhttp://localhost:3000/alerting/list\r\n--abcd\r\nContent-Disposition: form-data; name=\"url_title\"\r\n\r\nShow alert rule\r\n--abcd\r\nContent-Disposition: form-data; name=\"message\"\r\n\r\n**Firing**\n\nValue: [ var='A' labels={} value=1 ]\nLabels:\n - alertname = PushoverAlert\nAnnotations:\nSource: http://localhost:3000/alerting/UID_PushoverAlert/edit\nSilence: http://localhost:3000/alerting/silence/new?alertmanager=grafana&matchers=alertname%3DPushoverAlert\n\r\n--abcd\r\nContent-Disposition: form-data; name=\"html\"\r\n\r\n1\r\n--abcd--\r\n",
|
||||||
},
|
},
|
||||||
"telegram_recv/bot6sh027hs034h": {
|
"telegram_recv/bot6sh027hs034h": {
|
||||||
"--abcd\r\nContent-Disposition: form-data; name=\"chat_id\"\r\n\r\ntelegram_chat_id\r\n--abcd\r\nContent-Disposition: form-data; name=\"parse_mode\"\r\n\r\nhtml\r\n--abcd\r\nContent-Disposition: form-data; name=\"text\"\r\n\r\n**Firing**\n\nLabels:\n - alertname = TelegramAlert\nAnnotations:\nSource: http://localhost:3000/alerting/UID_TelegramAlert/edit\nSilence: http://localhost:3000/alerting/silence/new?alertmanager=grafana&matchers=alertname%3DTelegramAlert\n\r\n--abcd--\r\n",
|
"--abcd\r\nContent-Disposition: form-data; name=\"chat_id\"\r\n\r\ntelegram_chat_id\r\n--abcd\r\nContent-Disposition: form-data; name=\"parse_mode\"\r\n\r\nhtml\r\n--abcd\r\nContent-Disposition: form-data; name=\"text\"\r\n\r\n**Firing**\n\nValue: [ var='A' labels={} value=1 ]\nLabels:\n - alertname = TelegramAlert\nAnnotations:\nSource: http://localhost:3000/alerting/UID_TelegramAlert/edit\nSilence: http://localhost:3000/alerting/silence/new?alertmanager=grafana&matchers=alertname%3DTelegramAlert\n\r\n--abcd--\r\n",
|
||||||
},
|
},
|
||||||
"googlechat_recv/googlechat_test": {
|
"googlechat_recv/googlechat_test": {
|
||||||
`{
|
`{
|
||||||
@ -2327,7 +2336,7 @@ var expNonEmailNotifications = map[string][]string{
|
|||||||
"widgets": [
|
"widgets": [
|
||||||
{
|
{
|
||||||
"textParagraph": {
|
"textParagraph": {
|
||||||
"text": "**Firing**\n\nLabels:\n - alertname = GoogleChatAlert\nAnnotations:\nSource: http://localhost:3000/alerting/UID_GoogleChatAlert/edit\nSilence: http://localhost:3000/alerting/silence/new?alertmanager=grafana&matchers=alertname%%3DGoogleChatAlert\n"
|
"text": "**Firing**\n\nValue: [ var='A' labels={} value=1 ]\nLabels:\n - alertname = GoogleChatAlert\nAnnotations:\nSource: http://localhost:3000/alerting/UID_GoogleChatAlert/edit\nSilence: http://localhost:3000/alerting/silence/new?alertmanager=grafana&matchers=alertname%%3DGoogleChatAlert\n"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -2365,7 +2374,7 @@ var expNonEmailNotifications = map[string][]string{
|
|||||||
"client": "Grafana",
|
"client": "Grafana",
|
||||||
"client_url": "http://localhost:3000/alerting/list",
|
"client_url": "http://localhost:3000/alerting/list",
|
||||||
"description": "[FIRING:1] KafkaAlert ",
|
"description": "[FIRING:1] KafkaAlert ",
|
||||||
"details": "**Firing**\n\nLabels:\n - alertname = KafkaAlert\nAnnotations:\nSource: http://localhost:3000/alerting/UID_KafkaAlert/edit\nSilence: http://localhost:3000/alerting/silence/new?alertmanager=grafana&matchers=alertname%3DKafkaAlert\n",
|
"details": "**Firing**\n\nValue: [ var='A' labels={} value=1 ]\nLabels:\n - alertname = KafkaAlert\nAnnotations:\nSource: http://localhost:3000/alerting/UID_KafkaAlert/edit\nSilence: http://localhost:3000/alerting/silence/new?alertmanager=grafana&matchers=alertname%3DKafkaAlert\n",
|
||||||
"incident_key": "35c0bdb1715f9162a20d7b2a01cb2e3a4c5b1dc663571701e3f67212b696332f"
|
"incident_key": "35c0bdb1715f9162a20d7b2a01cb2e3a4c5b1dc663571701e3f67212b696332f"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2373,10 +2382,10 @@ var expNonEmailNotifications = map[string][]string{
|
|||||||
}`,
|
}`,
|
||||||
},
|
},
|
||||||
"line_recv/line_test": {
|
"line_recv/line_test": {
|
||||||
`message=%5BFIRING%3A1%5D+LineAlert+%0Ahttp%3A%2Flocalhost%3A3000%2Falerting%2Flist%0A%0A%2A%2AFiring%2A%2A%0A%0ALabels%3A%0A+-+alertname+%3D+LineAlert%0AAnnotations%3A%0ASource%3A+http%3A%2F%2Flocalhost%3A3000%2Falerting%2FUID_LineAlert%2Fedit%0ASilence%3A+http%3A%2F%2Flocalhost%3A3000%2Falerting%2Fsilence%2Fnew%3Falertmanager%3Dgrafana%26matchers%3Dalertname%253DLineAlert%0A`,
|
`message=%5BFIRING%3A1%5D+LineAlert+%0Ahttp%3A%2Flocalhost%3A3000%2Falerting%2Flist%0A%0A%2A%2AFiring%2A%2A%0A%0AValue%3A+%5B+var%3D%27A%27+labels%3D%7B%7D+value%3D1+%5D%0ALabels%3A%0A+-+alertname+%3D+LineAlert%0AAnnotations%3A%0ASource%3A+http%3A%2F%2Flocalhost%3A3000%2Falerting%2FUID_LineAlert%2Fedit%0ASilence%3A+http%3A%2F%2Flocalhost%3A3000%2Falerting%2Fsilence%2Fnew%3Falertmanager%3Dgrafana%26matchers%3Dalertname%253DLineAlert%0A`,
|
||||||
},
|
},
|
||||||
"threema_recv/threema_test": {
|
"threema_recv/threema_test": {
|
||||||
`from=%2A1234567&secret=myapisecret&text=%E2%9A%A0%EF%B8%8F+%5BFIRING%3A1%5D+ThreemaAlert+%0A%0A%2AMessage%3A%2A%0A%2A%2AFiring%2A%2A%0A%0ALabels%3A%0A+-+alertname+%3D+ThreemaAlert%0AAnnotations%3A%0ASource%3A+http%3A%2F%2Flocalhost%3A3000%2Falerting%2FUID_ThreemaAlert%2Fedit%0ASilence%3A+http%3A%2F%2Flocalhost%3A3000%2Falerting%2Fsilence%2Fnew%3Falertmanager%3Dgrafana%26matchers%3Dalertname%253DThreemaAlert%0A%0A%2AURL%3A%2A+http%3A%2Flocalhost%3A3000%2Falerting%2Flist%0A&to=abcdefgh`,
|
`from=%2A1234567&secret=myapisecret&text=%E2%9A%A0%EF%B8%8F+%5BFIRING%3A1%5D+ThreemaAlert+%0A%0A%2AMessage%3A%2A%0A%2A%2AFiring%2A%2A%0A%0AValue%3A+%5B+var%3D%27A%27+labels%3D%7B%7D+value%3D1+%5D%0ALabels%3A%0A+-+alertname+%3D+ThreemaAlert%0AAnnotations%3A%0ASource%3A+http%3A%2F%2Flocalhost%3A3000%2Falerting%2FUID_ThreemaAlert%2Fedit%0ASilence%3A+http%3A%2F%2Flocalhost%3A3000%2Falerting%2Fsilence%2Fnew%3Falertmanager%3Dgrafana%26matchers%3Dalertname%253DThreemaAlert%0A%0A%2AURL%3A%2A+http%3A%2Flocalhost%3A3000%2Falerting%2Flist%0A&to=abcdefgh`,
|
||||||
},
|
},
|
||||||
"victorops_recv/victorops_test": {
|
"victorops_recv/victorops_test": {
|
||||||
`{
|
`{
|
||||||
@ -2385,14 +2394,14 @@ var expNonEmailNotifications = map[string][]string{
|
|||||||
"entity_id": "633ae988fa7074bcb51f3d1c5fef2ba1c5c4ccb45b3ecbf681f7d507b078b1ae",
|
"entity_id": "633ae988fa7074bcb51f3d1c5fef2ba1c5c4ccb45b3ecbf681f7d507b078b1ae",
|
||||||
"message_type": "CRITICAL",
|
"message_type": "CRITICAL",
|
||||||
"monitoring_tool": "Grafana v",
|
"monitoring_tool": "Grafana v",
|
||||||
"state_message": "**Firing**\n\nLabels:\n - alertname = VictorOpsAlert\nAnnotations:\nSource: http://localhost:3000/alerting/UID_VictorOpsAlert/edit\nSilence: http://localhost:3000/alerting/silence/new?alertmanager=grafana&matchers=alertname%%3DVictorOpsAlert\n",
|
"state_message": "**Firing**\n\nValue: [ var='A' labels={} value=1 ]\nLabels:\n - alertname = VictorOpsAlert\nAnnotations:\nSource: http://localhost:3000/alerting/UID_VictorOpsAlert/edit\nSilence: http://localhost:3000/alerting/silence/new?alertmanager=grafana&matchers=alertname%%3DVictorOpsAlert\n",
|
||||||
"timestamp": %s
|
"timestamp": %s
|
||||||
}`,
|
}`,
|
||||||
},
|
},
|
||||||
"opsgenie_recv/opsgenie_test": {
|
"opsgenie_recv/opsgenie_test": {
|
||||||
`{
|
`{
|
||||||
"alias": "47e92f0f6ef9fe99f3954e0d6155f8d09c4b9a038d8c3105e82c0cee4c62956e",
|
"alias": "47e92f0f6ef9fe99f3954e0d6155f8d09c4b9a038d8c3105e82c0cee4c62956e",
|
||||||
"description": "[FIRING:1] OpsGenieAlert \nhttp://localhost:3000/alerting/list\n\n**Firing**\n\nLabels:\n - alertname = OpsGenieAlert\nAnnotations:\nSource: http://localhost:3000/alerting/UID_OpsGenieAlert/edit\nSilence: http://localhost:3000/alerting/silence/new?alertmanager=grafana&matchers=alertname%3DOpsGenieAlert\n",
|
"description": "[FIRING:1] OpsGenieAlert \nhttp://localhost:3000/alerting/list\n\n**Firing**\n\nValue: [ var='A' labels={} value=1 ]\nLabels:\n - alertname = OpsGenieAlert\nAnnotations:\nSource: http://localhost:3000/alerting/UID_OpsGenieAlert/edit\nSilence: http://localhost:3000/alerting/silence/new?alertmanager=grafana&matchers=alertname%3DOpsGenieAlert\n",
|
||||||
"details": {
|
"details": {
|
||||||
"url": "http://localhost:3000/alerting/list"
|
"url": "http://localhost:3000/alerting/list"
|
||||||
},
|
},
|
||||||
|
@ -207,8 +207,13 @@ text-decoration: underline;
|
|||||||
{{Subject .Subject "{{.Title}}"}}
|
{{Subject .Subject "{{.Title}}"}}
|
||||||
|
|
||||||
{{ define "alert" }}
|
{{ define "alert" }}
|
||||||
|
</td></tr><tr style="vertical-align: top; padding: 0;" align="left">
|
||||||
|
<td colspan="2" class="value" style="word-break: break-word; -webkit-hyphens: auto; -moz-hyphens: auto; hyphens: auto; border-collapse: collapse !important; color: #222222; font-family: 'Open Sans', 'Helvetica Neue', 'Helvetica', Helvetica, Arial, sans-serif; font-weight: normal; line-height: 19px; font-size: 14px; -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: none; margin: 0; padding: 24px 0 0;" align="left" valign="top">
|
||||||
|
<span class="value-heading" style="font-weight: bold;">Value:</span> <span class="value-value" style="padding-left: 8px;">{{ .ValueString }}</span>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
{{ if gt (len .Annotations.SortedPairs) 0 }}
|
{{ if gt (len .Annotations.SortedPairs) 0 }}
|
||||||
</td></tr><tr style="vertical-align: top; padding: 0;" align="left">
|
<tr style="vertical-align: top; padding: 0;" align="left">
|
||||||
<td colspan="2" class="annotations" style="word-break: break-word; -webkit-hyphens: auto; -moz-hyphens: auto; hyphens: auto; border-collapse: collapse !important; color: #222222; font-family: 'Open Sans', 'Helvetica Neue', 'Helvetica', Helvetica, Arial, sans-serif; font-weight: normal; line-height: 19px; font-size: 14px; -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: none; margin: 0; padding: 24px 0 12px;" align="left" valign="top">
|
<td colspan="2" class="annotations" style="word-break: break-word; -webkit-hyphens: auto; -moz-hyphens: auto; hyphens: auto; border-collapse: collapse !important; color: #222222; font-family: 'Open Sans', 'Helvetica Neue', 'Helvetica', Helvetica, Arial, sans-serif; font-weight: normal; line-height: 19px; font-size: 14px; -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: none; margin: 0; padding: 24px 0 12px;" align="left" valign="top">
|
||||||
{{ range .Annotations.SortedPairs }}
|
{{ range .Annotations.SortedPairs }}
|
||||||
<p style="color: #222222; font-family: 'Open Sans', 'Helvetica Neue', 'Helvetica', Helvetica, Arial, sans-serif; font-weight: normal; line-height: 19px; font-size: 14px; -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: none; margin: 0 0 10px; padding: 0;" align="left"><span class="annotations-heading" style="font-weight: bold; text-transform: capitalize;">{{ .Name }}:</span> <span class="annotations-value" style="padding-left: 8px;">{{ .Value }}</span></p>
|
<p style="color: #222222; font-family: 'Open Sans', 'Helvetica Neue', 'Helvetica', Helvetica, Arial, sans-serif; font-weight: normal; line-height: 19px; font-size: 14px; -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: none; margin: 0 0 10px; padding: 0;" align="left"><span class="annotations-heading" style="font-weight: bold; text-transform: capitalize;">{{ .Name }}:</span> <span class="annotations-value" style="padding-left: 8px;">{{ .Value }}</span></p>
|
||||||
|
Loading…
Reference in New Issue
Block a user