Источники
Установка Grafana описана в данной статье.
Настройка
Переходим в Alerting
-> Contact points
- http://host/alerting/notifications
Создаем новый поинт:
- Contact point type -
Telegram
- BOT API Token - Узнаем у BotFather
- Chat ID - Узнаем у этого или этого бота
Разворачиваем вкладку Optional Telegram settings
- Message -
{{ template "mymessage" . }}
Теперь создадим шаблон mymessage
, на который сослались. Нажимаем New template
.
- Template name -
mymessage
- Content:
1
2
3
4
5
6
7
8
9
10
|
{{ define "mymessage" }}
{{ if gt (len .Alerts.Firing) 0 }}
{{ len .Alerts.Firing }} firing:
{{ range .Alerts.Firing }} {{ template "myalert" .}} {{ end }}
{{ end }}
{{ if gt (len .Alerts.Resolved) 0 }}
{{ len .Alerts.Resolved }} resolved:
{{ range .Alerts.Resolved }} {{ template "myalert" .}} {{ end }}
{{ end }}
{{ end }}
|
По той же схеме создаем еще одни шаблон с именем myalert
и следующим содержимом:
1
2
3
4
5
6
7
8
9
10
11
|
{{ define "myalert" }}
<b>[{{.Status}}]</b> {{ .Labels.alertname }}
{{with .ValueString}}Metric: {{. | reReplaceAll `[, ]*\[ var=.C.*?\],*` "" | reReplaceAll `. labels=.*?value=` " = "| reReplaceAll `.var=.` ""}}{{ end }}
<b>Labels:</b> {{ range .Labels.SortedPairs }}
{{ .Name }}: {{ .Value }}{{ end }}
{{ if gt (len .Annotations) 0 }}
<b>Annotations:</b> {{ range .Annotations.SortedPairs }}
{{ .Name }}: {{ .Value }}{{ end }}
{{ end }}
{{ end }}
|