Язык шаблонов оповещений
Шаблоны уведомлений и шаблоны правил оповещений, такие как аннотации и метки, используют один и тот же язык шаблонов Go, text/template.
Оба типа шаблонов могут использовать одни и те же ключевые слова, функции и операторы сравнения языка шаблонов Go, такие как range, if, and, index, eq и другие.
Однако важно отметить, что, поскольку уведомления и правила оповещений работают в разных контекстах, некоторые дополнительные переменные и функции доступны только для шаблонов уведомлений или только для шаблонов правил оповещений. См.:
Эта документация даёт обзор функций и операторов языка шаблонов Go, доступных как для шаблонов уведомлений, так и для шаблонов правил оповещений.
Чтобы вывести значение чего-либо, используйте {{ и }}. Вы можете вывести значение переменной, поле переменной, результат функции или значение dot.
{{ $values }}
{{ $values.A.Value }}
{{ humanize 1000.0 }}
{{ .Alerts }}
Dot
В text/template есть специальный курсор, называемый dot, записываемый как .. Этот курсор можно рассматривать как переменную, значение которой меняется в зависимости от места использования в шаблоне.
В начале шаблонов уведомлений dot (.) ссылается на
Notification Data.
{{ .Alerts }}
В шаблонах аннотаций и меток dot (.) инициализируется всеми данными оповещения. Вместо него рекомендуется использовать
переменные $labels и $values для прямого доступа к меткам оповещения и значениям запроса.
Note
Dot (
.) может ссылаться на что-то другое при использовании в range, with или при написании шаблонов, используемых в других шаблонах.
[ru] DOCS_SHARED: "docs/grafana/latest/alerting/configure-notifications/template-notifications/language.ru.md" ("/hugo/content/docs/grafana/latest/alerting/configure-notifications/template-notifications/language.ru.md:85:1") shared directory "docs/grafana/latest/shared" not found