|
8 | 8 | {{ define "nm.subject" -}}{{- $rawStatus := .Status -}}{{- $severity := index .CommonLabels "severity" -}}{{- $status := "" -}}{{- $numAlerts := len .Alerts -}}{{- if eq $numAlerts 0 -}}Show nothing{{- else if eq $numAlerts 1 -}}{{- range .Alerts -}}{{- $alertType := .Labels.alerttype -}}{{- $alertName := .Labels.alertname -}}{{- $cluster := .Labels.cluster -}}{{- $node := .Labels.node -}}{{- $pod := .Labels.pod -}}{{- $namespace := .Labels.namespace -}}{{- if eq $rawStatus "firing" -}}{{- $status = "[FIRING]" -}}{{- else if eq $rawStatus "resolved" -}}{{- $status = "[RESOLVED]" -}}{{- else -}}{{- $status = "[UNKNOWN]" -}}{{- end -}}{{- $output := $status -}}{{- if $severity -}}{{- $output = printf "%s | severity=%s" $output $severity -}}{{- end -}}{{- if $alertType -}}{{- $output = printf "%s | alerttype=%s" $output $alertType -}}{{- end -}}{{- if $alertName -}}{{- $output = printf "%s | alertname=%s" $output $alertName -}}{{- end -}}{{- if $cluster -}}{{- $output = printf "%s | cluster=%s" $output $cluster -}}{{- end -}}{{- if $node -}}{{- $output = printf "%s | node=%s" $output $node -}}{{- end -}}{{- if $namespace -}}{{- $output = printf "%s | namespace=%s" $output $namespace -}}{{- end -}}{{- if $pod -}}{{- $output = printf "%s | pod=%s" $output $pod -}}{{- end -}}{{- $output -}}{{- end -}}{{- else -}}{{- $hasFiring := false -}}{{- $hasResolved := false -}}{{- range .Alerts -}}{{- if eq .Status "firing" -}}{{- $hasFiring = true -}}{{- end -}}{{- if eq .Status "resolved" -}}{{- $hasResolved = true -}}{{- end -}}{{- end -}}{{- if and $hasFiring $hasResolved -}}{{- $status = "[FIRING|RESOLVED]" -}}{{- else if $hasFiring -}}{{- $status = "[FIRING]" -}}{{- else if $hasResolved -}}{{- $status = "[RESOLVED]" -}}{{- else -}}{{- $status = "[UNKNOWN]" -}}{{- end -}}{{- $alertType := index .GroupLabels "alerttype" -}}{{- $alertName := index .GroupLabels "alertname" -}}{{- $cluster := index .GroupLabels "cluster" -}}{{- $namespace := index .GroupLabels "namespace" -}}{{- $node := index .GroupLabels "node" -}}{{- $output := $status -}}{{- if $severity -}}{{- $output = printf "%s | severity=%s" $output $severity -}}{{- end -}}{{- if $alertType -}}{{- $output = printf "%s | alerttype=%s" $output $alertType -}}{{- end -}}{{- if $alertName -}}{{- $output = printf "%s | alertname=%s" $output $alertName -}}{{- end -}}{{- if $cluster -}}{{- $output = printf "%s | cluster=%s" $output $cluster -}}{{- end -}}{{- if $namespace -}}{{- $output = printf "%s | namespace=%s" $output $namespace -}}{{- end -}}{{- if $node -}}{{- $output = printf "%s | node=%s" $output $node -}}{{- end -}}{{- $output -}}{{- end -}}{{- end -}} |
9 | 9 | {{ define "nm.default.text" }}{{ range .Alerts }}{{ template "nm.default.message" . }} |
10 | 10 | {{ range .Labels.SortedPairs }} {{ .Name | translate }}: {{ .Value }} |
11 | | - {{ end }}{{ range .Annotations.SortedPairs.Filter "runbook_url" "message" "summary" "summary_cn" }} {{ .Name | translate }}: {{ .Value }} |
| 11 | + {{ end }}{{ range .Annotations.SortedPairs.Filter "runbook_url" "message" "summary" "summary_cn" "summaryCn" }} {{ .Name | translate }}: {{ .Value }} |
12 | 12 | {{ end }} |
13 | 13 | {{ end }}{{- end }} |
14 | 14 |
|
15 | 15 | {{ define "nm.default.markdown" }}{{ range .Alerts }}### {{ template "nm.default.message" . }} |
16 | 16 | {{ range .Labels.SortedPairs }}- {{ .Name | translate }}: {{ .Value }} |
17 | | - {{ end }}{{ range .Annotations.SortedPairs.Filter "runbook_url" "message" "summary" "summary_cn" }}- {{ .Name | translate }}: {{ .Value }} |
| 17 | + {{ end }}{{ range .Annotations.SortedPairs.Filter "runbook_url" "message" "summary" "summary_cn" "summaryCn" }}- {{ .Name | translate }}: {{ .Value }} |
18 | 18 | {{ end }} |
19 | 19 | {{ end }}{{- end }} |
20 | 20 |
|
|
42 | 42 | ], |
43 | 43 | {{ end -}} |
44 | 44 | {{- if ne (len $alert.Annotations.SortedPairs.Filter) 0 -}} |
45 | | - {{- range $alert.Annotations.SortedPairs.Filter "runbook_url" "message" "summary" "summary_cn" -}} |
| 45 | + {{- range $alert.Annotations.SortedPairs.Filter "runbook_url" "message" "summary" "summary_cn" "summaryCn" -}} |
46 | 46 | [ |
47 | 47 | { |
48 | 48 | "tag": "text", |
|
63 | 63 | } |
64 | 64 | {{- end }} |
65 | 65 |
|
66 | | - {{ define "nm.feishu.text" }}{{ range .Alerts }}{{ template "nm.default.message" . }}{{ "\n" }}{{ range .Labels.SortedPairs }} {{ .Name | translate }}: {{ .Value }}{{ "\n" }}{{ end }}{{ range .Annotations.SortedPairs.Filter "runbook_url" "message" "summary" "summary_cn" }} {{ .Name | translate }}: {{ .Value }}{{ "\n" }}{{ end }}{{ "\n" }}{{ end }}{{- end }} |
| 66 | + {{ define "nm.feishu.text" }}{{ range .Alerts }}{{ template "nm.default.message" . }}{{ "\n" }}{{ range .Labels.SortedPairs }} {{ .Name | translate }}: {{ .Value }}{{ "\n" }}{{ end }}{{ range .Annotations.SortedPairs.Filter "runbook_url" "message" "summary" "summary_cn" "summaryCn" }} {{ .Name | translate }}: {{ .Value }}{{ "\n" }}{{ end }}{{ "\n" }}{{ end }}{{- end }} |
67 | 67 |
|
68 | 68 | {{ define "nm.default.html" }} |
69 | 69 | <html xmlns="http://www.w3.org/1999/xhtml" xmlns="http://www.w3.org/1999/xhtml" style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;"> |
|
82 | 82 | <td style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; box-sizing: border-box; font-size: 14px; vertical-align: top; margin: 0; padding: 0 0 20px;" valign="top"> |
83 | 83 | <strong style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;">{{ template "nm.default.message" . }}</strong><br style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;" /> |
84 | 84 | {{ range .Labels.SortedPairs }} {{ .Name | translate }}: {{ .Value }}<br style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;" />{{ end }} |
85 | | - {{ range .Annotations.SortedPairs.Filter "runbook_url" "message" "summary" "summary_cn" }} {{ .Name | translate }}: {{ .Value }}<br style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;" />{{ end }} |
| 85 | + {{ range .Annotations.SortedPairs.Filter "runbook_url" "message" "summary" "summary_cn" "summaryCn" }} {{ .Name | translate }}: {{ .Value }}<br style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; box-sizing: border-box; font-size: 14px; margin: 0;" />{{ end }} |
86 | 86 | </td> |
87 | 87 | </tr> |
88 | 88 | {{ end }} |
|
0 commit comments