

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Benachrichtigungen anpassen
<a name="v10-alerting-manage-notifications"></a>

****  
Dieses Dokumentationsthema wurde für Grafana-Workspaces entwickelt, die **Grafana-Version 10.x** unterstützen.  
Informationen zu Grafana-Arbeitsbereichen, die Grafana-Version 9.x unterstützen, finden Sie unter. [Arbeitet in Grafana-Version 9](using-grafana-v9.md)  
Informationen zu Grafana-Arbeitsbereichen, die Grafana-Version 8.x unterstützen, finden Sie unter. [Arbeitet in Grafana-Version 8](using-grafana-v8.md)

Passen Sie Ihre Benachrichtigungen mit Vorlagen für Benachrichtigungen an.

Sie können Benachrichtigungsvorlagen verwenden, um den Titel, die Nachricht und das Format der Nachricht in Ihren Benachrichtigungen zu ändern.

Benachrichtigungsvorlagen sind nicht an bestimmte Kontaktpunkt-Integrationen wie Amazon SNS oder Slack gebunden. Sie können sich jedoch dafür entscheiden, separate Benachrichtigungsvorlagen für verschiedene Kontaktpunkt-Integrationen zu erstellen.

Sie können Benachrichtigungsvorlagen verwenden, um:
+ Informationen in der Benachrichtigung hinzufügen, entfernen oder neu anordnen, einschließlich Zusammenfassung, Beschreibung, Beschriftungen und Anmerkungen, Werten und Links
+ Formatieren Sie Text fett und kursiv und fügen Sie Zeilenumbrüche hinzu oder entfernen Sie sie

Sie können Benachrichtigungsvorlagen nicht verwenden, um:
+ Ändern Sie das Design von Benachrichtigungen in Instant-Messaging-Diensten wie Slack und Microsoft Teams

