

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

# 管理您的提醒
<a name="v10-alerting-manage"></a>

****  
本文件主題專為支援 Grafana **10.x 版的 Grafana** 工作區而設計。  
如需支援 Grafana 9.x 版的 Grafana 工作區，請參閱 [使用 Grafana 第 9 版](using-grafana-v9.md)。  
如需支援 Grafana 8.x 版的 Grafana 工作區，請參閱 [使用 Grafana 第 8 版](using-grafana-v8.md)。

設定提醒規則、聯絡點和通知政策之後，您就可以使用 Grafana 提醒來實際管理提醒。

**Topics**
+ [自訂通知](v10-alerting-manage-notifications.md)
+ [管理聯絡點](v10-alerting-manage-contactpoints.md)
+ [靜音提醒通知](v10-alerting-silences.md)
+ [檢視和篩選提醒規則](v10-alerting-manage-rules-viewfilter.md)
+ [靜音計時](v10-alerting-manage-muting.md)
+ [檢視警示規則的狀態和運作狀態](v10-alerting-manage-rulestate.md)
+ [依警示群組檢視和篩選](v10-alerting-manage-viewfiltergroups.md)
+ [檢視通知錯誤](v10-alerting-manage-viewnotificationerrors.md)

# 自訂通知
<a name="v10-alerting-manage-notifications"></a>

****  
本文件主題專為支援 Grafana **10.x 版的 Grafana** 工作區而設計。  
如需支援 Grafana 9.x 版的 Grafana 工作區，請參閱 [使用 Grafana 第 9 版](using-grafana-v9.md)。  
如需支援 Grafana 8.x 版的 Grafana 工作區，請參閱 [使用 Grafana 第 8 版](using-grafana-v8.md)。

使用通知範本自訂您的通知。

您可以使用通知範本來變更通知中訊息的標題、訊息和格式。

通知範本不會與特定聯絡點整合繫結，例如 Amazon SNS 或 Slack。不過，您可以選擇為不同的聯絡點整合建立個別的通知範本。

您可以使用通知範本來：
+ 在通知中新增、移除或重新排序資訊，包括摘要、描述、標籤和註釋、值和連結
+ 以粗體和斜體格式設定文字，並新增或移除換行符號

您無法使用通知範本來：
+ 變更 Slack 和 Microsoft Teams 等即時傳訊服務中通知的設計

