建立通知範本 - Amazon Managed Grafana

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

建立通知範本

本文件主題是針對支援 Grafana 10.x 版的 Grafana 工作區所設計。

如需支援 Grafana 9.x 版的 Grafana 工作區,請參閱。在 Grafana 第 9 版中工作

如需支援 Grafana 8.x 版的 Grafana 工作區,請參閱。在 Grafana 第 8 版中工作

創建可重複使用的通知模板以發送到您的聯繫方式。

您可以在通知範本中新增一或多個範本。

您的通知範本名稱必須是唯一的。在相同的通知範本或不同的通知範本中,您不能有兩個名稱相同的範本。請避免使用與預設範本相同名稱來定義範本__subject,例如:__text_values_list__text_alert_list、、default.titledefault.message

在「聯繫方式」選項卡中,您可以看到通知模板的列表。

建立通知範本

若要建立通知範本
  1. 選擇警報管理門戶 IRM聯繫點

  2. 選擇 [通知範本] 索引標籤,然後選擇 [+ 新增通知範本]。

  3. 選擇通知範本的名稱,例如email.subject

  4. 在內容字段中編寫模板的內容。

    例如:

    {{ if .Alerts.Firing -}} {{ len .Alerts.Firing }} firing alerts {{ end }} {{ if .Alerts.Resolved -}} {{ len .Alerts.Resolved }} resolved alerts {{ end }}
  5. 儲存您的變更。

    {{ define "email.subject" }}(其中email.subject是模板的名稱),並{{ end }}自動添加到內容的開頭和結尾。

若要建立包含多個範本的通知範本
  1. 選擇警報管理門戶 IRM聯繫點

  2. 選擇 [通知範本] 索引標籤,然後選擇 [+ 新增通知範本]。

  3. 輸入整體通知範本的名稱。例如 email

  4. 在「內容」欄位中寫入每個範本{{ define "name-of-template" }},包括每個範本的開頭和結尾{{ end }}處。您可以為通知範本中的每個範本使用描述性名稱,例如,email.subjectemail.message。在此情況下,請勿重複使用您在上面輸入的通知範本名稱。

    後面的章節顯示了您可能創建的模板的詳細示例。

  5. 按一下 Save (儲存)。

預覽通知範本

預覽通知範本在您的聯絡點使用它們之前的外觀,以協助您瞭解所建立範本的結果,以及讓您有機會在儲存範本之前修正任何錯誤。

注意

通知預覽僅適用於 Grafana 警示管理員。

預覽通知範本
  1. 選擇警報管理門戶 IRM聯繫點

  2. 選擇 [通知範本] 索引標籤,然後選擇 [+ 新增通知範本],或編輯現有範本。

  3. 新增或更新範本內容。

    提供了默認數據,您可以向其添加或編輯警報數據以及警報實例。您可以直接在「承載資料」視窗中新增警示資料,或按一下「選取警示例項」或「新增自訂警示」。

  4. [選用] 若要從現有警示執行個體新增警示資料:

    1. 選擇選取警示例項

    2. 將滑鼠游標暫留在警示例項上,即可檢視每個警示例項的詳細資訊/

    3. 選擇 [確認],將警示執行個體新增至承載。

  5. [選用] 若要使用警示資料編輯器新增警示資料,請選擇 [新增自訂資料]:

    1. 加入註釋、自訂標籤,或設定管控面板或面板。

    2. 切換「觸發」或「已解決」,視您要將觸發或已解決的警示新增至通知而定。

    3. 選擇 [新增警示資料]。

    4. 選擇 [重新整理預覽] 以查看範本內容的外觀以及對應的承載資料。

    如果樣板中有任何錯誤,這些錯誤會顯示在「預覽」中,您可以在儲存之前更正它們。

  6. 儲存您的變更。

建立郵件主旨的範本

為包含觸發和已解決警示數目的電子郵件主旨建立範本,如下列範例所示:

1 firing alerts, 0 resolved alerts
若要建立電子郵件主旨的範本
  1. email.subject使用下列內容建立名為的範本:

    {{ define "email.subject" }} {{ len .Alerts.Firing }} firing alerts, {{ len .Alerts.Resolved }} resolved alerts {{ end }}
  2. 在建立聯絡點整合時使用範本,方法是使用template關鍵字將範本放入「主旨」欄位中。

    {{ template "email.subject" . }}

建立電子郵件訊息的範本

為包含所有觸發和已解決警示摘要的電子郵件建立範本,如下列範例所示:

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包含兩個範本的通知範本:email.message_alertemail.message

    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 }}
  2. 在建立聯絡點整合時使用範本,方法是將範本與template關鍵字放入「文字內文」欄位中。

    {{ template "email.message" . }}

建立 Slack 訊息標題的範本

為包含觸發和已解決警示數目的 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 }}
  2. 從聯絡點整合中的標題欄位執行範本。

    {{ template "slack.title" . }}

建立 Slack 訊息內容的範本

為 Slack 訊息內容建立範本,其中包含所有觸發和已解決警示的說明,包括其標籤、註釋和儀表板 URL。

注意

此範本僅適用於 Grafana 管理的警示。若要使用資料來源管理警示的範本,請刪除儀表板 Durl 和靜音 URL 的參考。如需有關設定 Prometheus 通知的詳細資訊,請參閱有關通知的 Prome theus 文件。

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包含兩個範本的範本:slack.print_alertslack.message

    slack.print_alert模板用於打印標籤,註釋和儀表板 Durl,而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 }}
  2. 從您的聯絡點整合中的文字內文欄位執行範本:

    {{ template "slack.message" . }}

使用共享模板模板電子郵件和 Slack

您可以共享相同的模板,而不是為每個聯繫人創建單獨的通知模板,例如電子郵件和 Slack。

例如,如果您想要傳送含有此標題的電子郵件主旨和 Slack 訊息1 firing alerts, 0 resolved alerts,您可以建立共用範本。

建立共用範本的步驟
  1. common.subject_title使用下列內容建立名為的範本:

    {{ define "common.subject_title" }} {{ len .Alerts.Firing }} firing alerts, {{ len .Alerts.Resolved }} resolved alerts {{ end }}
  2. 對於電子郵件,請從電子郵件聯絡點整合中的主旨欄位執行範本:

    {{ template "common.subject_title" . }}
  3. 對於 Slack,請從 Slack 聯絡點整合中的標題欄位執行範本:

    {{ template "common.subject_title" . }}