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.
Messaging-Vorlagen verwenden
Dieses Dokumentationsthema wurde für Grafana-Workspaces entwickelt, die Grafana-Version 8.x unterstützen.
Informationen zu Grafana-Arbeitsbereichen, die Grafana-Version 10.x unterstützen, finden Sie unter. Arbeitet in Grafana-Version 10
Informationen zu Grafana-Arbeitsbereichen, die Grafana-Version 9.x unterstützen, finden Sie unter. Arbeitet in Grafana-Version 9
Benachrichtigungen, die über gesendet werden, Mit Kontaktstellen arbeiten werden mithilfe von Nachrichtenvorlagen erstellt. Die Standardvorlagen von Grafana basieren auf dem Go-Vorlagensystem
Da die meisten Kontaktpunktfelder mit Vorlagen versehen werden können, können Sie wiederverwendbare benutzerdefinierte Vorlagen erstellen und diese in mehreren Kontaktpunkten verwenden. Das Vorlagendaten Thema listet Variablen auf, die für die Erstellung von Vorlagen verfügbar sind.
Verwenden von Vorlagen
Vorlagen werden verwendet, um eine Nachricht zu erstellen. Bei einer Slack-Warnmeldung kannst du beispielsweise den Titel und den Text in der Kontaktstelle festlegen. Das folgende Beispiel zeigt, wie Sie mithilfe von Standardvorlagen einen Titel erstellen, der die Anzahl der ausgelösten und gelösten Alarme sowie einen Text enthält, in dem die Benachrichtigungen und ihr Status aufgeführt sind.
-
Titel:
{{ len .Alerts.Firing }} firing, {{ len .Alerts.Resolved }} resolved
-
Hauptteil des Textes:
{{ range .Alerts }}{{ .Status }}: {{ .Labels.alertname }} {{end }}
Sie können Ihre eigenen benutzerdefinierten Vorlagen erstellen, wie im folgenden Beispiel.
-
Titel:
{{ template "slack.default.title" .}}
-
Hauptteil des Textes:
{{ template "mymessage" .}}
Im Folgenden finden Sie eine Beispielvorlage.
{{ define "myalert" }} [{{.Status}}] {{ .Labels.alertname }} Labels: {{ range .Labels.SortedPairs }} {{ .Name }}: {{ .Value }} {{ end }} {{ if gt (len .Annotations) 0 }} Annotations: {{ range .Annotations.SortedPairs }} {{ .Name }}: {{ .Value }} {{ end }} {{ end }} {{ if gt (len .SilenceURL ) 0 }} Silence alert: {{ .SilenceURL }} {{ end }} {{ if gt (len .DashboardURL ) 0 }} Go to dashboard: {{ .DashboardURL }} {{ end }} {{ end }}
Die folgenden Verfahren zeigen, wie Sie benutzerdefinierte Nachrichtenvorlagen erstellen, bearbeiten und löschen.
Um eine Nachrichtenvorlage zu erstellen
-
Wählen Sie in Ihrer Grafana-Konsole im Grafana-Menü das Alerting (Glockensymbol), um die Alerting-Seite zu öffnen.
-
Wählen Sie Kontaktstellen.
-
Wählen Sie in der Alertmanager-Dropdownliste die Alertmanager-Instanz aus, für die Sie eine Nachrichtenvorlage erstellen möchten. Die Standardeinstellung ist der Grafana Alertmanager.
-
Wählen Sie Vorlage hinzufügen.
-
Fügen Sie einen beschreibenden Namen hinzu.
-
Fügen Sie den Inhalt für die Vorlage hinzu, zum Beispiel:
{{ define "mymessage" }} {{ range .Alerts }} [{{ .Status }}] {{ range .Labels }} {{ .Name }}={{.Value }}{{end}} {{ end }} {{ end }}
Das
define
Tag im Abschnitt Inhalt weist den Namen der Vorlage zu. Dieses Tag ist optional, und wenn es weggelassen wird, wird der Vorlagenname aus dem Feld Name abgeleitet. Wenn beide angegeben sind, empfiehlt es sich, sie gleich zu lassen. -
Wählen Sie Save template (Vorlage speichern).
Anmerkung
HTML in Vorlagen für Warnmeldungen wird als Text gerendert, wobei Steuerzeichen maskiert werden. Das Rendern von HTML in der resultierenden Benachrichtigung wird von Grafana nicht unterstützt.
So bearbeiten Sie eine Nachrichtenvorlage
-
Wählen Sie auf der Seite „Benachrichtigungen“ die Option Kontaktstellen aus, um die Liste der Kontaktstellen zu öffnen.
-
Suchen Sie in der Vorlagentabelle nach der Vorlage, die Sie bearbeiten möchten, und wählen Sie dann das Bearbeiten-Symbol (Stift).
-
Nehmen Sie Ihre Änderungen vor und wählen Sie dann Vorlage speichern.
So löschen Sie eine Nachrichtenvorlage
-
Wählen Sie auf der Seite „Benachrichtigungen“ die Option Kontaktstellen aus, um die Liste der Kontaktstellen zu öffnen.
-
Suchen Sie in der Vorlagentabelle nach der Vorlage, die Sie entfernen möchten, und wählen Sie dann das Symbol Löschen (Mülleimer).
-
Wähle Ja, löschen, um die Vorlage zu löschen.
Verschachtelte Vorlagen
Sie können Vorlagen in andere Vorlagen einbetten.
Sie können beispielsweise ein Vorlagenfragment mit dem folgenden define
Schlüsselwort definieren:
{{ define "mytemplate" }} {{ len .Alerts.Firing }} firing. {{ len .Alerts.Resolved }} resolved. {{ end }}
Anschließend können Sie mithilfe des template
Schlüsselworts benutzerdefinierte Vorlagen in dieses Fragment einbetten. Beispielsweise:
Alert summary: {{ template "mytemplate" . }}
Sie können die folgenden integrierten Vorlagenoptionen verwenden, um benutzerdefinierte Vorlagen einzubetten.
Name | Hinweise |
---|---|
|
Zeigt Statusinformationen auf hoher Ebene an. |
|
Stellt eine formatierte Zusammenfassung der ausgelösten und gelösten Alarme bereit. |
Beispiele für benutzerdefinierte Vorlagen
Hier finden Sie Beispiele für die Verwendung benutzerdefinierter Vorlagen.
Vorlage zum Rendern einer einzelnen Warnung:
{{ define "myalert" }} [{{.Status}}] {{ .Labels.alertname }} Labels: {{ range .Labels.SortedPairs }} {{ .Name }}: {{ .Value }} {{ end }} {{ if gt (len .Annotations) 0 }} Annotations: {{ range .Annotations.SortedPairs }} {{ .Name }}: {{ .Value }} {{ end }} {{ end }} {{ if gt (len .SilenceURL ) 0 }} Silence alert: {{ .SilenceURL }} {{ end }} {{ if gt (len .DashboardURL ) 0 }} Go to dashboard: {{ .DashboardURL }} {{ end }} {{ end }}
Vorlage zum Rendern der gesamten Benachrichtigung:
{{ 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 }}
Vorlagendaten
Die folgenden Daten werden an Nachrichtenvorlagen übergeben.
Name | Typ | Hinweise |
---|---|---|
|
Zeichenfolge |
Name der Kontaktstelle, an die die Benachrichtigung gesendet wird. |
|
Zeichenfolge |
ausgelöst, wenn mindestens ein Alarm ausgelöst wird, andernfalls behoben. |
|
Warnung |
Liste der Alarmobjekte, die in dieser Benachrichtigung enthalten sind (siehe unten). |
|
KeyValue |
Labels, nach denen diese Alerts gruppiert wurden. |
|
KeyValue |
Bezeichnungen, die allen in dieser Benachrichtigung enthaltenen Warnungen gemeinsam sind. |
|
KeyValue |
Anmerkungen, die allen in dieser Benachrichtigung enthaltenen Warnungen gemeinsam sind. |
|
Zeichenfolge |
Backlink zu der Grafana, die die Benachrichtigung gesendet hat. Wenn Sie einen externen Alertmanager verwenden, verlinken Sie zurück zu diesem Alertmanager. |
Der Alerts
Typ stellt zwei Funktionen zum Filtern der zurückgegebenen Warnungen zur Verfügung.
-
Alerts.Firing
— Gibt eine Liste von Auslösewarnungen zurück. -
Alerts.Resolved
— Gibt eine Liste der behobenen Alarme zurück.
Warnung (Typ)
Der Warnungstyp enthält die folgenden Daten.
Name | Typ | Hinweise |
---|---|---|
Status |
Zeichenfolge |
|
Labels |
KeyValue |
Eine Reihe von Bezeichnungen, die an die Warnung angehängt sind. |
Anmerkungen |
KeyValue |
Eine Reihe von Anmerkungen, die der Warnung beigefügt sind. |
StartsAt |
Zeit.Zeit |
Uhrzeit, zu der der Alarm ausgelöst wurde. |
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. |
Generator-URL |
Zeichenfolge |
Ein Backlink zu Grafana oder einem externen Alertmanager. |
Silence-URL |
Zeichenfolge |
Link zu Grafana Silence for mit vorgefüllten Beschriftungen für diese Warnung. Nur für von Grafana verwaltete Benachrichtigungen. |
Dashboard-URL |
Zeichenfolge |
Link zum Grafana-Dashboard, falls die Warnungsregel zu einer gehört. Nur für von Grafana verwaltete Benachrichtigungen. |
Panel-URL |
Zeichenfolge |
Link zum Grafana-Dashboard-Panel, falls die Warnungsregel zu einer gehört. Nur für von Grafana verwaltete Benachrichtigungen. |
Fingerabdruck |
Zeichenfolge |
Fingerabdruck, der zur Identifizierung der Warnung verwendet werden kann. |
ValueString |
Zeichenfolge |
Eine Zeichenfolge, die die Bezeichnungen und den Wert jedes reduzierten Ausdrucks in der Warnung enthält. |
KeyValue Typ
Der KeyValue
Typ besteht aus einer Reihe von Schlüssel/Wert-Zeichenkettenpaaren, die Beschriftungen und Anmerkungen darstellen.
Neben dem direkten Zugriff auf die als gespeicherten Daten gibt es auch Methoden zum Sortieren, Entfernen und Transformieren der Daten. KeyValue
Name | Argumente | Rückgabewert | Hinweise |
---|---|---|---|
SortedPairs |
Sortierte Liste von Zeichenkettenpaaren aus Schlüssel und Wert |
||
Remove |
[] Zeichenfolge |
KeyValue |
Gibt eine Kopie der Key/Value-Map ohne die angegebenen Schlüssel zurück. |
Namen |
[] Zeichenfolge |
Liste der Labelnamen |
|
Werte |
[] Zeichenfolge |
Liste der Labelwerte |
Funktionen der Vorlage
Mithilfe von Vorlagenfunktionen können Sie Beschriftungen und Anmerkungen verarbeiten, um dynamische Benachrichtigungen zu generieren. Die folgenden Funktionen sind verfügbar.
Name | Argumenttyp | Rückgabetyp | Beschreibung |
---|---|---|---|
|
Zahl oder Zeichenfolge |
Zeichenfolge |
Konvertiert eine Zahl mithilfe metrischer Präfixe in ein besser lesbares Format. |
|
Zahl oder Zeichenfolge |
Zeichenfolge |
Wie Humanize, verwendet aber 1024 statt 1000 als Basis. |
|
Zahl oder Zeichenfolge |
Zeichenfolge |
Konvertiert eine Dauer in Sekunden in ein besser lesbares Format. |
|
Zahl oder Zeichenfolge |
Zeichenfolge |
Konvertiert einen Verhältniswert in einen Bruchteil von 100. |
|
Zahl oder Zeichenfolge |
Zeichenfolge |
Konvertiert einen Unix-Zeitstempel in Sekunden in ein besser lesbares Format. |
|
Zeichenfolge |
Zeichenfolge |
Strings.Title schreibt das erste Zeichen jedes Worts groß. |
|
Zeichenfolge |
Zeichenfolge |
Zeichenketten. ToUpper, wandelt alle Zeichen in Großbuchstaben um. |
|
Zeichenfolge |
Zeichenfolge |
Zeichenketten. ToLower, wandelt alle Zeichen in Kleinbuchstaben um. |
|
Muster, Text |
boolesch |
Regexp. MatchString Testet auf eine nicht verankerte Regexp-Übereinstimmung. |
|
Muster, Ersatz, Text |
Zeichenfolge |
Regexp. ReplaceAllString Regexp-Substitution, nicht verankert. |
|
string — JSON-Objekt mit Feldern und |
Zeichenfolge |
Gibt den Pfad zur grafischen Ansicht in Explore für den angegebenen Ausdruck und die angegebene Datenquelle zurück. |
|
string — JSON-Objekt mit |
Zeichenfolge |
Gibt den Pfad zur tabellarischen Ansicht in Explore für den angegebenen Ausdruck und die angegebene Datenquelle zurück. |
|
[] Schnittstelle {} |
map [string] Schnittstelle {} |
Konvertiert eine Liste von Objekten in eine Map mit Schlüsseln, zum Beispiel arg0, arg1. Verwenden Sie diese Funktion, um mehrere Argumente an Vorlagen zu übergeben. |
|
nichts |
Zeichenfolge |
Gibt eine Zeichenfolge zurück, die die externe URL darstellt. |
|
nichts |
Zeichenfolge |
Gibt den Pfad der externen URL zurück. |
Die folgende Tabelle zeigt Beispiele für die Verwendung der einzelnen Funktionen.
Funktion | TemplateString | Eingabe | Expected |
---|---|---|---|
humanisieren |
{$value humanisieren} |
1234567,0 |
1,235 M |
humanisieren Sie 1024 |
{humanise1024 $value} |
1048576,0 |
1 Minuten |
Dauer humanisieren |
{humanizeDuration $value} |
899,99 |
14 m 59 s |
Prozentsatz humanisieren |
{HumanizePercentage $value} |
0,1234567 |
12,35% |
Zeitstempel humanisieren |
{HumanizeTimestamp $value} |
1435065584,128 |
2015-06-23 13:19:44.128 +0000 UTC |
Titel |
{$wert | Titel} |
ein B C |
Ein Bb Cc |
toUpper |
{$value | toUpper} |
ein B C |
EIN B C |
toLower |
{$value | toLower} |
ein B C |
ein b c |
match |
{entspricht „a+“ $labels.instance} |
aa |
true |
reReplaceAll |
{{ reReplaceAll „localhost :( .*)“ „meine.domain: $1“ $labels.instance}} |
localhost: 3000 |
meine.domain: 3000 |
GraphLink |
{{GraphLink „{\" expr\“:\ "hoch\“,\ "Datenquelle\“:\ "gdev-prometheus\"}“} |
/erkunden? left= ["now-1h“, "now“, "gdev-prometheus“, {"datasource“ :"gdev-prometheus“, "expr“ :"up“, "instant“ :false, "range“ :true}] |
|
Link zur Tabelle |
{{TableLink „{\" expr\“:\ "nach oben\“,\ "Datenquelle\“:\ "gdev-prometheus\"}“}} |
/erkunden? left= ["now-1h“, "now“, "gdev-prometheus“, {"datasource“ :"gdev-prometheus“, "expr“ :"up“, "instant“ :true, "range“ :false}] |
|
args |
{{definiere „x"}} {{.arg0}} {{.arg1}} {{end}} {{Vorlage „x“ (Argumente 1 „2")}} |
1 2 |
|
Externe URL |
{externe URL} |
http://localhost/path/prefix |
|
Pfad-Präfix |
{Pfadpräfix} |
/Pfad/Präfix |