**Topics**
+ [使用 Go 的範本語言](v10-alerting-notifications-go-templating.md)
+ [建立通知範本](v10-alerting-create-templates.md)
+ [使用通知範本](#v10-alerting-use-notification-templates)
+ [範本參考](v10-alerting-template-reference.md)

# 使用 Go 的範本語言
<a name="v10-alerting-notifications-go-templating"></a>

****  
本文件主題專為支援 Grafana **10.x 版的 Grafana** 工作區而設計。  
如需支援 Grafana 9.x 版的 Grafana 工作區，請參閱 [使用 Grafana 第 9 版](using-grafana-v9.md)。  
如需支援 Grafana 8.x 版的 Grafana 工作區，請參閱 [使用 Grafana 第 8 版](using-grafana-v8.md)。

您使用 Go 的範本語言[文字/範本撰寫通知範本](https://pkg.go.dev/text/template)。

本節提供 Go 的範本語言和以文字/範本撰寫範本的概觀。

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

在文字/範本中，有一個稱為點的特殊游標，並寫入為 `.`。您可以將此游標視為變數，其值會根據使用的範本中的位置而變更。例如，在通知範本的開頭`.`是指 `ExtendedData` 物件，其中包含多個欄位，包括 `Alerts`、`Status`、`GroupLabels`、 `CommonLabels``CommonAnnotations`和 `ExternalURL`。不過，當在`range`清單上使用 時、在 內使用時，或寫入要用於其他範本的功能範本時`with`，點可能會參照其他項目。您可以在 中看到此範例[建立通知範本](v10-alerting-create-templates.md)，以及 中的所有資料和函數[範本參考](v10-alerting-template-reference.md)。

## 開啟和關閉標籤
<a name="v10-go-openclosetags"></a>

在文字/範本中，無論範本`}}`是否列印變數或執行控制結構，例如 if 陳述式，範本都會以 開頭`{{`和結尾。這與其他範本語言不同，例如 Jinja，其中列印變數使用 `{{`和 `}}`，控制結構使用 `{%`和 `%}`。

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

若要列印某個項目的值，請使用 `{{`和 `}}`。您可以列印點的值、點的欄位、函數的結果，以及[變數](#v10-go-variables)的值。例如，若要列印 點所指`Alerts`的欄位`ExtendedData`，您需要撰寫以下內容：

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

## 重複提醒
<a name="v10-go-iterate-alerts"></a>

若要只列印每個提醒的標籤，而不是有關提醒的所有資訊，您可以使用 `range`來重複 中的提醒`ExtendedData`：

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

範圍內的點不再是指 `ExtendedData`，而是 `Alert`。您可以使用 `{{ .Labels }}`來列印每個提醒的標籤。這是因為`{{ range .Alerts }}`變更點指向提醒清單中的目前提醒。當範圍完成時，點會重設為範圍開始之前的值，在此範例中為 `ExtendedData`：

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

## 逐一查看註釋和標籤
<a name="v10-go-iterate-labels"></a>

讓我們編寫範本，以 格式列印每個提醒的標籤`The name of the label is $name, and the value is $value`，其中 `$name`和 `$value`包含每個標籤的名稱和值。

如同上一個範例，使用範圍來逐一查看提醒，`.Alerts`讓點參照提醒清單中的目前提醒，然後在排序的標籤上使用第二個範圍，讓點再次更新以參照目前的標籤。在第二個範圍內，使用 `.Name` 和 `.Value`來列印每個標籤的名稱和值：

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

## 索引函數
<a name="v10-go-index"></a>

若要列印特定註釋或標籤，請使用 `index`函數。

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

## 如果陳述式
<a name="v10-go-if"></a>

您可以在範本中使用 if 陳述式。例如，`There are no alerts`若要在 中沒有提醒時列印`.Alerts`，您會撰寫下列項目：

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

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

使用 與 if 陳述式類似，但與使用 陳述式不同， 會以下列方式`with`更新點來參考 的值：

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

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

文字/範本中的變數必須在範本中建立。例如，若要建立名為 `$variable`且目前值為點的變數，您需要撰寫下列項目：

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

您可以在範圍 或 `$variable`內使用 ，`with`它會在定義變數時參考點的值，而不是點的目前值。

例如，您無法撰寫`{{ .Labels }}`在第二個範圍內使用的範本，因為這裡的點是指目前的標籤，而不是目前的提醒：

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

您可以透過在第一個範圍`$alert`和第二個範圍之前定義名為 的變數來修正此問題：

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

## 具有索引的範圍
<a name="v10-go-rangeindex"></a>

您可以在範圍的開頭定義索引和值變數，以取得範圍內每個提醒的索引：

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

## 定義範本
<a name="v10-go-define"></a>

您可以使用 `define`和雙引號中的範本名稱，定義可在其他範本中使用的範本。您不應定義與其他範本同名的範本，包括預設範本，例如 `__subject`、`__text_alert_list`、 `__text_values_list``default.title`和 `default.message`。如果已建立與預設範本同名的範本，或另一個通知範本中的範本，Grafana 可能會使用任一個範本。當有兩個或多個具有相同名稱的範本時，Grafana 不會阻止或顯示錯誤訊息。

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

## 執行 範本
<a name="v10-go-execute"></a>

您可以使用 `template`、雙引號中的範本名稱，以及應該傳遞至範本的游標，在範本內執行定義的範本：

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

## 將資料傳遞至 範本
<a name="v10-go-passdata"></a>

在範本點中， 是指傳遞給範本的值。

例如，如果範本通過射擊提醒清單，則點是指射擊提醒清單：

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

如果範本已傳遞警示的排序標籤，則點會參照排序標籤的清單：

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

這在撰寫可重複使用的範本時非常有用。例如，若要列印所有提醒，您可以撰寫下列項目：

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

然後，若要只列印射擊提醒，您可以編寫以下內容：

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

這可以運作，因為 `.Alerts`和 `.Alerts.Firing` 都是提醒清單。

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

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

您可以使用 `{{/*`和 新增註解`*/}}`：

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

若要防止註解新增換行符號，請使用：

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

## 縮排
<a name="v10-go-indentation"></a>

您可以使用縮排、標籤和空格，以及換行，讓範本更易讀：

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

不過，範本中的縮排也會出現在文字中。接下來，我們將了解如何移除它。

## 移除空格和換行符號
<a name="v10-go-removespace"></a>

在文字/範本中，使用 `{{-`和 `-}}` 來移除前後空格和換行符號。

例如，使用縮排和換行讓範本更易讀：

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

縮排和換行也會出現在文字中：

```
    alertname = "Test"

    grafana_folder = "Test alerts"
```

您可以從在每個範圍`}}``-}}`開始時變更為 的文字中移除縮排和換行：

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

範本中的縮排和換行現在不存在於文字中：

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

# 建立通知範本
<a name="v10-alerting-create-templates"></a>

****  
本文件主題專為支援 Grafana **10.x 版的 Grafana** 工作區而設計。  
如需支援 Grafana 9.x 版的 Grafana 工作區，請參閱 [使用 Grafana 第 9 版](using-grafana-v9.md)。  
如需支援 Grafana 8.x 版的 Grafana 工作區，請參閱 [使用 Grafana 第 8 版](using-grafana-v8.md)。

建立可重複使用的通知範本以傳送至您的聯絡點。

您可以將一或多個範本新增至通知範本。

您的通知範本名稱必須是唯一的。您不能在相同的通知範本或不同的通知範本中有兩個同名的範本。避免使用與預設範本相同的名稱來定義範本，例如：`__subject`、`__text_alert_list`、 `__text_values_list``default.title`和 `default.message`。

在聯絡點索引標籤中，您可以看到通知範本的清單。

## 建立通知範本
<a name="v10-alerting-creating-templates"></a>

**建立通知範本**

1. 選擇**提醒**、**聯絡點**。

1. 選擇**通知範本**索引標籤，然後選擇 **\$1 新增通知範本**。

1. 選擇通知範本的名稱，例如 `email.subject`。

1. 在內容欄位中輸入範本的內容。

   例如：

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

1. 儲存您的變更。

   `{{ define "email.subject" }}` （其中 `email.subject`是您範本的名稱）， `{{ end }}`會自動新增至內容的開頭和結尾。

**建立包含多個範本的通知範本**

1. 選擇**提醒**、**聯絡點**。

1. 選擇**通知範本**索引標籤，然後選擇 **\$1 新增通知範本**。

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

1. 在內容欄位中寫入每個範本，包括每個範本`{{ end }}`的開頭和結尾的 `{{ define "name-of-template" }}`和 。您可以對通知範本中的每個範本使用描述性名稱，例如 `email.subject`或 `email.message`。在此情況下，請勿重複使用您在上方輸入的通知範本名稱。

   稍後的章節顯示您可能建立之範本的詳細範例。

1. 按一下 Save (儲存)。

## 預覽通知範本
<a name="v10-alerting-preview-templates"></a>

在聯絡點中使用通知範本之前，預覽通知範本的外觀，協助您了解所建立範本的結果，並讓您有機會在儲存範本之前修正任何錯誤。

**注意**  
通知預覽僅適用於 Grafana Alertmanager。

**預覽您的通知範本**

1. 選擇**提醒**、**聯絡點**。

1. 選擇**通知範本**索引標籤，然後選擇 **\$1 新增通知範本**，或編輯現有範本。

1. 新增或更新您的範本內容。

   系統會提供預設資料，您可以新增或編輯提醒資料，以及提醒執行個體。您可以直接在承載資料視窗中新增提醒資料，或按一下**選取提醒執行個體**或**新增自訂提醒**。

1. 【選用】 若要從現有的提醒執行個體新增提醒資料：

   1. 選擇**選取提醒執行個體**。

   1. 將滑鼠游標暫留在提醒執行個體上，以檢視每個提醒執行個體/ 的詳細資訊

   1. 選擇**確認**，將提醒執行個體新增至承載。

1. 【選用】 若要使用警示資料編輯器新增警示資料，請選擇**新增自訂資料**：

   1. 新增註釋、自訂標籤或設定儀表板或面板。

   1. 切換 Firing 或已解決，取決於您要將 firing 或已解決的提醒新增至通知。

   1. 選擇**新增提醒資料**。

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

   如果您的範本中有任何錯誤，它們會顯示在預覽中，您可以在儲存之前更正它們。

1. 儲存您的變更。

## 為訊息主旨建立範本
<a name="v10-alerting-create-template-subject"></a>

為電子郵件主旨建立範本，其中包含觸發和已解決提醒的數量，如本範例所示：

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

**為電子郵件主旨建立範本**

1. 使用下列內容建立名為 `email.subject`的範本：

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

1. 在建立聯絡點整合時使用 範本，方法是將範本放入具有 `template`關鍵字的**主旨**欄位中。

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

## 建立電子郵件訊息的範本
<a name="v10-alerting-create-template-message"></a>

為電子郵件的訊息建立範本，其中包含所有觸發和已解決提醒的摘要，如本範例所示：

```
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_alert`和 `email.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 }}
   ```

1. 在建立聯絡點整合時使用 範本，方法是將範本放入具有 `template`關鍵字**的文字內文**欄位中。

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

## 建立 Slack 訊息標題的範本
<a name="v10-alerting-create-template-slack-title"></a>

建立 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 }}
   ```

1. 從聯絡人整合中的標題欄位執行範本。

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

## 為 Slack 訊息的內容建立範本
<a name="v10-alerting-create-template-slack-message"></a>

為 Slack 訊息的內容建立範本，其中包含所有觸發和已解決提醒的描述，包括其標籤、註釋和儀表板 URL。

**注意**  
此範本僅適用於 Grafana 受管提醒。若要將 範本用於資料來源受管警示，請刪除 DashboardURL 和 SilenceURL 的參考。如需設定 Prometheus 通知的詳細資訊，請參閱[通知上的 Prometheus 文件](https://prometheus.io/docs/alerting/latest/notifications/)。

```
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_alert`和 `slack.message`。

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

1. 從聯絡點整合中的文字內文欄位執行範本：

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

## 使用共用範本來範本電子郵件和 Slack
<a name="v10-alerting-create-shared-templates"></a>

您可以共用相同的範本，而不是為每個聯絡點建立個別的通知範本，例如電子郵件和 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 }}
   ```

1. 對於電子郵件，請從電子郵件聯絡點整合中的主旨欄位執行範本：

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

1. 對於 Slack，請從 Slack 聯絡點整合中的標題欄位執行範本：

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

## 使用通知範本
<a name="v10-alerting-use-notification-templates"></a>

在聯絡點中使用範本來自訂您的通知。

**在建立聯絡點時使用範本**

1. 從**提醒**功能表中，選擇**聯絡點**索引標籤以查看現有聯絡點的清單。

1. 選擇 **New (新增)**。或者，您可以選擇編輯圖示來**編輯**現有的聯絡點。

1. 輸入您希望在**訊息**或**主旨**等欄位中使用的範本。若要輸入範本，請使用表單 `{{ template "template_name" . }}`，將 *template\$1name* 取代為您要使用的範本名稱。

1. 選擇**儲存聯絡點**。

# 範本參考
<a name="v10-alerting-template-reference"></a>

****  
本文件主題專為支援 Grafana **10.x 版的 Grafana** 工作區而設計。  
如需支援 Grafana 9.x 版的 Grafana 工作區，請參閱 [使用 Grafana 第 9 版](using-grafana-v9.md)。  
如需支援 Grafana 8.x 版的 Grafana 工作區，請參閱 [使用 Grafana 第 8 版](using-grafana-v8.md)。

本節提供建立範本的參考資訊。

**提醒 （類型）**

提醒類型包含下列資料。


| 名稱 | Kind | Description | 範例 | 
| --- | --- | --- | --- | 
|  狀態  |  string  |  `firing` 或 `resolved`  | \$1\$1 .Status \$1\$1 | 
|  標籤  |  KeyValue  |  連接到提醒的一組標籤。  | \$1\$1 .Labels \$1\$1 | 
|  註釋  |  KeyValue  |  附加到提醒的一組註釋。  | \$1\$1 .Annotations \$1\$1 | 
| 值 | KeyValue | 所有表達式的值，包括傳統條件 | \$1\$1 .Values \$1\$1 | 
|  StartsAt  |  time.Time  |  警示開始觸發的時間。  | \$1\$1 .StartsAt \$1\$1 | 
|  EndsAt  |  time.Time  |  只有在已知警示的結束時間時才設定。否則，請設定為自上次收到提醒以來的可設定逾時期間。  | \$1\$1 .EndsAt \$1\$1 | 
|  GeneratorURL  |  string  |  Grafana 或外部 Alertmanager 的後退連結。  | \$1\$1 .GeneratorURL \$1\$1 | 
|  SilenceURL  |  string  |  提醒靜音的連結 （已預先填入此提醒的標籤）。僅適用於 Grafana 受管提醒。  | \$1\$1 .SilenceURL\$1\$1 | 
|  DashboardURL  |  string  |  如果警示規則屬於一個，則連結至 grafana 儀表板。僅適用於 Grafana 受管提醒。  | \$1\$1 .DashboardURL \$1\$1 | 
|  PanelURL  |  string  |  如果警示規則屬於一個，則連結至 grafana 儀表板面板。僅適用於 Grafana 受管提醒。  | \$1\$1 .PanelURL \$1\$1 | 
|  指紋  |  string  |  可用來識別提醒的指紋。  | \$1\$1 .Fingerprint \$1\$1 | 
|  ValueString  |  string  |  字串，其中包含提醒中每個減少表達式的標籤和值。  | \$1\$1 .ValueString \$1\$1 | 

 **ExtendedData**

ExtendedData 物件包含下列屬性。


| 名稱 | Kind | Description | 範例 | 
| --- | --- | --- | --- | 
|  接收者  |  `string`  |  傳送通知的聯絡點名稱。  |  `{{ .Receiver }}`  | 
|  狀態  |  `string`  |  `firing` 如果至少一個提醒正在觸發，則狀態為 ，否則為 `resolved`。  |  `{{ .Status }}`  | 
|  Alerts (提醒)  |  `[]Alert`  |  此通知中所有射擊和已解決提醒的清單。  |  `There are {{ len .Alerts }} alerts`  | 
|  觸發提醒  |  `[]Alert`  |  此通知中的所有射擊提醒清單。  |  `There are {{ len .Alerts.Firing }} firing alerts`  | 
|  已解決的提醒  |  `[]Alert`  |  此通知中所有已解決提醒的清單。  |  `There are {{ len .Alerts.Resolved }} resolved alerts`  | 
|  GroupLabels  |  `KeyValue`  |  將這些提醒分組到其通知中的標籤。  |  `{{ .GroupLabels }}`  | 
|  CommonLabels  |  `KeyValue`  |  此通知中所有提醒通用的標籤。  |  `{{ .CommonLabels }}`  | 
|  CommonAnnotations  |  `KeyValue`  |  此通知中所有提醒通用的註釋。  |  `{{ .CommonAnnotations }}`  | 
|  ExternalURL  |  `string`  |  傳送此通知的 Grafana 工作區或 Alertmanager 連結。  |  `{{ .ExternalURL }}`  | 

**KeyValue 類型**

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

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


| 名稱 | 引數 | 傳回值 | 備註 | 範例 | 
| --- | --- | --- | --- | --- | 
|  SortedPairs  |    |  已排序的索引鍵和值字串對清單  |    | `{{ .Annotations.SortedPairs }}` | 
|  移除  |  【】字串  |  KeyValue  |  傳回不含指定金鑰的金鑰/值映射複本。  | `{{ .Annotations.Remove "summary" }}` | 
|  名稱  |    |  【】字串  |  名稱清單  | `{{ .Names }}` | 
|  值  |    |  【】字串  |  值清單  | `{{ .Values }}` | 

**Time (時間)**

時間來自 Go [https://pkg.go.dev/time#Time](https://pkg.go.dev/time#Time)套件。您可以列印多種不同格式的時間。例如，若要列印 警示以 格式觸發的時間`Monday, 1st January 2022 at 10:00AM`，您可以撰寫下列範本：

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

您可以在[此處](https://pkg.go.dev/time#pkg-constants)找到 Go 時間格式的參考。

# 管理聯絡點
<a name="v10-alerting-manage-contactpoints"></a>

****  
本文件主題專為支援 Grafana **10.x 版的 Grafana** 工作區而設計。  
如需支援 Grafana 9.x 版的 Grafana 工作區，請參閱 [使用 Grafana 第 9 版](using-grafana-v9.md)。  
如需支援 Grafana 8.x 版的 Grafana 工作區，請參閱 [使用 Grafana 第 8 版](using-grafana-v8.md)。

**聯絡點**清單檢視會列出所有現有的聯絡點和通知範本。

在**聯絡點**索引標籤上，您可以：
+ 搜尋聯絡點和整合的名稱和類型。
+ 檢視所有現有的聯絡點和整合。
+ 檢視每個聯絡點使用的通知政策數量，並直接導覽至連結的通知政策。
+ 檢視通知交付的狀態。
+ 以 JSON、YAML 或 Terraform 格式匯出個別聯絡點或所有聯絡點。
+ 刪除通知政策未使用的聯絡點。

在**通知範本**索引標籤上，您可以：
+ 檢視、編輯、複製或刪除現有的通知範本。

# 靜音提醒通知
<a name="v10-alerting-silences"></a>

****  
本文件主題專為支援 Grafana **10.x 版的 Grafana** 工作區而設計。  
如需支援 Grafana 9.x 版的 Grafana 工作區，請參閱 [使用 Grafana 第 9 版](using-grafana-v9.md)。  
如需支援 Grafana 8.x 版的 Grafana 工作區，請參閱 [使用 Grafana 第 8 版](using-grafana-v8.md)。

您可以使用*靜音*來隱藏提醒通知。靜音只會停止建立通知：靜音不會阻止評估提醒規則，也不會停止在使用者介面中顯示提醒執行個體。當您將警示設為靜音時，您可以指定封鎖警示的時段。

**注意**  
若要定期隱藏提醒通知，例如在定期維護期間，請使用 [靜音計時](v10-alerting-manage-muting.md)而非靜音。

**新增靜音**

1. 在 Grafana 主控台的 Grafana 功能表中，選擇**提醒**。

1. 選擇**靜音**。

1. 從 Alertmanager 下拉式清單中選擇 **Alertmanager**。

1. 選擇**建立靜音**。

1. 在**靜音開始和結束日期中選取開始和**結束日期，以指示靜音何時生效以及何時結束。

1. 除了設定結束時間外，在**持續時間**中指定靜音強制執行的時間長度。這會自動更新**靜音開始和結束**欄位中的結束時間。

1. 在**標籤**和**值**欄位中，輸入一或多個*相符標籤*。配對者決定靜音適用的規則。任何相符的警示 （處於觸發狀態） **會顯示在受影響的警示執行個體**欄位中。

1. 或者，新增描述靜音的**註解**。

1. 選擇**提交**。

**編輯靜音**

1. 在 Grafana 主控台的 Grafana 功能表中，選擇**提醒**。

1. 選擇**靜音**以檢視現有靜音的清單。

1. 尋找您要編輯的靜音，然後選擇**編輯** （筆圖示）。

1. 進行任何所需的變更，然後選擇**提交**以儲存您的變更。

您可以選擇編輯圖示 （筆） 來**編輯**現有的靜音。

**建立靜音表單的 URL 連結**

連結至靜音表單時，請透過 和 `comment` 查詢參數提供預設相符標籤`matcher`和註解。`matcher` 參數應採用下列格式`[label][operator][value]`，其中`operator`參數可以是下列其中一項：`=`（等於、非 regex)、`!=`（不等於、非 regex)、`=~`（等於、regex)、`!~`（不等於、regex)。URL 可包含許多具有金鑰 的查詢參數`matcher`。例如，若要使用相符的標籤 `severity=critical` & `cluster!~europe-.*`和註解 連結到靜音表單`Silence critical EU alerts`，請建立 URL `https://mygrafana/alerting/silence/new?matcher=severity%3Dcritical&matcher=cluster!~europe-*&comment=Silence%20critical%20EU%20alert`。

