翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
通知テンプレートの作成
このドキュメントのトピックは、Grafana バージョン 9.x をサポートする Grafana ワークスペース向けです。
Grafana バージョン 12.x をサポートする Grafana ワークスペースについては、「」を参照してくださいGrafana バージョン 12 での作業。
Grafana バージョン 10.x をサポートする Grafana ワークスペースについては、「Grafana バージョン 10 での作業」を参照してください。
Grafana バージョン 8.x をサポートする Grafana ワークスペースについては、「Grafana バージョン 8 での作業」を参照してください。
コンタクトポイントに送信するため、再利用可能な通知テンプレートを作成できます。
通知テンプレートには 1 つ以上のテンプレートを追加できます。
通知テンプレート名は、一意である必要があります。同じ通知テンプレートまたは異なる通知テンプレートに、同じ名前のテンプレートを 2 つ使用することはできません。__subject、__text_values_list、__text_alert_list、default.title、default.message などのデフォルトテンプレートと同じ名前のテンプレートを定義しないでください。
[コンタクトポイント] タブには、通知テンプレートのリストが表示されます。
通知テンプレートの作成
通知テンプレートを作成するには
-
[テンプレートの追加] をクリックします。
-
email.subjectなどの通知テンプレートの名前を選択します。 -
テンプレートの内容をコンテンツフィールドに書き込みます。
例えば、次のようになります。
{{ if .Alerts.Firing -}} {{ len .Alerts.Firing }} firing alerts {{ end }} {{ if .Alerts.Resolved -}} {{ len .Alerts.Resolved }} resolved alerts {{ end }} -
保存をクリックします。
{{ define "email.subject" }}(email.subjectはテンプレートの名前) と{{ end }}はコンテンツの先頭と末尾に自動的に追加されます。
複数のテンプレートを含む通知テンプレートを作成するには
-
[テンプレートの追加] をクリックします。
-
通知テンプレート全体の名前を入力します。例えば、
email。 -
各テンプレートの最初と最後に
{{ define "とname-of-template" }}{{ end }}を含む各テンプレートをコンテンツフィールドに書き込みます。email.subjectやemail.messageなど、通知テンプレート内の各テンプレートにわかりやすい名前を使用できます。この場合、上記で入力した通知テンプレートの名前は再度使用しないでください。次のセクションでは、作成するテンプレートの詳細な例を示します。
-
保存をクリックします。
E メールの件名テンプレートの作成
この例では、発射アラートと解決済みアラートの数を含む E メールの件名のテンプレートを作成します。
1 firing alerts, 0 resolved alerts
E メールの件名のテンプレートを作成するには
-
email.subjectというテンプレートを次の内容で作成します。{{ define "email.subject" }} {{ len .Alerts.Firing }} firing alerts, {{ len .Alerts.Resolved }} resolved alerts {{ end }} -
テンプレートは、キーワード
templateを使用して件名フィールドに配置して、コンタクトポイント統合を作成するときに使用します。{{ template "email.subject" . }}
E メールのメッセージ用のテンプレート作成
この例では、すべての発射アラートと解決済みアラートの概要を含む E メールのメッセージ用のテンプレートを作成します。
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
E メールのメッセージ用のテンプレートを作成するには
-
emailという名前の通知テンプレートを、コンテンツにemail.message_alertとemail.messageという 2 つのテンプレートで作成します。email.message_alertテンプレートは、email.messageテンプレートに E メールの構造が含まれている間、各発射アラートと解決済みアラートのラベルと値を印刷するために使用されます。{{- 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 }} -
テンプレートは、キーワード
templateを使用してテキスト本文フィールドに配置して、コンタクトポイント統合を作成するときに使用します。{{ template "email.message" . }}
Slack メッセージのタイトルのテンプレート作成
この例では、発射アラートと解決済みアラートの数を含む Slack メッセージのタイトルのテンプレートを作成します。
1 firing alerts, 0 resolved alerts
Slack メッセージのタイトルのテンプレートを作成するには
-
slack.titleというテンプレートを次の内容で作成します。{{ define "slack.title" }} {{ len .Alerts.Firing }} firing alerts, {{ len .Alerts.Resolved }} resolved alerts {{ end }} -
テンプレートは、キーワード
templateを使用してタイトルフィールドに配置して、コンタクトポイント統合を作成するときに使用します。{{ template "slack.title" . }}
Slack メッセージのコンテンツのテンプレート作成
すべての発射アラートと解決済みアラートの説明 (ラベル、注釈、ダッシュボード URL など) を含む Slack メッセージのコンテンツのテンプレートを作成します。
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 メッセージのコンテンツのテンプレートを作成するには
-
コンテンツに
slack.print_alertとslack.messageの 2 つのテンプレートを使用して、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 }} -
テンプレートは、キーワード
templateを使用してテキスト本文フィールドに配置して、コンタクトポイント統合を作成するときに使用します。{{ template "slack.message" . }}
共有テンプレートを使用して E メールと Slack の両方にテンプレートを作成する
E メールや Slack など、コンタクトポイントごとに個別の通知テンプレートを作成する代わりに、同じテンプレートを共有できます。
例えば、この件名の E メールを送信し、このタイトル 1 firing alerts, 0 resolved
alerts の Slack メッセージを送信する場合は、共有テンプレートを作成できます。
共有テンプレートを作成するには
-
common.subject_titleというテンプレートを次の内容で作成します。{{ define "common.subject_title" }} {{ len .Alerts.Firing }} firing alerts, {{ len .Alerts.Resolved }} resolved alerts {{ end }} -
E メールの場合は、E メールコンタクトポイント統合の件名フィールドからテンプレートを実行します。
{{ template "common.subject_title" . }} -
Slack の場合は、Slack コンタクトポイント統合のタイトルフィールドからテンプレートを実行します。
{{ template "common.subject_title" . }}
通知テンプレートの使用
コンタクトポイントのテンプレートを使用して通知をカスタマイズします。
コンタクトポイントの作成時にテンプレートを使用するには
-
[アラート]メニューから、[コンタクトポイント] を選択して、既存のコンタクトポイントのリストを表示します。
-
[コンタクトポイントを追加] を選択します。または、編集するコンタクトポイントの横にある [編集] アイコン (ペン) を選択して、既存のコンタクトポイントを編集することもできます。
-
[Message] (メッセージ) や [Subject] (件名) などの 1 つ以上のフィールドに、使用するテンプレートを入力します。テンプレートを入力するには、
{{ template "フォームを使用し、template_name" . }}template_nameを使用するテンプレートの名前に置き換えます。 -
[コンタクトポイントの保存] をクリックします。