알림 템플릿 언어

알림 템플릿 언어 (Template language)

Grafana 알림 템플릿은 Go의 text/template 언어를 기반으로 해요. 템플릿을 사용하면 알림 메시지에 알림 상태, 라벨, 값 등 데이터를 동적으로 삽입할 수 있어요. 이 문서는 알림 템플릿에서 사용하는 기본 문법과 데이터 구조를 다룹니다.

출처: 문서

본문

Grafana Alerting 템플릿은 Go 템플릿 언어(text/template)를 사용합니다. 이 언어는 변수, 조건, 반복, 함수를 지원해 유연한 알림 메시지를 만들 수 있게 합니다.

템플릿 데이터

템플릿에서 사용할 수 있는 기본 데이터는 . (dot)으로 참조합니다. 주요 데이터 구조는 다음과 같습니다.

  • Labels — 알림의 라벨 집합 (예: {{ .Labels.severity }})
  • Values — 알림 조건의 평가 값 (예: {{ .Values.B.value }})
  • Status — 알림 상태 (firing, resolved)
  • Alerts — 알림 인스턴스 목록

기본 문법

템플릿 지시어는 {{ }}로 감쌉니다.

변수 접근

{{ .Labels.alertname }}

조건문 (if)

{{ if eq .Status "firing" }}🔥 알림 발생{{ else }}✅ 해결{{ end }}

반복문 (range)

{{ range .Alerts }}
- {{ .Labels.alertname }}
{{ end }}

정의된 템플릿 호출

{{ template "default.title" . }}

define로 템플릿을 정의하고 template으로 호출할 수 있습니다.

함수

Grafana 템플릿에는 다음 함수가 내장되어 있습니다.

  • 문자열 함수title, upper, lower, trim, replace, trimSpace
  • 논리·비교 함수eq, ne, lt, gt, and, or, not
  • 숫자 함수add, sub, mul, div, mod
  • 기타humanize, toUpper, printf, date

이 중 일부 함수는 Prometheus/Alertmanager 템플릿에서 가져온 것이며, reReplaceAll, match 등의 함수도 사용할 수 있습니다.

기본 템플릿

Grafana에는 기본 제공 템플릿이 있습니다.

  • default.title — 알림 제목
  • default.message — 알림 본문
  • default.subject — 이메일 제목

이 템플릿들은 연락 지점에서 기본값으로 사용됩니다.

함수 목록

자세한 함수 목록과 사용법은 알림 템플릿 참조 문서를 참고하세요.

더 알아보기 (Learn more)