**Topics**
+ [Verwendung der Template-Sprache von Go](v10-alerting-notifications-go-templating.md)
+ [Vorlagen für Benachrichtigungen erstellen](v10-alerting-create-templates.md)
+ [Verwenden von Benachrichtigungsvorlagen](#v10-alerting-use-notification-templates)
+ [Vorlage – Referenz](v10-alerting-template-reference.md)

# Verwendung der Template-Sprache von Go
<a name="v10-alerting-notifications-go-templating"></a>

****  
Dieses Dokumentationsthema wurde für Grafana-Workspaces entwickelt, die **Grafana-Version 10.x** unterstützen.  
Informationen zu Grafana-Arbeitsbereichen, die Grafana-Version 9.x unterstützen, finden Sie unter. [Arbeitet in Grafana-Version 9](using-grafana-v9.md)  
Informationen zu Grafana-Arbeitsbereichen, die Grafana-Version 8.x unterstützen, finden Sie unter. [Arbeitet in Grafana-Version 8](using-grafana-v8.md)

[Sie schreiben Benachrichtigungsvorlagen in der Vorlagensprache von Go, Text/Vorlage.](https://pkg.go.dev/text/template)

Dieser Abschnitt bietet einen Überblick über die Vorlagensprache von Go und das Schreiben von Vorlagen in Text/Vorlage.

## Punkt
<a name="v10-go-dot"></a>

Darin text/template befindet sich ein spezieller Cursor namens Punkt, der als geschrieben wird`.`. Sie können sich diesen Cursor als eine Variable vorstellen, deren Wert sich ändert, je nachdem, wo in der Vorlage er verwendet wird. Beispielsweise `.` bezieht sich eine Benachrichtigungsvorlage zu Beginn auf das `ExtendedData` Objekt, das eine Reihe von Feldern enthält`Alerts`, darunter `Status``GroupLabels`,`CommonLabels`, `CommonAnnotations` und`ExternalURL`. Punkt kann sich jedoch auf etwas anderes beziehen, wenn es in einer Liste verwendet wird, wenn `range` es in einer Liste verwendet wird, wenn es innerhalb einer verwendet wird oder wenn Feature-Vorlagen geschrieben werden`with`, die in anderen Vorlagen verwendet werden sollen. Beispiele dafür finden Sie in [Vorlagen für Benachrichtigungen erstellen](v10-alerting-create-templates.md) und alle Daten und Funktionen in der[Vorlage – Referenz](v10-alerting-template-reference.md).

## Tags öffnen und schließen
<a name="v10-go-openclosetags"></a>

In text/template beginnen `{{` und enden Vorlagen mit, `}}` unabhängig davon, ob die Vorlage eine Variable druckt oder Kontrollstrukturen wie if-Anweisungen ausführt. Dies unterscheidet sich von anderen Template-Sprachen wie Jinja, wo das Drucken einer Variablen und und `{{` Kontrollstrukturen `}}` und verwenden. `{%` `%}`

## Print (Ausgabe)
<a name="v10-go-print"></a>

Um den Wert von etwas zu drucken, verwende `{{` und. `}}` Sie können den Wert eines Punkts, ein Punktfeld, das Ergebnis einer Funktion und den Wert einer [Variablen](#v10-go-variables) drucken. Um beispielsweise das `Alerts` Feld zu drucken, auf das sich der Punkt bezieht, würden `ExtendedData` Sie Folgendes schreiben:

```
{{ .Alerts }}
```

## Wiederholt die Warnmeldungen
<a name="v10-go-iterate-alerts"></a>

Um nur die Beschriftungen jeder Warnung und nicht alle Informationen über die Warnung zu drucken, können Sie a verwenden, um die Warnungen in `range` folgenden Schritten zu iterieren: `ExtendedData`

```
{{ range .Alerts }}
{{ .Labels }}
{{ end }}
```

Innerhalb des Bereichs bezieht sich der Punkt nicht mehr auf`ExtendedData`, sondern auf eine`Alert`. Sie können `{{ .Labels }}` es verwenden, um die Beschriftungen der einzelnen Warnmeldungen zu drucken. Das funktioniert, weil `{{ range .Alerts }}` sich der Punkt so ändert, dass er sich auf die aktuelle Warnung in der Liste der Benachrichtigungen bezieht. Wenn der Bereich abgeschlossen ist, wird der Punkt auf den Wert zurückgesetzt, den er vor dem Beginn des Bereichs hatte. In diesem Beispiel ist das`ExtendedData`:

```
{{ range .Alerts }}
{{ .Labels }}
{{ end }}
{{/* does not work, .Labels does not exist here */}}
{{ .Labels }}
{{/* works, cursor was reset */}}
{{ .Status }}
```

## Iterieren Sie über Anmerkungen und Beschriftungen
<a name="v10-go-iterate-labels"></a>

Lassen Sie uns eine Vorlage schreiben, um die Beschriftungen jeder Warnung in dem Format zu drucken`The name of the label is $name, and the value is $value`, in dem sie den Namen `$name` und den Wert jedes Labels `$value` enthalten.

Verwenden Sie wie im vorherigen Beispiel einen Bereich, um über die Warnungen zu iterieren, sodass der Punkt auf die aktuelle Warnung in der Liste der Warnungen verweist, und verwenden Sie dann einen zweiten Bereich für die sortierten Beschriftungen, sodass der Punkt ein zweites Mal aktualisiert wird, sodass er sich auf die aktuelle Bezeichnung bezieht. `.Alerts` Verwenden Sie innerhalb des zweiten Bereichs `.Name` und`.Value`, um den Namen und den Wert jedes Labels zu drucken:

```
{{ range .Alerts }}
{{ range .Labels.SortedPairs }}
The name of the label is {{ .Name }}, and the value is {{ .Value }}
{{ end }}
{{ range .Annotations.SortedPairs }}
The name of the annotation is {{ .Name }}, and the value is {{ .Value }}
{{ end }}
{{ end }}
```

## Die Index-Funktionen
<a name="v10-go-index"></a>

Verwenden Sie die `index` Funktion, um eine bestimmte Anmerkung oder ein bestimmtes Etikett zu drucken.

```
{{ range .Alerts }}
The name of the alert is {{ index .Labels "alertname" }}
{{ end }}
```

## Wenn Aussagen
<a name="v10-go-if"></a>

Sie können if-Anweisungen in Vorlagen verwenden. Um beispielsweise zu drucken, `There are no alerts` wenn keine Warnmeldungen enthalten sind, würden `.Alerts` Sie Folgendes schreiben:

```
{{ if .Alerts }}
There are alerts
{{ else }}
There are no alerts
{{ end }}
```

## Mit
<a name="v10-go-with"></a>

With ähnelt if-Anweisungen, `with` aktualisiert jedoch im Gegensatz zu if-Anweisungen den Punkt, sodass er auf den Wert von with verweist:

```
{{ with .Alerts }}
There are {{ len . }} alert(s)
{{ else }}
There are no alerts
{{ end }}
```

## Variablen
<a name="v10-go-variables"></a>

Variablen in text/template müssen innerhalb der Vorlage erstellt werden. Um beispielsweise eine Variable zu erstellen, die `$variable` mit dem aktuellen Wert Punkt aufgerufen wird, würden Sie Folgendes schreiben:

```
{{ $variable := . }}
```

Sie können `$variable` innerhalb eines Bereichs oder verwenden `with` und es bezieht sich auf den Wert von Punkt zu dem Zeitpunkt, als die Variable definiert wurde, und nicht auf den aktuellen Wert von Punkt.

Sie können beispielsweise keine Vorlage schreiben, die den zweiten `{{ .Labels }}` Bereich verwendet, da sich Punkt hier auf das aktuelle Label bezieht, nicht auf die aktuelle Warnung:

```
{{ range .Alerts }}
{{ range .Labels.SortedPairs }}
{{ .Name }} = {{ .Value }}
{{/* does not work because in the second range . is a label not an alert */}}
There are {{ len .Labels }}
{{ end }}
{{ end }}
```

Sie können dies beheben, indem Sie eine Variable definieren, die `$alert` im ersten Bereich und vor dem zweiten Bereich aufgerufen wird:

```
{{ range .Alerts }}
{{ $alert := . }}
{{ range .Labels.SortedPairs }}
{{ .Name }} = {{ .Value }}
{{/* works because $alert refers to the value of dot inside the first range */}}
There are {{ len $alert.Labels }}
{{ end }}
{{ end }}
```

## Bereich mit Index
<a name="v10-go-rangeindex"></a>

Sie können den Index jeder Warnung innerhalb eines Bereichs abrufen, indem Sie Index- und Wertvariablen am Anfang des Bereichs definieren:

```
{{ $num_alerts := len .Alerts }}
{{ range $index, $alert := .Alerts }}
This is alert {{ $index }} out of {{ $num_alerts }}
{{ end }}
```

## Definieren Sie Vorlagen
<a name="v10-go-define"></a>

Sie können Vorlagen definieren, die in anderen Vorlagen verwendet werden können, indem Sie `define` den Namen der Vorlage in doppelten Anführungszeichen verwenden. Sie sollten keine Vorlagen mit demselben Namen wie andere Vorlagen definieren, einschließlich Standardvorlagen wie `__subject``__text_values_list`,`__text_alert_list`, `default.title` und`default.message`. Wenn eine Vorlage mit demselben Namen wie eine Standardvorlage oder eine Vorlage in einer anderen Benachrichtigungsvorlage erstellt wurde, kann Grafana beide Vorlagen verwenden. Grafana verhindert nicht und zeigt auch keine Fehlermeldung an, wenn es zwei oder mehr Vorlagen mit demselben Namen gibt.

```
{{ define "print_labels" }}
{{ end }}
```

## Vorlagen ausführen
<a name="v10-go-execute"></a>

Sie können eine definierte Vorlage innerhalb Ihrer Vorlage ausführen`template`, indem Sie den Namen der Vorlage in doppelten Anführungszeichen und den Cursor verwenden, der an die Vorlage übergeben werden soll:

```
{{ template "print_labels" . }}
```

## Übergeben Sie Daten an Vorlagen
<a name="v10-go-passdata"></a>

Innerhalb einer Vorlage bezieht sich der Punkt auf den Wert, der an die Vorlage übergeben wird.

Wenn einer Vorlage beispielsweise eine Liste mit Auslösewarnungen übergeben wird, bezieht sich Punkt auf diese Liste von Auslösewarnungen:

```
{{ template "print_alerts" .Alerts }}
```

Wenn der Vorlage die sortierten Labels für eine Warnung übergeben werden, bezieht sich Punkt auf die Liste der sortierten Labels:

```
{{ template "print_labels" .SortedLabels }}
```

Dies ist nützlich, wenn Sie wiederverwendbare Vorlagen schreiben. Um beispielsweise alle Benachrichtigungen zu drucken, könnten Sie Folgendes schreiben:

```
{{ template "print_alerts" .Alerts }}
```

Um dann nur die Feuermeldungen auszudrucken, könnten Sie Folgendes schreiben:

```
{{ template "print_alerts" .Alerts.Firing }}
```

Das funktioniert, weil es sich bei beiden `.Alerts` um Listen von Warnmeldungen `.Alerts.Firing` handelt.

```
{{ define "print_alerts" }}
{{ range . }}
{{ template "print_labels" .SortedLabels }}
{{ end }}
{{ end }}
```

## Kommentare
<a name="v10-go-comments"></a>

Sie können Kommentare hinzufügen mit `{{/*` und`*/}}`:

```
{{/* This is a comment */}}
```

Um zu verhindern, dass Kommentare Zeilenumbrüche hinzufügen, verwende:

```
{{- /* This is a comment with no leading or trailing line breaks */ -}}
```

## Einrückung
<a name="v10-go-indentation"></a>

Sie können Einzüge, sowohl Tabulatoren als auch Leerzeichen, und Zeilenumbrüche verwenden, um die Lesbarkeit von Vorlagen zu verbessern:

```
{{ range .Alerts }}
  {{ range .Labels.SortedPairs }}
    {{ .Name }} = {{ .Value }}
  {{ end }}
{{ end }}
```

Einrückungen in der Vorlage werden jedoch auch im Text vorhanden sein. Als nächstes werden wir sehen, wie man es entfernt.

## Entferne Leerzeichen und Zeilenumbrüche
<a name="v10-go-removespace"></a>

Wird text/template verwendet `{{-` und dient `-}}` zum Entfernen von führenden und nachfolgenden Leerzeichen und Zeilenumbrüchen.

Wenn Sie beispielsweise Einrückungen und Zeilenumbrüche verwenden, um eine Vorlage lesbarer zu machen:

```
{{ range .Alerts }}
  {{ range .Labels.SortedPairs }}
    {{ .Name }} = {{ .Value }}
  {{ end }}
{{ end }}
```

Der Einzug und die Zeilenumbrüche werden auch im Text vorhanden sein:

```
    alertname = "Test"

    grafana_folder = "Test alerts"
```

Sie können den Einzug und die Zeilenumbrüche aus dem Text entfernen, indem Sie `}}` zu `-}}` Beginn jedes Bereichs wechseln:

```
{{ range .Alerts -}}
  {{ range .Labels.SortedPairs -}}
    {{ .Name }} = {{ .Value }}
  {{ end }}
{{ end }}
```

Der Einzug und die Zeilenumbrüche in der Vorlage fehlen jetzt im Text:

```
alertname = "Test"
grafana_folder = "Test alerts"
```

# Vorlagen für Benachrichtigungen erstellen
<a name="v10-alerting-create-templates"></a>

****  
Dieses Dokumentationsthema wurde für Grafana-Workspaces entwickelt, die **Grafana-Version 10.x** unterstützen.  
Informationen zu Grafana-Arbeitsbereichen, die Grafana-Version 9.x unterstützen, finden Sie unter. [Arbeitet in Grafana-Version 9](using-grafana-v9.md)  
Informationen zu Grafana-Arbeitsbereichen, die Grafana-Version 8.x unterstützen, finden Sie unter. [Arbeitet in Grafana-Version 8](using-grafana-v8.md)

Erstellen Sie wiederverwendbare Benachrichtigungsvorlagen, die Sie an Ihre Kontaktstellen senden können.

Sie können Ihrer Benachrichtigungsvorlage eine oder mehrere Vorlagen hinzufügen.

Der Name Ihrer Benachrichtigungsvorlage muss eindeutig sein. Sie können nicht zwei Vorlagen mit demselben Namen in derselben Benachrichtigungsvorlage oder in verschiedenen Benachrichtigungsvorlagen haben. Vermeiden Sie es, Vorlagen mit demselben Namen wie Standardvorlagen zu definieren, z. B.: `__subject``__text_values_list`,`__text_alert_list`, `default.title` und`default.message`.

Auf der Registerkarte Kontaktstellen finden Sie eine Liste Ihrer Benachrichtigungsvorlagen.

## Vorlagen für Benachrichtigungen erstellen
<a name="v10-alerting-creating-templates"></a>

**Um eine Benachrichtigungsvorlage zu erstellen**

1. Wählen Sie „**Benachrichtigungen“,** „**Kontaktstellen**“.

1. Wählen Sie den Tab **Benachrichtigungsvorlagen** und dann **\$1 Benachrichtigungsvorlage hinzufügen**.

1. Wählen Sie einen Namen für die Benachrichtigungsvorlage, z. `email.subject` B.

1. Schreiben Sie den Inhalt der Vorlage in das Inhaltsfeld.

   Beispiel:

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

1. Speichern Sie Ihre Änderungen.

   `{{ define "email.subject" }}`(wo `email.subject` ist der Name Ihrer Vorlage) und `{{ end }}` wird automatisch am Anfang und Ende des Inhalts hinzugefügt.

**Um eine Benachrichtigungsvorlage zu erstellen, die mehr als eine Vorlage enthält**

1. Wählen Sie „**Benachrichtigungen“,** „**Kontaktstellen**“.

1. Wählen Sie den Tab **Benachrichtigungsvorlagen** und dann **\$1 Benachrichtigungsvorlage hinzufügen**.

1. Geben Sie einen Namen für die gesamte Benachrichtigungsvorlage ein. Beispiel, `email`.

1. Schreiben Sie jede Vorlage in das Feld Inhalt, einschließlich `{{ define "name-of-template" }}` und `{{ end }}` am Anfang und Ende jeder Vorlage. Sie können für jede Vorlage in der Benachrichtigungsvorlage aussagekräftige Namen verwenden, z. B. `email.subject` oder`email.message`. Verwenden Sie in diesem Fall nicht den Namen der Benachrichtigungsvorlage, den Sie oben eingegeben haben.

   In späteren Abschnitten finden Sie detaillierte Beispiele für Vorlagen, die Sie möglicherweise erstellen.

1. Klicken Sie auf Speichern.

## Eine Vorschau der Benachrichtigungsvorlagen anzeigen
<a name="v10-alerting-preview-templates"></a>

Sehen Sie sich eine Vorschau Ihrer Benachrichtigungsvorlagen an, bevor Sie sie in Ihren Kontaktstellen verwenden. Dies hilft Ihnen, das Ergebnis der von Ihnen erstellten Vorlage zu verstehen, und gibt Ihnen die Möglichkeit, etwaige Fehler zu beheben, bevor Sie die Vorlage speichern.

**Anmerkung**  
Benachrichtigungsvorschauen sind nur für Grafana Alertmanager verfügbar.

**Um eine Vorschau Ihrer Benachrichtigungsvorlagen anzuzeigen**

1. Wählen Sie „**Benachrichtigungen“,** „**Kontaktstellen**“.

1. Wählen Sie den Tab **Benachrichtigungsvorlagen** und dann **\$1 Benachrichtigungsvorlage hinzufügen** oder bearbeiten Sie eine vorhandene Vorlage.

1. Fügen Sie den Inhalt Ihrer Vorlage hinzu oder aktualisieren Sie sie.

   Standarddaten werden bereitgestellt, und Sie können Warndaten sowie Warnungsinstanzen hinzufügen oder bearbeiten. Sie können Warndaten direkt im Payload-Datenfenster selbst hinzufügen oder auf **Warnungsinstanzen auswählen** oder **Benutzerdefinierte Benachrichtigungen hinzufügen** klicken.

1. [Optional] So fügen Sie Warnungsdaten aus vorhandenen Warnungsinstanzen hinzu:

   1. **Wählen Sie „Warnungsinstanzen** auswählen“.

   1. Bewegen Sie den Mauszeiger über die Warnungsinstanzen, um weitere Informationen zu jeder Warnungsinstanz anzuzeigen/

   1. Wählen Sie **Bestätigen**, um die Warnungsinstanz zur Payload hinzuzufügen.

1. [Optional] Um Warnungsdaten mit dem Alert-Dateneditor hinzuzufügen, wählen Sie **Benutzerdefinierte Daten hinzufügen** aus:

   1. Fügen Sie Anmerkungen und benutzerdefinierte Beschriftungen hinzu oder richten Sie ein Dashboard oder einen Bereich ein.

   1. Aktiviere „Ausgelöst“ oder „Gelöst“, je nachdem, ob du deiner Benachrichtigung ausgelöste oder gelöste Warnmeldungen hinzufügen möchtest.

   1. Wähle „**Warnungsdaten hinzufügen**“.

   1. Wählen Sie **Vorschau aktualisieren**, um zu sehen, wie der Inhalt Ihrer Vorlage aussehen wird und welche Payload-Daten dazu gehören.

   Wenn Ihre Vorlage Fehler enthält, werden diese in der Vorschau angezeigt und Sie können sie vor dem Speichern korrigieren.

1. Speichern Sie Ihre Änderungen.

## Erstellen Sie eine Vorlage für den Betreff der Nachricht
<a name="v10-alerting-create-template-subject"></a>

Erstellen Sie eine Vorlage für den Betreff einer E-Mail, die die Anzahl der ausgelösten und gelösten Benachrichtigungen enthält, wie in diesem Beispiel:

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

**Um eine Vorlage für den Betreff einer E-Mail zu erstellen**

1. Erstellen Sie eine Vorlage namens `email.subject` mit dem folgenden Inhalt:

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

1. Verwenden Sie die Vorlage bei der Erstellung Ihrer Kontaktpunktintegration, indem Sie sie in das Feld **Betreff** mit dem `template` Schlüsselwort einfügen.

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

## Erstellen Sie eine Vorlage für die Nachricht einer E-Mail
<a name="v10-alerting-create-template-message"></a>

Erstellen Sie eine Vorlage für die Nachricht einer E-Mail, die eine Zusammenfassung aller ausgelösten und gelösten Alarme enthält, wie in diesem Beispiel:

```
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
```

**Um eine Vorlage für die Nachricht einer E-Mail zu erstellen**

1. Erstellen Sie eine Benachrichtigungsvorlage `email` mit zwei Vorlagen im Inhalt: `email.message_alert` und`email.message`.

   Die `email.message_alert` Vorlage wird verwendet, um die Bezeichnungen und Werte für jede ausgelöste und behobene Warnung zu drucken, wobei die `email.message` Vorlage die Struktur der E-Mail enthält.

   ```
   {{- 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. Verwenden Sie die Vorlage bei der Erstellung Ihrer Kontaktpunktintegration, indem Sie sie in das **Textfeld** mit dem `template` Schlüsselwort einfügen.

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

## Eine Vorlage für den Titel einer Slack-Nachricht erstellen
<a name="v10-alerting-create-template-slack-title"></a>

Erstelle eine Vorlage für den Titel einer Slack-Nachricht, die die Anzahl der ausgelösten und gelösten Alerts enthält, wie im folgenden Beispiel:

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

**Um eine Vorlage für den Titel einer Slack-Nachricht zu erstellen**

1. Erstelle eine Vorlage namens `slack.title` mit dem folgenden Inhalt:

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

1. Führen Sie die Vorlage über das Titelfeld in Ihrer Kontaktpunktintegration aus.

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

## Eine Vorlage für den Inhalt einer Slack-Nachricht erstellen
<a name="v10-alerting-create-template-slack-message"></a>

Erstelle eine Vorlage für den Inhalt einer Slack-Nachricht, die eine Beschreibung aller ausgelösten und gelösten Alerts enthält, einschließlich ihrer Labels, Anmerkungen und Dashboard-URL.

**Anmerkung**  
Diese Vorlage ist nur für von Grafana verwaltete Benachrichtigungen vorgesehen. Um die Vorlage für von Datenquellen verwaltete Benachrichtigungen zu verwenden, löschen Sie die Verweise auf dashboardURL und silenceUrl. Weitere Informationen zur Konfiguration von Prometheus-Benachrichtigungen finden Sie in der [Prometheus-Dokumentation](https://prometheus.io/docs/alerting/latest/notifications/) zu Benachrichtigungen.

```
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
```

**Um eine Vorlage für den Inhalt einer Slack-Nachricht zu erstellen**

1. Erstelle ein Template namens `slack` mit zwei Templates im Inhalt: `slack.print_alert` und`slack.message`.

   Die `slack.print_alert` Vorlage wird zum Drucken der Beschriftungen, Anmerkungen und der Dashboard-URL verwendet, während die `slack.message` Vorlage die Struktur der Benachrichtigung enthält.

   ```
   {{ 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. Führen Sie die Vorlage über das Textfeld in Ihrer Kontaktpunktintegration aus:

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

## Template sowohl für E-Mail als auch für Slack mit gemeinsam genutzten Vorlagen
<a name="v10-alerting-create-shared-templates"></a>

Anstatt separate Benachrichtigungsvorlagen für jeden Kontaktpunkt wie E-Mail und Slack zu erstellen, kannst du dieselbe Vorlage gemeinsam nutzen.

Wenn du beispielsweise eine E-Mail mit diesem Betreff und eine Slack-Nachricht mit diesem Titel senden möchtest`1 firing alerts, 0 resolved alerts`, kannst du eine gemeinsame Vorlage erstellen.

**Um eine gemeinsame Vorlage zu erstellen**

1. Erstellen Sie eine Vorlage namens `common.subject_title` mit dem folgenden Inhalt:

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

1. Führen Sie für E-Mails die Vorlage im Betreff-Feld Ihrer E-Mail-Kontaktpunkt-Integration aus:

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

1. Für Slack führe die Vorlage im Titelfeld deiner Slack-Kontaktpunkt-Integration aus:

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

## Verwenden von Benachrichtigungsvorlagen
<a name="v10-alerting-use-notification-templates"></a>

Verwenden Sie Vorlagen in Kontaktpunkten, um Ihre Benachrichtigungen zu personalisieren.

**Um eine Vorlage beim Erstellen einer Kontaktstelle zu verwenden**

1. Wählen Sie im Menü **„Benachrichtigungen**“ die Registerkarte „**Kontaktstellen**“, um eine Liste der vorhandenen Kontaktstellen anzuzeigen.

1. Wählen Sie **New (Neu)**. Alternativ können Sie eine bestehende Kontaktstelle bearbeiten, indem Sie auf das Symbol **Bearbeiten** klicken.

1. Geben Sie die Vorlagen, die Sie verwenden möchten, in ein Feld ein, z. B. **Nachricht** oder **Betreff**. Um eine Vorlage einzugeben, verwenden Sie das Formular `{{ template "template_name" . }}` und *template\$1name* ersetzen Sie es durch den Namen der Vorlage, die Sie verwenden möchten.

1. Wählen Sie **Kontaktstelle speichern**.

# Vorlage – Referenz
<a name="v10-alerting-template-reference"></a>

****  
Dieses Dokumentationsthema wurde für Grafana-Workspaces entwickelt, die **Grafana-Version 10.x** unterstützen.  
Informationen zu Grafana-Arbeitsbereichen, die Grafana-Version 9.x unterstützen, finden Sie unter. [Arbeitet in Grafana-Version 9](using-grafana-v9.md)  
Informationen zu Grafana-Arbeitsbereichen, die Grafana-Version 8.x unterstützen, finden Sie unter. [Arbeitet in Grafana-Version 8](using-grafana-v8.md)

Dieser Abschnitt enthält Referenzinformationen für die Erstellung Ihrer Vorlagen.

**Warnung (Typ)**

Der Warnungstyp enthält die folgenden Daten.


| Name | Art | Description | Beispiel | 
| --- | --- | --- | --- | 
|  Status  |  Zeichenfolge  |  `firing` oder `resolved`.  | \$1\$1 .Status \$1\$1 | 
|  Labels  |  KeyValue  |  Eine Reihe von Bezeichnungen, die an die Warnung angehängt sind.  | \$1\$1 .Labels \$1\$1 | 
|  Anmerkungen  |  KeyValue  |  Eine Reihe von Anmerkungen, die der Warnung beigefügt sind.  | \$1\$1 .Annotations \$1\$1 | 
| Werte | KeyValue | Die Werte aller Ausdrücke, einschließlich der klassischen Bedingungen | \$1\$1 .Values \$1\$1 | 
|  StartsAt  |  Zeit.Zeit  |  Uhrzeit, zu der der Alarm ausgelöst wurde.  | \$1\$1 .StartsAt \$1\$1 | 
|  EndsAt  |  Zeit. Zeit  |  Wird nur gesetzt, wenn die Endzeit einer Warnung bekannt ist. Andernfalls wird ein konfigurierbarer Timeout-Zeitraum ab dem Zeitpunkt seit dem Empfang der letzten Warnung festgelegt.  | \$1\$1 .EndsAt \$1\$1 | 
|  Generator-URL  |  Zeichenfolge  |  Ein Backlink zu Grafana oder einem externen Alertmanager.  | \$1\$1 .GeneratorURL \$1\$1 | 
|  Silence-URL  |  Zeichenfolge  |  Ein Link zum Stummschalten der Warnung (mit vorgefüllten Bezeichnungen für diese Warnung). Nur für von Grafana verwaltete Benachrichtigungen.  | \$1\$1 .SilenceURL\$1\$1 | 
|  Dashboard-URL  |  Zeichenfolge  |  Link zum Grafana-Dashboard, falls die Warnungsregel zu einer gehört. Nur für von Grafana verwaltete Benachrichtigungen.  | \$1\$1 .DashboardURL \$1\$1 | 
|  Panel-URL  |  Zeichenfolge  |  Link zum Grafana-Dashboard-Panel, falls die Warnungsregel zu einer gehört. Nur für von Grafana verwaltete Benachrichtigungen.  | \$1\$1 .PanelURL \$1\$1 | 
|  Fingerabdruck  |  Zeichenfolge  |  Fingerabdruck, der zur Identifizierung der Warnung verwendet werden kann.  | \$1\$1 .Fingerprint \$1\$1 | 
|  ValueString  |  Zeichenfolge  |  Eine Zeichenfolge, die die Bezeichnungen und den Wert jedes reduzierten Ausdrucks in der Warnung enthält.  | \$1\$1 .ValueString \$1\$1 | 

 **ExtendedData**

Das ExtendedData Objekt enthält die folgenden Eigenschaften.


| Name | Art | Description | Beispiel | 
| --- | --- | --- | --- | 
|  Empfänger  |  `string`  |  Der Name der Kontaktstelle, die die Benachrichtigung sendet.  |  `{{ .Receiver }}`  | 
|  Status  |  `string`  |  Der Status gibt an`firing`, ob mindestens ein Alarm ausgelöst wird, andernfalls`resolved`.  |  `{{ .Status }}`  | 
|  Benachrichtigungen  |  `[]Alert`  |  Liste aller ausgelösten und gelösten Alarme in dieser Benachrichtigung.  |  `There are {{ len .Alerts }} alerts`  | 
|  Auslösewarnungen  |  `[]Alert`  |  Liste aller Feuerwarnungen in dieser Benachrichtigung.  |  `There are {{ len .Alerts.Firing }} firing alerts`  | 
|  Behobene Warnungen  |  `[]Alert`  |  Liste aller gelösten Warnungen in dieser Benachrichtigung.  |  `There are {{ len .Alerts.Resolved }} resolved alerts`  | 
|  GroupLabels  |  `KeyValue`  |  Die Labels, die diese Warnungen in dieser Benachrichtigung gruppieren.  |  `{{ .GroupLabels }}`  | 
|  CommonLabels  |  `KeyValue`  |  Die Bezeichnungen, die allen Benachrichtigungen in dieser Benachrichtigung gemeinsam sind.  |  `{{ .CommonLabels }}`  | 
|  CommonAnnotations  |  `KeyValue`  |  Die Anmerkungen, die allen Warnungen in dieser Benachrichtigung gemeinsam sind.  |  `{{ .CommonAnnotations }}`  | 
|  Externe URL  |  `string`  |  Ein Link zum Grafana-Workspace oder Alertmanager, der diese Benachrichtigung gesendet hat.  |  `{{ .ExternalURL }}`  | 

**KeyValue Typ**

Der `KeyValue` Typ besteht aus einer Reihe von key/value Zeichenkettenpaaren, die Beschriftungen und Anmerkungen darstellen.

Neben dem direkten Zugriff auf die als `KeyValue` gespeicherten Daten gibt es auch Methoden zum Sortieren, Entfernen und Transformieren der Daten.


| Name | Argumente | Rückgabewert | Hinweise | Beispiel | 
| --- | --- | --- | --- | --- | 
|  SortedPairs  |    |  Sortierte Liste von Zeichenkettenpaaren aus Schlüssel und Wert  |    | `{{ .Annotations.SortedPairs }}` | 
|  Remove  |  [] Zeichenfolge  |  KeyValue  |  Gibt eine Kopie der Key/Value Map ohne die angegebenen Schlüssel zurück.  | `{{ .Annotations.Remove "summary" }}` | 
|  Namen  |    |  [] Zeichenfolge  |  Liste der Namen  | `{{ .Names }}` | 
|  Werte  |    |  [] Zeichenfolge  |  Liste von Werten  | `{{ .Values }}` | 

**Time (Zeit)**

Die Zeit stammt aus dem [https://pkg.go.dev/time#Time](https://pkg.go.dev/time#Time)Go-Paket. Sie können eine Uhrzeit in verschiedenen Formaten drucken. Um beispielsweise die Uhrzeit zu drucken, zu der eine Warnung ausgelöst wurde`Monday, 1st January 2022 at 10:00AM`, in diesem Format schreiben Sie die folgende Vorlage:

```
{{ .StartsAt.Format "Monday, 2 January 2006 at 3:04PM" }}
```

Eine Referenz für das Zeitformat von Go finden Sie [hier](https://pkg.go.dev/time#pkg-constants).