若要連結至外部 Alertmanager 的新靜音頁面，請新增`alertmanager`查詢參數

**移除靜音**

1. 在 Grafana 主控台的 Grafana 功能表中，選擇**提醒**。

1. 選擇**靜音**以檢視現有靜音的清單。

1. 選取您要結束的靜音，然後選擇**取消靜音**。這會結束提醒抑制。
**注意**  
取消靜音會結束提醒抑制，就好像已將結束時間設定為目前時間一樣。已結束的靜音 （自動或手動） 會保留並列出五天。您無法手動從清單中移除靜音。

# 檢視和篩選提醒規則
<a name="v10-alerting-manage-rules-viewfilter"></a>

****  
本文件主題專為支援 Grafana **10.x 版的 Grafana** 工作區而設計。  
如需支援 Grafana 9.x 版的 Grafana 工作區，請參閱 [使用 Grafana 第 9 版](using-grafana-v9.md)。  
如需支援 Grafana 8.x 版的 Grafana 工作區，請參閱 [使用 Grafana 第 8 版](using-grafana-v8.md)。

**提醒**頁面列出提醒規則。根據預設，規則會依資料來源類型分組。**Grafana** 區段列出 Grafana 管理的規則。Prometheus 相容資料來源的提醒規則也列於此處。您可以檢視 Prometheus 相容資料來源的提醒規則，但無法編輯它們。

