選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

使用訊息範本

焦點模式
使用訊息範本 - Amazon Managed Grafana

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

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

本文件主題專為支援 Grafana 8.x 版的 Grafana 工作區而設計。

如需支援 Grafana 10.x 版的 Grafana 工作區,請參閱使用 Grafana 第 10 版

如需支援 Grafana 9.x 版的 Grafana 工作區,請參閱使用 Grafana 第 9 版

透過 傳送的通知使用聯絡點是使用訊息範本建置。Grafana 的預設範本是以 Go 範本系統為基礎,其中某些欄位會評估為文字,而其他則評估為 HTML (這可能會影響逸出)。

由於大部分的聯絡點欄位都可以建立範本,因此您可以建立可重複使用的自訂範本,並在多個聯絡點中使用它們。範本資料 主題會列出可用於範本化的變數。

使用 範本

範本用於建立訊息。例如,使用 Slack 提醒訊息,您可以在聯絡點中設定標題和內文。下列範例示範如何使用預設範本來建立包含觸發和解決提醒計數的標題,以及列出提醒及其狀態的內文。

  • 標題

    {{ len .Alerts.Firing }} firing, {{ len .Alerts.Resolved }} resolved
  • 文字內文

    {{ range .Alerts }}{{ .Status }}: {{ .Labels.alertname }} {{end }}

您可以建立自己的自訂範本,如下列範例所示。

  • 標題

    {{ template "slack.default.title" .}}
  • 文字內文

    {{ template "mymessage" .}}

以下是範例範本。

{{ 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 }}

下列程序說明如何建立、編輯和刪除自訂訊息範本。

建立訊息範本
  1. 在 Grafana 主控台的 Grafana 功能表中,選擇警示 (鈴鐺) 圖示以開啟警示頁面。

  2. 選擇聯絡點

  3. Alertmanager 下拉式清單中,選取您要為其建立訊息範本的 Alertmanager 執行個體。預設為 Grafana Alertmanager。

  4. 選擇新增範本

  5. 新增描述性名稱

  6. 新增範本的內容,例如:

    {{ define "mymessage" }} {{ range .Alerts }} [{{ .Status }}] {{ range .Labels }} {{ .Name }}={{.Value }}{{end}} {{ end }} {{ end }}

    內容區段中的define標籤會指派範本名稱。此標籤為選用,省略時,範本名稱衍生自名稱欄位。指定兩者時,最佳實務是保持兩者相同。

  7. 選擇儲存範本

注意

提醒訊息範本中的 HTML 會轉譯為文字,並逸出控制項字元。Grafana 不支援在產生的通知中轉譯 HTML。

編輯訊息範本
  1. 提醒頁面中,選擇聯絡點以開啟聯絡點清單。

  2. 範本表格中,尋找您要編輯的範本,然後選擇編輯圖示 (筆)。

  3. 進行變更,然後選擇儲存範本

刪除訊息範本
  1. 提醒頁面中,選擇聯絡點以開啟聯絡點清單。

  2. 範本資料表中,尋找您要移除的範本,然後選擇刪除圖示 (垃圾桶)。

  3. 選擇是,刪除以刪除範本。

巢狀範本

您可以在其他範本中內嵌範本。

例如,您可以使用define關鍵字定義範本片段:

{{ define "mytemplate" }} {{ len .Alerts.Firing }} firing. {{ len .Alerts.Resolved }} resolved. {{ end }}

然後,您可以使用 template關鍵字在此片段中嵌入自訂範本。例如:

Alert summary: {{ template "mytemplate" . }}

您可以使用下列內建範本選項來內嵌自訂範本。

名稱 備註

default.title

顯示高階狀態資訊。

default.message

提供射擊和已解決提醒的格式化摘要。

自訂範本範例

以下是如何使用自訂範本的範例。

轉譯單一提醒的範本:

{{ 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 }}

轉譯整個通知訊息的範本:

{{ 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 }}

範本資料

下列資料會傳遞至訊息範本。

名稱 Type 備註

Receiver

string

通知要傳送到的聯絡點名稱。

Status

string

如果至少一個警示正在觸發,則觸發,否則會解決。

Alerts

警示

此通知中包含的提醒物件清單 (請參閱以下內容)。

GroupLabels

KeyValue

這些提醒的標籤分組依據。

CommonLabels

KeyValue

此通知中包含的所有提醒通用的標籤。

CommonAnnotations

KeyValue

此通知中包含的所有提醒通用的註釋。

ExternalURL

string

傳送通知的 Grafana 的返回連結。如果使用外部 Alertmanager,請返回此 Alertmanager 的連結。

Alerts 類型會公開兩個用於篩選傳回提醒的函數。

  • Alerts.Firing – 傳回射擊警示的清單。

  • Alerts.Resolved – 傳回已解析提醒的清單。

提醒 (類型)

提醒類型包含下列資料。

名稱 Type 備註

Status

string

