

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 알림 템플릿 생성
<a name="v10-alerting-create-templates"></a>

****  
이 설명서 주제는 **Grafana 버전 10.x**를 지원하는 Grafana 워크스페이스를 위해 설계되었습니다.  
Grafana 버전 9.x를 지원하는 Grafana 워크스페이스의 경우 [Grafana 버전 9에서 작업](using-grafana-v9.md) 섹션을 참조하세요.  
Grafana 버전 8.x를 지원하는 Grafana 워크스페이스의 경우 [Grafana 버전 8에서 작업](using-grafana-v8.md) 섹션을 참조하세요.

연락 지점으로 전송할 재사용 가능한 알림 템플릿을 생성합니다.

알림 템플릿에 하나 이상의 템플릿을 추가할 수 있습니다.

알림 템플릿 이름은 고유해야 합니다. 동일한 알림 템플릿 또는 다른 알림 템플릿에서 이름이 같은 두 개의 템플릿을 사용할 수 없습니다. `__subject`, `__text_values_list`, `__text_alert_list`, `default.title`, `default.message`와 같이 기본 템플릿과 이름이 같은 템플릿을 정의하지 마세요.

연락 지점 탭에서 알림 템플릿 목록을 볼 수 있습니다.

## 알림 템플릿 생성
<a name="v10-alerting-creating-templates"></a>

**알림 템플릿을 생성하는 방법**

1. **알림**, **연락 지점**을 선택하세요.

1. **알림 템플릿** 탭을 선택한 다음, **\$1 알림 템플릿 추가**를 선택하세요.

1. `email.subject`와 같은 알림 템플릿의 이름을 선택하세요.

1. 콘텐츠 필드에서 템플릿의 콘텐츠를 작성하세요.

   예제:

   ```
   {{ if .Alerts.Firing -}}
      {{ len .Alerts.Firing }} firing alerts
      {{ end }}
      {{ if .Alerts.Resolved -}}
      {{ len .Alerts.Resolved }} resolved alerts
      {{ end }}
   ```

1. 변경 내용을 저장합니다.

   `{{ define "email.subject" }}`(여기서 `email.subject`는 템플릿의 이름임) 및 `{{ end }}`는 콘텐츠의 시작과 끝에 자동으로 추가됩니다.

**둘 이상의 템플릿이 포함된 알림 템플릿을 생성하는 방법**

1. **알림**, **연락 지점**을 선택하세요.

1. **알림 템플릿** 탭을 선택한 다음, **\$1 알림 템플릿 추가**를 선택하세요.

1. 전체 알림 템플릿의 이름을 입력하세요. 예를 들어 `email`입니다.

1. 각 템플릿의 시작과 끝에 있는 `{{ define "name-of-template" }}` 및 `{{ end }}`를 포함하여 콘텐츠 필드에서 각 템플릿을 작성하세요. 알림 템플릿의 각 템플릿에 대해 설명이 포함된 이름(예: `email.subject` 또는 `email.message`)을 사용할 수 있습니다. 이 경우 위에 입력한 알림 템플릿의 이름을 재사용하지 마세요.

   이후 섹션에서는 생성할 수 있는 템플릿에 대한 자세한 예제를 보여줍니다.

1. 저장을 클릭합니다.

## 알림 템플릿 미리 보기
<a name="v10-alerting-preview-templates"></a>

알림 템플릿을 연락 지점에서 사용하기 전에 모양을 미리 살펴보고, 생성 중인 템플릿의 결과를 이해하며, 템플릿을 저장하기 전에 오류를 수정할 수 있는 기회를 제공합니다.

**참고**  
알림 미리 보기는 Grafana Alertmanager에서만 사용할 수 있습니다.

**알림 템플릿을 미리 보는 방법**

1. **알림**, **연락 지점**을 선택하세요.

1. **알림 템플릿** 탭을 선택한 다음, **\$1 알림 템플릿 추가**를 선택하거나 기존 템플릿을 편집하세요.

1. 템플릿 콘텐츠를 추가하거나 업데이트하세요.

   기본 데이터가 제공되며, 알림 인스턴스뿐만 아니라 알림 데이터를 추가하거나 편집할 수 있습니다. 페이로드 데이터 창에서 직접 알림 데이터를 추가하거나 **알림 인스턴스 선택** 또는 **사용자 지정 알림 추가**를 클릭할 수 있습니다.