Mimir/Cortex/Loki 規則區段會列出 Mimir、Cortex 或 Loki 資料來源的所有規則。本節也會列出雲端提醒規則。

管理大量警示時，您可以使用延伸警示規則搜尋功能來篩選資料夾、評估群組和規則。此外，您可以依其屬性篩選警示規則，例如標籤、狀態、類型和運作狀態。

## 檢視提醒規則
<a name="v10-alerting-manage-rules-view"></a>

使用 Grafana 提醒，您可以在一個頁面中檢視所有提醒。

**檢視提醒詳細資訊**

1. 在 Grafana 主控台的 Grafana 功能表中，選擇**提醒**、**提醒規則**。根據預設，會顯示清單檢視。

1. 在**檢視為**中，您可以選擇您偏好的選項，在分組、清單和狀態檢視之間切換。

1. 展開規則列以檢視規則標籤、註釋、資料來源、規則查詢，以及規則產生的提醒執行個體清單。

您也可以從此頁面複製提醒規則，以協助您重複使用現有的規則。

## 匯出提醒規則
<a name="v10-alerting-manage-rules-export"></a>

您可以在 Grafana 工作區中將規則匯出至 YAML 或 JSON。
+ 選擇每個警示**規則群組旁的匯出**規則群組圖示，以匯出至 YAML、JSON 或 Terraform。
+ 選擇**匯出規則**，將所有 Grafana 受管警示規則匯出至 YAML、JSON 或 Terraform。
+ 選擇**更多**、**修改群組中每個個別提醒規則旁的匯出**，以編輯佈建提醒規則並匯出修改過的版本。

