18 lines
10 KiB
JSON
18 lines
10 KiB
JSON
{
|
|
"kind": "TemplateGroup",
|
|
"apiVersion": "notifications.alerting.grafana.app/v1beta1",
|
|
"metadata": {
|
|
"name": null,
|
|
"namespace": "default",
|
|
"uid": null,
|
|
"annotations": {
|
|
"grafana.com/provenance": "system"
|
|
}
|
|
},
|
|
"spec": {
|
|
"title": "Built-in Templates",
|
|
"content": "{{ define \"__alertmanager\" }}Alertmanager{{ end }}\n\n{{ define \"__alertmanagerURL\" }}{{.ExternalURL}}/#/alerts?receiver={{.Receiver | urlquery}}{{ end }}\n\n{{ define \"__description\" }}{{ end }}\n\n{{ define \"__subject\" }}[{{.Status | toUpper}}{{if eq .Status \"firing\"}}:{{.Alerts.Firing | len}}{{if gt (.Alerts.Resolved | len) 0}}, RESOLVED:{{.Alerts.Resolved | len}}{{end}}{{end}}] {{.GroupLabels.SortedPairs.Values | join \" \"}} {{if gt (len .CommonLabels) (len .GroupLabels)}}({{with .CommonLabels.Remove .GroupLabels.Names}}{{.Values | join \" \"}}{{end}}){{end}}{{ end }}\n\n{{ define \"__teams_text_alert_list\" }}{{range .}}\nValue: {{template \"__text_values_list\" .}}\nLabels:\n{{range .Labels.SortedPairs}} - {{.Name}} = {{.Value}}\n{{end}}\nAnnotations:\n{{range .Annotations.SortedPairs}} - {{.Name}} = {{.Value}}\n{{end}}\n{{if gt (len .GeneratorURL) 0}}Source: [{{.GeneratorURL}}]({{.GeneratorURL}})\n\n{{end}}{{if gt (len .SilenceURL) 0}}Silence: [{{.SilenceURL}}]({{.SilenceURL}})\n\n{{end}}{{if gt (len .DashboardURL) 0}}Dashboard: [{{.DashboardURL}}]({{.DashboardURL}})\n\n{{end}}{{if gt (len .PanelURL) 0}}Panel: [{{.PanelURL}}]({{.PanelURL}})\n\n{{end}}\n{{end}}{{ end }}\n\n{{ define \"__text_alert_list\" }}{{range .}}\nValue: {{template \"__text_values_list\" .}}\nLabels:\n{{range .Labels.SortedPairs}} - {{.Name}} = {{.Value}}\n{{end}}Annotations:\n{{range .Annotations.SortedPairs}} - {{.Name}} = {{.Value}}\n{{end}}{{if gt (len .GeneratorURL) 0}}Source: {{.GeneratorURL}}\n{{end}}{{if gt (len .SilenceURL) 0}}Silence: {{.SilenceURL}}\n{{end}}{{if gt (len .DashboardURL) 0}}Dashboard: {{.DashboardURL}}\n{{end}}{{if gt (len .PanelURL) 0}}Panel: {{.PanelURL}}\n{{end}}{{end}}{{ end }}\n\n{{ define \"__text_alert_list_markdown\" }}{{range .}}\nLabels:\n{{range .Labels.SortedPairs}} - {{.Name}} = {{.Value}}\n{{end}}\nAnnotations:\n{{range .Annotations.SortedPairs}} - {{.Name}} = {{.Value}}\n{{end}}\nSource: {{.GeneratorURL}}\n{{end}}\n{{ end }}\n\n{{ define \"__text_values_list\" }}{{if len .Values}}{{$first := true}}{{range $refID, $value := .Values}}{{if $first}}{{$first = false}}{{else}}, {{end}}{{$refID}}={{$value}}{{end}}{{else}}[no value]{{end}}{{ end }}\n\n{{ define \"default.message\" }}{{if gt (len .Alerts.Firing) 0}}**Firing**\n{{template \"__text_alert_list\" .Alerts.Firing}}{{if gt (len .Alerts.Resolved) 0}}\n\n{{end}}{{end}}{{if gt (len .Alerts.Resolved) 0}}**Resolved**\n{{template \"__text_alert_list\" .Alerts.Resolved}}{{end}}{{ end }}\n\n{{ define \"default.title\" }}{{template \"__subject\" .}}{{ end }}\n\n{{ define \"discord.default.message\" }}\n{{if gt (len .Alerts.Firing) 0}}\nAlerts Firing:\n{{template \"__text_alert_list\" .Alerts.Firing}}\n{{end}}\n{{if gt (len .Alerts.Resolved) 0}}\nAlerts Resolved:\n{{template \"__text_alert_list\" .Alerts.Resolved}}\n{{end}}\n{{ end }}\n\n{{ define \"discord.default.title\" }}{{template \"__subject\" .}}{{ end }}\n\n{{ define \"jira.default.description\" }}{{if gt (len .Alerts.Firing) 0}}# Alerts Firing:\n{{template \"__text_alert_list_markdown\" .Alerts.Firing}}{{end}}{{if gt (len .Alerts.Resolved) 0}}# Alerts Resolved:{{template \"__text_alert_list_markdown\" .Alerts.Resolved}}{{end}}{{ end }}\n\n{{ define \"jira.default.priority\" }}{{$priority := \"\"}}{{range .Alerts.Firing}}{{$severity := index .Labels \"severity\"}}{{if (eq $severity \"critical\")}}{{$priority = \"High\"}}{{else}}{{if (and (eq $severity \"warning\") (ne $priority \"High\"))}}{{$priority = \"Medium\"}}{{else}}{{if (and (eq $severity \"info\") (eq $priority \"\"))}}{{$priority = \"Low\"}}{{end}}{{end}}{{end}}{{end}}{{if eq $priority \"\"}}{{range .Alerts.Resolved}}{{$severity := index .Labels \"severity\"}}{{if (eq $severity \"critical\")}}{{$priority = \"High\"}}{{else}}{{if (and (eq $severity \"warning\") (ne $priority \"High\"))}}{{$priority = \"Medium\"}}{{else}}{{if (and (eq $severity \"info\") (eq $priority \"\"))}}{{$priority = \"Low\"}}{{end}}{{end}}{{end}}{{end}}{{end}}{{$priority}}{{ end }}\n\n{{ define \"jira.default.summary\" }}{{template \"__subject\" .}}{{ end }}\n\n{{ define \"msteams.default.summary\" }}{{template \"__subject\" .}}{{ end }}\n\n{{ define \"msteams.default.text\" }}\n{{if gt (len .Alerts.Firing) 0}}\n# Alerts Firing:\n{{template \"__text_alert_list_markdown\" .Alerts.Firing}}\n{{end}}\n{{if gt (len .Alerts.Resolved) 0}}\n# Alerts Resolved:\n{{template \"__text_alert_list_markdown\" .Alerts.Resolved}}\n{{end}}\n{{ end }}\n\n{{ define \"msteams.default.title\" }}{{template \"__subject\" .}}{{ end }}\n\n{{ define \"msteamsv2.default.text\" }}\n{{if gt (len .Alerts.Firing) 0}}\n# Alerts Firing:\n{{template \"__text_alert_list_markdown\" .Alerts.Firing}}\n{{end}}\n{{if gt (len .Alerts.Resolved) 0}}\n# Alerts Resolved:\n{{template \"__text_alert_list_markdown\" .Alerts.Resolved}}\n{{end}}\n{{ end }}\n\n{{ define \"msteamsv2.default.title\" }}{{template \"__subject\" .}}{{ end }}\n\n{{ define \"opsgenie.default.description\" }}{{.CommonAnnotations.SortedPairs.Values | join \" \"}}\n{{if gt (len .Alerts.Firing) 0}}Alerts Firing:\n{{template \"__text_alert_list\" .Alerts.Firing}}{{end}}\n{{if gt (len .Alerts.Resolved) 0}}Alerts Resolved:\n{{template \"__text_alert_list\" .Alerts.Resolved}}{{end}}{{ end }}\n\n{{ define \"opsgenie.default.message\" }}{{template \"__subject\" .}}{{ end }}\n\n{{ define \"opsgenie.default.source\" }}{{template \"__alertmanagerURL\" .}}{{ end }}\n\n{{ define \"pagerduty.default.client\" }}{{template \"__alertmanager\" .}}{{ end }}\n\n{{ define \"pagerduty.default.clientURL\" }}{{template \"__alertmanagerURL\" .}}{{ end }}\n\n{{ define \"pagerduty.default.description\" }}{{template \"__subject\" .}}{{ end }}\n\n{{ define \"pagerduty.default.instances\" }}{{template \"__text_alert_list\" .}}{{ end }}\n\n{{ define \"pushover.default.message\" }}{{.CommonAnnotations.SortedPairs.Values | join \" \"}}\n{{if gt (len .Alerts.Firing) 0}}\nAlerts Firing:\n{{template \"__text_alert_list\" .Alerts.Firing}}\n{{end}}\n{{if gt (len .Alerts.Resolved) 0}}\nAlerts Resolved:\n{{template \"__text_alert_list\" .Alerts.Resolved}}\n{{end}}\n{{ end }}\n\n{{ define \"pushover.default.title\" }}{{template \"__subject\" .}}{{ end }}\n\n{{ define \"pushover.default.url\" }}{{template \"__alertmanagerURL\" .}}{{ end }}\n\n{{ define \"slack.default.callbackid\" }}{{ end }}\n\n{{ define \"slack.default.fallback\" }}{{template \"slack.default.title\" .}} | {{template \"slack.default.titlelink\" .}}{{ end }}\n\n{{ define \"slack.default.footer\" }}Grafana{{if .AppVersion}} v{{.AppVersion}}{{end}}{{ end }}\n\n{{ define \"slack.default.iconemoji\" }}{{ end }}\n\n{{ define \"slack.default.iconurl\" }}{{ end }}\n\n{{ define \"slack.default.pretext\" }}{{ end }}\n\n{{ define \"slack.default.text\" }}{{ end }}\n\n{{ define \"slack.default.title\" }}{{template \"__subject\" .}}{{ end }}\n\n{{ define \"slack.default.titlelink\" }}{{template \"__alertmanagerURL\" .}}{{ end }}\n\n{{ define \"slack.default.username\" }}{{template \"__alertmanager\" .}}{{ end }}\n\n{{ define \"sns.default.message\" }}{{.CommonAnnotations.SortedPairs.Values | join \" \"}}\n{{if gt (len .Alerts.Firing) 0}}\nAlerts Firing:\n{{template \"__text_alert_list\" .Alerts.Firing}}\n{{end}}\n{{if gt (len .Alerts.Resolved) 0}}\nAlerts Resolved:\n{{template \"__text_alert_list\" .Alerts.Resolved}}\n{{end}}\n{{ end }}\n\n{{ define \"sns.default.subject\" }}{{template \"__subject\" .}}{{ end }}\n\n{{ define \"teams.default.message\" }}{{if gt (len .Alerts.Firing) 0}}**Firing**\n{{template \"__teams_text_alert_list\" .Alerts.Firing}}{{if gt (len .Alerts.Resolved) 0}}\n\n{{end}}{{end}}{{if gt (len .Alerts.Resolved) 0}}**Resolved**\n{{template \"__teams_text_alert_list\" .Alerts.Resolved}}{{end}}{{ end }}\n\n{{ define \"telegram.default.message\" }}\n{{if gt (len .Alerts.Firing) 0}}\nAlerts Firing:\n{{template \"__text_alert_list\" .Alerts.Firing}}\n{{end}}\n{{if gt (len .Alerts.Resolved) 0}}\nAlerts Resolved:\n{{template \"__text_alert_list\" .Alerts.Resolved}}\n{{end}}\n{{ end }}\n\n{{ define \"victorops.default.entity_display_name\" }}{{template \"__subject\" .}}{{ end }}\n\n{{ define \"victorops.default.monitoring_tool\" }}{{template \"__alertmanager\" .}}{{ end }}\n\n{{ define \"victorops.default.state_message\" }}{{.CommonAnnotations.SortedPairs.Values | join \" \"}}\n{{if gt (len .Alerts.Firing) 0}}Alerts Firing:\n{{template \"__text_alert_list\" .Alerts.Firing}}{{end}}\n{{if gt (len .Alerts.Resolved) 0}}Alerts Resolved:\n{{template \"__text_alert_list\" .Alerts.Resolved}}{{end}}{{ end }}\n\n{{ define \"webex.default.message\" }}{{.CommonAnnotations.SortedPairs.Values | join \" \"}}\n{{if gt (len .Alerts.Firing) 0}}\nAlerts Firing:\n{{template \"__text_alert_list\" .Alerts.Firing}}\n{{end}}\n{{if gt (len .Alerts.Resolved) 0}}\nAlerts Resolved:\n{{template \"__text_alert_list\" .Alerts.Resolved}}\n{{end}}\n{{ end }}\n\n{{ define \"webhook.default.payload\" }}{{coll.Dict \"receiver\" .Receiver \"status\" .Status \"alerts\" .Alerts \"groupLabels\" .GroupLabels \"commonLabels\" .CommonLabels \"commonAnnotations\" .CommonAnnotations \"externalURL\" .ExternalURL \"version\" \"1\" \"orgId\" (index .Alerts 0).OrgID \"truncatedAlerts\" .TruncatedAlerts \"groupKey\" .GroupKey \"state\" (tmpl.Exec \"webhook.default.payload.state\" .) \"title\" (tmpl.Exec \"default.title\" .) \"message\" (tmpl.Exec \"default.message\" .) | data.ToJSONPretty \" \"}}{{ end }}\n\n{{ define \"webhook.default.payload.state\" }}{{if eq .Status \"resolved\"}}ok{{else}}alerting{{end}}{{ end }}\n\n{{ define \"wechat.default.agent_id\" }}{{ end }}\n\n{{ define \"wechat.default.message\" }}{{template \"__subject\" .}}\n{{.CommonAnnotations.SortedPairs.Values | join \" \"}}\n{{if gt (len .Alerts.Firing) 0}}Alerts Firing:\n{{template \"__text_alert_list\" .Alerts.Firing}}{{end}}\n{{if gt (len .Alerts.Resolved) 0}}Alerts Resolved:\n{{template \"__text_alert_list\" .Alerts.Resolved}}{{end}}\nAlertmanagerUrl:\n{{template \"__alertmanagerURL\" .}}{{ end }}\n\n{{ define \"wechat.default.to_party\" }}{{ end }}\n\n{{ define \"wechat.default.to_tag\" }}{{ end }}\n\n{{ define \"wechat.default.to_user\" }}{{ end }}\n\n",
|
|
"kind": "grafana"
|
|
}
|
|
}
|