1. [선택 사항] 기존 알림 인스턴스에서 알림 데이터를 추가하는 방법:

   1. **알림 인스턴스 선택**을 선택하세요.

   1. 각 알림 인스턴스에 대한 자세한 내용을 보려면 알림 인스턴스 위로 마우스를 가져가세요.

   1. **확인**을 선택하여 알림 인스턴스를 페이로드에 추가하세요.

1. [선택 사항] 알림 데이터 편집기를 사용하여 알림 데이터를 추가하려면 **사용자 지정 데이터 추가**를 선택하세요.

   1. 주석, 사용자 지정 레이블을 추가하거나 대시보드 또는 패널을 설정하세요.

   1. 알림에 실행 알림 또는 해결된 알림을 추가할지 여부에 따라 실행 알림 또는 해결된 알림을 전환하세요.

   1. **알림 데이터 추가**를 선택하세요.

   1. **미리 보기 새로 고침**을 선택하여 템플릿 콘텐츠의 모양과 해당 페이로드 데이터를 확인하세요.

   템플릿에 오류가 있는 경우 미리 보기에 오류가 표시되고 저장하기 전에 수정할 수 있습니다.

1. 변경 내용을 저장합니다.

## 메시지 제목에 대한 템플릿 생성
<a name="v10-alerting-create-template-subject"></a>

이 예제와 같이 실행 알림 및 해결된 알림 수가 포함된 이메일 제목에 대한 템플릿을 생성합니다.

```
1 firing alerts, 0 resolved alerts
```

**이메일 제목에 대한 템플릿을 생성하는 방법**

1. 다음 콘텐츠로 `email.subject`라는 템플릿을 생성하세요.

   ```
   {{ define "email.subject" }}
   {{ len .Alerts.Firing }} firing alerts, {{ len .Alerts.Resolved }} resolved alerts
   {{ end }}
   ```

1. `template` 키워드를 **제목** 필드에 입력하여 연락 지점 통합을 생성할 때 템플릿을 사용하세요.

   ```
   {{ template "email.subject" . }}
   ```

## 이메일 메시지에 대한 템플릿 생성
<a name="v10-alerting-create-template-message"></a>

이 예제와 같이 모든 실행 알림 및 해결된 알림의 요약이 포함된 이메일 메시지 템플릿을 생성합니다.

```
There are 2 firing alerts, and 1 resolved alerts

Firing alerts:

- alertname=Test 1 grafana_folder=GrafanaCloud has value(s) B=1
- alertname=Test 2 grafana_folder=GrafanaCloud has value(s) B=2

Resolved alerts:

- alertname=Test 3 grafana_folder=GrafanaCloud has value(s) B=0
```

**이메일 메시지에 대한 템플릿을 생성하는 방법**

1. 콘텐츠에 두 개의 템플릿(`email.message_alert` 및 `email.message`)을 포함하는 `email` 알림 템플릿을 생성하세요.

   `email.message_alert` 템플릿은 각 실행 알림과 해결된 알림에 대한 레이블 및 값을 인쇄하는 데 사용되고, `email.message` 템플릿은 이메일 구조를 포함합니다.

   ```
   {{- define "email.message_alert" -}}
   {{- range .Labels.SortedPairs }}{{ .Name }}={{ .Value }} {{ end }} has value(s)
   {{- range $k, $v := .Values }} {{ $k }}={{ $v }}{{ end }}
   {{- end -}}
   
   {{ define "email.message" }}
   There are {{ len .Alerts.Firing }} firing alerts, and {{ len .Alerts.Resolved }} resolved alerts
   
   {{ if .Alerts.Firing -}}
   Firing alerts:
   {{- range .Alerts.Firing }}
   - {{ template "email.message_alert" . }}
   {{- end }}
   {{- end }}
   
   {{ if .Alerts.Resolved -}}
   Resolved alerts:
   {{- range .Alerts.Resolved }}
   - {{ template "email.message_alert" . }}
   {{- end }}
   {{- end }}
   
   {{ end }}
   ```

1. `template` 키워드를 **텍스트 본문** 필드에 입력하여 연락 지점 통합을 생성할 때 템플릿을 사용하세요.

   ```
   {{ template "email.message" . }}
   ```

## Slack 메시지 제목에 대한 템플릿 생성
<a name="v10-alerting-create-template-slack-title"></a>

다음 예제와 같이 실행 알림 및 해결된 알림 수를 포함하는 Slack 메시지의 제목에 대한 템플릿을 생성합니다.

```
1 firing alerts, 0 resolved alerts
```

**Slack 메시지 제목에 대한 템플릿을 생성하는 방법**

