diff --git a/prometheus-stack/alertmanager.yaml b/prometheus-stack/alertmanager.yaml
index 04c071b..9d2b00b 100644
--- a/prometheus-stack/alertmanager.yaml
+++ b/prometheus-stack/alertmanager.yaml
@@ -1,5 +1,10 @@
route:
receiver: default
+ routes:
+ - receiver: "null"
+ matchers:
+ - alertname="Watchdog"
receivers:
- name: default
+ - name: "null"
diff --git a/prometheus-stack/k8s/alertmanager-config.example.yaml b/prometheus-stack/k8s/alertmanager-config.example.yaml
index 5143129..8a9b957 100644
--- a/prometheus-stack/k8s/alertmanager-config.example.yaml
+++ b/prometheus-stack/k8s/alertmanager-config.example.yaml
@@ -1,3 +1,6 @@
+templates:
+ - "/etc/alertmanager/config/telegram.tmpl"
+
route:
receiver: telegram
group_by:
@@ -7,10 +10,10 @@ route:
group_interval: 5m
repeat_interval: 12h
routes:
- - receiver: null
+ - receiver: "null"
matchers:
- alertname="InfoInhibitor"
- - receiver: null
+ - receiver: "null"
matchers:
- alertname="Watchdog"
@@ -35,4 +38,5 @@ receivers:
chat_id: REPLACE_WITH_TELEGRAM_CHAT_ID
parse_mode: HTML
send_resolved: true
- - name: null
+ message: '{{ template "telegram.forust.message" . }}'
+ - name: "null"
diff --git a/prometheus-stack/k8s/alertmanager-telegram.tmpl b/prometheus-stack/k8s/alertmanager-telegram.tmpl
new file mode 100644
index 0000000..54d90a6
--- /dev/null
+++ b/prometheus-stack/k8s/alertmanager-telegram.tmpl
@@ -0,0 +1,44 @@
+{{- define "telegram.forust.message" -}}
+{{- $statusEmoji := "đ¨" -}}
+{{- if ne .Status "firing" -}}{{- $statusEmoji = "â
" -}}{{- end -}}
+{{- $count := len .Alerts.Firing -}}
+{{- if eq .Status "resolved" -}}{{- $count = len .Alerts.Resolved -}}{{- end -}}
+{{ $statusEmoji }} {{ .Status | toUpper }} ({{ $count }})
+{{- range .Alerts }}
+
+{{ .Labels.alertname }}
+{{- $sev := .Labels.severity }}
+{{- if eq $sev "critical" }} đĨ critical
+{{- else if eq $sev "warning" }} â ī¸ warning
+{{- else if eq $sev "info" }} âšī¸ info
+{{- else if $sev }} âĸ {{ $sev }}
+{{- end }}
+{{- if .Annotations.description }}
+
+{{ .Annotations.description }}
+{{- end }}
+{{- if .Labels.namespace }}
+đĻ Namespace: {{ .Labels.namespace }}
+{{- end }}
+{{- if .Labels.pod }}
+đĻ Pod: {{ .Labels.pod }}
+{{- end }}
+{{- if .Labels.container }}
+đŗ Container: {{ .Labels.container }}
+{{- end }}
+{{- if .Labels.node }}
+đĨ Node: {{ .Labels.node }}
+{{- end }}
+{{- if .Labels.instance }}
+đĨ Instance: {{ .Labels.instance }}
+{{- end }}
+{{- if .Labels.job }}
+đ§ Job: {{ .Labels.job }}
+{{- end }}
+{{- if eq .Status "firing" }}
+đ Since: {{ .StartsAt | date "2006-01-02 15:04 MST" }}
+{{- else }}
+đ Resolved: {{ .EndsAt | date "2006-01-02 15:04 MST" }}
+{{- end }}
+{{- end }}
+{{- end }}
\ No newline at end of file