## 檢視已佈建提醒的查詢定義
<a name="v10-alerting-manage-rules-querydef"></a>

檢視佈建警示的唯讀查詢定義。快速檢查您的提醒規則查詢是否正確，而不深入了解規則定義的「即程式碼」儲存庫。

**分組檢視**

分組檢視會顯示依資料夾分組的 Grafana 提醒規則，以及依 `namespace` \$1 分組的 Loki 或 Prometheus 提醒規則`group`。這是預設規則清單檢視，用於管理規則。您可以展開每個群組，以檢視此群組中的規則清單。進一步展開規則以檢視其詳細資訊。您也可以展開規則所產生的動作按鈕和提醒，以檢視其詳細資訊。

**狀態檢視**

狀態檢視會顯示依狀態分組的提醒規則。使用此檢視來取得哪些規則處於何種狀態的概觀。每個規則都可以展開以檢視其詳細資訊。動作按鈕和此規則產生的任何提醒，每個提醒都可以進一步展開以檢視其詳細資訊。

## 篩選提醒規則
<a name="v10-alerting-manage-rules-filter"></a>

您可以透過多種方式篩選出現在提醒頁面上的**提醒**規則。

**篩選提醒規則**

1. 從**選取資料來源**中，選取資料來源。您可以查看查詢所選資料來源的提醒規則。