1. 다음 콘텐츠로 `slack.title`라는 템플릿을 생성하세요.

   ```
   {{ define "slack.title" }}
   {{ len .Alerts.Firing }} firing alerts, {{ len .Alerts.Resolved }} resolved alerts
   {{ end }}
   ```

1. 연락 지점 통합의 제목 필드에서 템플릿을 실행하세요.

   ```
   {{ template "slack.title" . }}
   ```

## Slack 메시지 콘텐츠에 대한 템플릿 생성
<a name="v10-alerting-create-template-slack-message"></a>

레이블, 주석 및 대시보드 URL을 포함하여 모든 실행 알림 및 해결된 알림에 대한 설명이 포함된 Slack 메시지의 콘텐츠에 대한 템플릿을 생성합니다.

**참고**  
이 템플릿은 Grafana 관리형 알림 전용입니다. 데이터 소스 관리형 알림에 템플릿을 사용하려면 DashboardURL 및 SilenceURL에 대한 참조를 삭제하세요. Prometheus 알림 구성에 대한 자세한 내용은 [알림에 대한 Prometheus 설명서](https://prometheus.io/docs/alerting/latest/notifications/)를 참조하세요.

```
1 firing alerts:

[firing] Test1
Labels:
- alertname: Test1
- grafana_folder: GrafanaCloud
Annotations:
- description: This is a test alert
Go to dashboard: https://example.com/d/dlhdLqF4z?orgId=1

1 resolved alerts:

[firing] Test2
Labels:
- alertname: Test2
- grafana_folder: GrafanaCloud
Annotations:
- description: This is another test alert
Go to dashboard: https://example.com/d/dlhdLqF4z?orgId=1
```

**Slack 메시지 콘텐츠에 대한 템플릿을 생성하는 방법**

1. 콘텐츠에 두 개의 템플릿(`slack.print_alert` 및 `slack.message`)을 포함하는 `slack` 템플릿을 생성하세요.

   `slack.print_alert` 템플릿은 레이블, 주석 및 DashboardURL을 인쇄하는 데 사용되는 반면 `slack.message` 템플릿에는 알림 구조가 포함되어 있습니다.

   ```
   {{ define "slack.print_alert" -}}
   [{{.Status}}] {{ .Labels.alertname }}
   Labels:
   {{ range .Labels.SortedPairs -}}
   - {{ .Name }}: {{ .Value }}
   {{ end -}}
   {{ if .Annotations -}}
   Annotations:
   {{ range .Annotations.SortedPairs -}}
   - {{ .Name }}: {{ .Value }}
   {{ end -}}
   {{ end -}}
   {{ if .DashboardURL -}}
     Go to dashboard: {{ .DashboardURL }}
   {{- end }}
   {{- end }}
   
   {{ define "slack.message" -}}
   {{ if .Alerts.Firing -}}
   {{ len .Alerts.Firing }} firing alerts:
   {{ range .Alerts.Firing }}
   {{ template "slack.print_alert" . }}
   {{ end -}}
   {{ end }}
   {{ if .Alerts.Resolved -}}
   {{ len .Alerts.Resolved }} resolved alerts:
   {{ range .Alerts.Resolved }}
   {{ template "slack.print_alert" .}}
   {{ end -}}
   {{ end }}
   {{- end }}
   ```

1. 연락 지점 통합의 텍스트 본문 필드에서 템플릿을 실행하세요.

   ```
   {{ template "slack.message" . }}
   ```

## 공유 템플릿으로 이메일 및 Slack 모두 템플릿 지정
<a name="v10-alerting-create-shared-templates"></a>

이메일 및 Slack과 같이 각 연락 지점에 대해 별도의 알림 템플릿을 생성하는 대신 동일한 템플릿을 공유할 수 있습니다.

예를 들어 이 제목의 이메일과 이 `1 firing alerts, 0 resolved alerts` 제목의 Slack 메시지를 보내려면 공유 템플릿을 생성할 수 있습니다.

**공유 템플릿을 생성하는 방법**

1. 다음 콘텐츠로 `common.subject_title`라는 템플릿을 생성하세요.

   ```
   {{ define "common.subject_title" }}
   {{ len .Alerts.Firing }} firing alerts, {{ len .Alerts.Resolved }} resolved alerts
   {{ end }}
   ```

1. 이메일의 경우 이메일 연락 지점 통합의 제목 필드에서 템플릿을 실행하세요.

   ```
   {{ template "common.subject_title" . }}
   ```

1. Slack의 경우 Slack 연락 지점 통합의 제목 필드에서 템플릿을 실행하세요.

   ```
   {{ template "common.subject_title" . }}
   ```