firingresolved

標籤

KeyValue

附加到提醒的一組標籤。

註釋

KeyValue

附加到提醒的一組註釋。

StartsAt

time.Time

警示開始觸發的時間。

EndsAt

time.Time

只有在已知警示的結束時間時才設定。否則,將 設定為自上次收到提醒以來的可設定逾時期間。

GeneratorURL

string

Grafana 或外部 Alertmanager 的後退連結。

SilenceURL

string

連結至 的 grafana 無聲,並預先填入此提醒的標籤。僅適用於 Grafana 受管提醒。

DashboardURL

string

如果警示規則屬於 grafana 儀表板,則連結至 grafana 儀表板。僅適用於 Grafana 受管提醒。

PanelURL

string

如果警示規則屬於一個,則連結至 grafana 儀表板面板。僅適用於 Grafana 受管提醒。

指紋

string

可用來識別提醒的指紋。

ValueString

string

包含提醒中每個減少表達式標籤和值的字串。

KeyValue 類型

KeyValue 類型是一組代表標籤和註釋的鍵/值字串對。

除了直接存取存放為 的資料之外KeyValue,還有排序、移除和轉換資料的方法。

名稱 引數 傳回值 備註

SortedPairs

索引鍵和值字串對的排序清單

Remove (移除)

【】字串

KeyValue

傳回不含指定金鑰的金鑰/值映射複本。

名稱

【】字串

標籤名稱清單

【】字串

標籤值清單

範本函數

您可以使用範本函數處理標籤和註釋,以產生動態通知。下列 函數可供使用。

名稱 引數類型 傳回類型 描述

humanize

數字或字串

string

使用指標字首,將數字轉換為更易於讀取的格式。

humanize1024

數字或字串

string

如同人文化,但使用 1024 作為基礎,而不是 1000。

humanizeDuration

數字或字串

string

以秒為單位將持續時間轉換為更易於讀取的格式。

humanizePercentage

數字或字串

string

將比率值轉換為 100 的分數。

humanizeTimestamp

數字或字串

string

以秒為單位將 Unix 時間戳記轉換為更易於讀取的格式。

title

string

string

strings.Title,將每個字詞的第一個字元大寫。

toUpper

string

string

strings.ToUpper, 會將所有字元轉換為大寫。

toLower

string

string

strings.ToLower, 會將所有字元轉換為小寫。

match

模式、文字

boolean

regexp.MatchString 測試未錨定的 regexp 比對。

reReplaceAll

模式、替換、文字

string

Regexp.ReplaceAllString Regexp 替換,未錨定。

graphLink

string - JSON 物件與 exprdatasource 欄位

string

在探索中傳回指定表達式和資料來源的圖形檢視路徑。

tableLink

string - JSON 物件與 exprdatasource 欄位

string

針對指定的表達式和資料來源,傳回探索中表格式檢視的路徑。

args

【】介面{}

map【string】interface{}

將物件清單轉換為具有索引鍵的映射,例如 arg0、arg1。使用此函數將多個引數傳遞至 範本。

externalURL

string

傳回代表外部 URL 的字串。

pathPrefix

string

傳回外部 URL 的路徑。

下表顯示使用每個函數的範例。

函式 TemplateString 輸入 預期

人文化

{ 人文化 $value }

1234567.0

12.35M

humanize1024

{ humanize1024 $value }

1048576.0

1Mi

humanizeDuration

{ humanizeDuration $value }

899.99

14 公尺 59 秒

humanizePercentage

{ humanizePercentage $value }

0.1234567

12.35%

humanizeTimestamp

{ humanizeTimestamp $value }

1435065584.128

2015-06-23 13:19:44.128 +0000 UTC

標題

{ $value | 標題 }

aa bB CC

Aa Bb Cc

toUpper

{ $value | toUpper}

aa bB CC

AA BB CC

toLower

{ $value | toLower }

aa bB CC

aa bb cc

match

{ match "a+" $labels.instance }

aa

true

reReplaceAll

{{ reReplaceAll "localhost:(.*)" "my.domain:$1" $labels.instance }}

localhost:3000

my.domain:3000

graphLink

{{ graphLink "{\"expr\": \"up\"、\"datasource\": \"gdev-prometheus\"}" }}

/explore?left=【"now-1h","now","gdev-prometheus",{"datasource":"gdev-prometheus","expr":"up","instant":false,"range":true}】

tableLink

{{ tableLink "{\"expr\":\"up\"、\"datasource\":\"gdev-prometheus\"}" }}

/explore?left=【"now-1h","now","gdev-prometheus",{"datasource":"gdev-prometheus","expr":"up","instant":true,"range":false}】

args

{{define "x"}}{{.arg0}} {{.arg1}}{{end}}{{template "x" (args 1 "2")}}

1 2

externalURL

{ externalURL }

http://localhost/path/prefix

pathPrefix

{ pathPrefix }

/path/prefix

在本頁面

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。