1. 在**依標籤搜尋**中，使用標籤選取器輸入搜尋條件。例如 `environment=production;region=~US|EU,severity!=warning`。

1. 從**依狀態篩選提醒**中，選取您要查看的提醒狀態。您可以看到符合該狀態的提醒規則。符合其他狀態的規則會隱藏。

# 靜音計時
<a name="v10-alerting-manage-muting"></a>

****  
本文件主題專為支援 Grafana **10.x 版的 Grafana** 工作區而設計。  
如需支援 Grafana 9.x 版的 Grafana 工作區，請參閱 [使用 Grafana 第 9 版](using-grafana-v9.md)。  
如需支援 Grafana 8.x 版的 Grafana 工作區，請參閱 [使用 Grafana 第 8 版](using-grafana-v8.md)。

靜音計時是政策未產生或傳送新通知的週期性時間間隔。使用它們來防止警示觸發特定和重複發生的期間，例如定期維護期間。

與靜音類似，靜音計時不會阻止評估警示規則，也不會阻止警示執行個體顯示在使用者介面中。它們只會防止通知建立。

您可以設定 Grafana 受管靜音計時，以及外部 Alertmanager 資料來源的靜音計時。

## 靜音計時與靜音
<a name="v10-alerting-manage-muting-compare"></a>

下表重點介紹靜音時間和靜音之間的差異。


| 靜音計時 | 靜音 | 
| --- | --- | 
| 使用可重複發生的時間間隔定義。 | 有固定的開始和結束時間。 | 
| 已建立 ，然後新增至通知政策。 | 使用標籤來比對提醒，以判斷是否靜音。 | 

## 新增靜音計時
<a name="v10-alerting-manage-muting-add"></a>

您可以在 Grafana 工作區中建立靜音計時。

**新增靜音計時**

1. 在 Grafana 主控台的 Grafana 功能表中，選擇**提醒**。

1. 選擇**通知政策**，然後選取**靜音計時**索引標籤。

1. 從 **Alertmanager** 下拉式清單中，選取您要編輯的 Alertmanager。

1. 選擇 **\$1 新增靜音計時**按鈕。

1. 填寫表單，為靜音時間建立要比對的[時間間隔](#v10-alerting-manage-muting-interval)。

1. 儲存您的靜音計時。

## 將靜音時間新增至通知政策
<a name="v10-alerting-manage-muting-add-notif"></a>

一旦您有靜音計時，您可以將其新增至要定期靜音的通知政策，以使用它。

**將靜音時間新增至通知政策**

1. 在 Grafana 主控台的 Grafana 功能表中，選擇**提醒**。

1. 選擇**通知政策**，然後選取**通知政策**索引標籤。

1. 選取您要新增靜音時間的通知政策，然後選擇 **...**、**編輯**。

1. 從**靜音時間**下拉式清單中，選取要新增至政策的靜音時間。

1. 儲存您的變更。

## 時間間隔
<a name="v10-alerting-manage-muting-interval"></a>

時間間隔是隱藏提醒的特定持續時間。持續時間通常包含特定時間範圍，以及週、月或年的天數。

支援時間間隔選項包括：
+ **時間範圍** – 包含開始時間和排除結束時間的時間 （如果未選取位置，則為 UTC，否則為當地時間。
+ **位置** – 設定計時的位置 – 時間範圍會以位置的當地時間顯示。
+ **星期幾** – 星期幾或星期幾範圍。例如 `monday:thursday`。
+ **當月天數** – 一個月內的日期。值的範圍可以是 `1`-`31`。負值會以相反順序指定月份的天數，因此 `-1`代表該月的最後一天。
+ **月** – 一年中的月份，以完整日曆月名稱的其中一個數字表示。例如 `1, may:august`。
+ **年** – 間隔的年或年。例如 `2023:2024`。

每個元素都可以是清單，而且元素中至少必須滿足一個項目才能符合。欄位也支援使用 的範圍`:`。例如 `monday:thursday`。

如果欄位保留空白，則任何時間都會與欄位相符。若要讓 即時符合完整的時間間隔，所有欄位都必須相符。靜音計時可以包含多個時間間隔。

如果您想要指定確切的持續時間，請指定該持續時間所需的所有選項。例如，如果您想要在 UTC 的 12：00 到 24：00 之間的 3 月、6 月、9 月和 12 月的第一個星期一建立時間間隔，您的時間間隔規格可能是：
+ 時間範圍：
  + 開始時間： `12:00`
  + 結束時間： `24:00`
+ 星期幾： `monday`
+ 月： `3, 6, 9, 12`
+ 每月的天數： `1:7`

# 檢視警示規則的狀態和運作狀態
<a name="v10-alerting-manage-rulestate"></a>

****  
本文件主題專為支援 Grafana **10.x 版的 Grafana** 工作區而設計。  
如需支援 Grafana 9.x 版的 Grafana 工作區，請參閱 [使用 Grafana 第 9 版](using-grafana-v9.md)。  
如需支援 Grafana 8.x 版的 Grafana 工作區，請參閱 [使用 Grafana 第 8 版](using-grafana-v8.md)。

警示規則的狀態和運作狀態為您提供數個有關警示的關鍵狀態指標。

有三個元件：
+ [警示規則狀態](#v10-alerting-manage-rulestate-state)
+ [警示執行個體狀態](#v10-alerting-manage-rulestate-instance)
+ [警示規則運作狀態](#v10-alerting-manage-rulestate-health)

雖然相關，但每個元件傳達的資訊略有不同。

**檢視提醒規則的狀態和運作狀態**

1. 在 Grafana 主控台的 Grafana 功能表中，選擇**提醒**。

1. 選擇**提醒規則**以檢視現有提醒的清單。

1. 選擇提醒規則以檢視其狀態和運作狀態。

## 警示規則狀態
<a name="v10-alerting-manage-rulestate-state"></a>

警示規則可以處於下列任何狀態：


| State | Description | 
| --- | --- | 
| 正常 | 評估引擎傳回的任何時間序列都不會處於 pending或 firing 狀態。 | 
| 待定 | 評估引擎傳回的至少一個時間序列為 pending。 | 
| 射擊 | 評估引擎傳回的至少一個時間序列為 firing。 | 

**注意**  
警示會先轉換為 `pending`，然後再轉換為 `firing`，因此至少需要兩個評估週期才能觸發警示。

## 警示執行個體狀態
<a name="v10-alerting-manage-rulestate-instance"></a>

警示執行個體可以處於下列任何狀態：


| State | Description | 
| --- | --- | 
| 正常 | 既不是 pending也不是 的提醒狀態firing。一切都如預期般運作。 | 
| 待定 | 處於作用中狀態且持續時間少於設定的閾值持續時間的提醒狀態。 | 
| 提醒 | 處於作用中狀態且超過設定的閾值持續時間的提醒狀態。 | 
| 沒有資料 | 未收到所設定時段的資料。 | 
| 提醒 | 嘗試評估警示規則時發生錯誤。 | 

## 保持最後一個狀態
<a name="v10-alerting-manage-rulestate-keepstate"></a>

警示規則可以設定為在遇到 `NoData`或 狀態時保持最後一個`Error`狀態。這將防止觸發提醒，以及解決和重新觸發提醒。如同一般評估，警示規則會在`pending``firing`等待期間過後從 轉換為 。

## 警示規則運作狀態
<a name="v10-alerting-manage-rulestate-health"></a>

提醒規則可以有下列其中一種運作狀態。


| State | Description | 
| --- | --- | 
| 好的 | 評估提醒規則時沒有錯誤。 | 
| 錯誤 | 評估提醒規則時發生錯誤。 | 
| NoData | 在規則評估期間，至少傳回一個時間序列中缺少資料。 | 
| \$1status\$1， KeepLast | 規則將收到另一個狀態，但已設定為保持警示規則的最後一個狀態。 | 

## NoData 和 Error 的特殊提醒
<a name="v10-alerting-manage-rulestate-special"></a>

當警示規則的評估產生 狀態`NoData`或 時`Error`，Grafana 警示將產生具有下列額外標籤的警示執行個體。


| 標籤 | Description | 
| --- | --- | 
| 提醒名稱 | DatasourceNoData 或 DatasourceError，視狀態而定。 | 
| datasource\$1uid | 造成 狀態的資料來源 UID。 | 

**注意**  
您將需要將沒有資料或錯誤處理設定為警示規則`Error`中的 `NoData`或 ，如[設定 Grafana 受管警示規則](v10-alerting-configure-grafanamanaged.md)主題所述，以產生其他標籤。

您可以像一般提醒一樣處理這些提醒，包括新增靜音、轉接到聯絡點等等。

# 依警示群組檢視和篩選
<a name="v10-alerting-manage-viewfiltergroups"></a>

****  
本文件主題專為支援 Grafana **10.x 版的 Grafana** 工作區而設計。  
如需支援 Grafana 9.x 版的 Grafana 工作區，請參閱 [使用 Grafana 第 9 版](using-grafana-v9.md)。  
如需支援 Grafana 8.x 版的 Grafana 工作區，請參閱 [使用 Grafana 第 8 版](using-grafana-v8.md)。

警示群組會顯示來自 Alertmanager 執行個體的分組警示。根據預設，提醒規則會依通知政策中預設政策的標籤索引鍵分組。將常見提醒規則分組為單一提醒群組可防止重複的提醒規則遭到觸發。

您可以檢視警示群組，也可以篩選符合特定條件的警示規則。

**檢視警示群組**

1. 在 Grafana 主控台的 Grafana 功能表中，選擇**提醒**。

1. 選擇**群組**以檢視現有的群組。

1. 從 **Alertmanager** 下拉式清單中，選取外部 Alertmanager 做為資料來源。

1. 從依下拉式清單的**自訂群組**中，選取標籤的組合，以檢視預設以外的群組。這對於偵錯和驗證您的通知政策群組非常有用。

如果警示不包含根政策群組或自訂群組中指定的標籤，則會將警示新增至具有 標頭的所有群組`No grouping`。

您可以依警示的標籤或狀態來篩選警示。

**依標籤篩選**
+ 在**搜尋**中，輸入現有的標籤以檢視符合標籤的提醒。

  例如 `environment=production,region=~US|EU,severity!=warning`。

**依狀態篩選**
+ 在**狀態**中，從作用中、隱藏或未處理狀態中選取 ，以檢視符合您所選狀態的提醒。所有其他提醒都會隱藏。

# 檢視通知錯誤
<a name="v10-alerting-manage-viewnotificationerrors"></a>

****  
本文件主題專為支援 Grafana **10.x 版的 Grafana** 工作區而設計。  
如需支援 Grafana 9.x 版的 Grafana 工作區，請參閱 [使用 Grafana 第 9 版](using-grafana-v9.md)。  
如需支援 Grafana 8.x 版的 Grafana 工作區，請參閱 [使用 Grafana 第 8 版](using-grafana-v8.md)。

檢視通知錯誤，並了解為何無法傳送或未接收通知。

**注意**  
此功能僅支援 Grafana Alertmanager。

**檢視通知錯誤**

1. 從左側選單中，選擇**提醒**，然後選擇**聯絡點**。

   如果有任何聯絡點失敗，工作區右側的訊息會通知您發生錯誤，以及有多少個。

1. 選取聯絡點，以檢視該聯絡點的錯誤詳細資訊。

   如果您將滑鼠暫留在錯誤圖示上，則會顯示錯誤詳細資訊。

   如果聯絡點有多個整合，您會看到列出的每個整合的所有錯誤。

1. 在運作狀態欄中，檢查通知的狀態。

   這可以是確定、無嘗試或錯誤。