

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

# 連接 Grafana
<a name="connecting-telemetry-sources-connecting-grafana"></a>

Grafana 整合可讓 AWS DevOps 代理程式在事件調查期間查詢 Grafana 執行個體的指標、儀表板和提醒資料。此整合遵循兩個步驟：Grafana 的帳戶層級註冊，然後將其連接到個別客服人員空間。

為了提高安全性，Grafana 整合僅啟用唯讀工具。寫入工具已停用且無法啟用。這表示代理程式可以從 Grafana 執行個體查詢和讀取資料，但無法建立、修改或刪除任何 Grafana 資源，例如儀表板、提醒或註釋。如需詳細資訊，請參閱 [Security in AWS DevOps Agent](https://docs.aws.amazon.com/devopsagent/latest/userguide/aws-devops-agent-security.html)。

## Grafana 要求
<a name="grafana-requirements"></a>

連接 Grafana 之前，請確定您有：
+ Grafana 9.0 版或更新版本。由於缺少 API 端點，某些功能，特別是與資料來源相關的操作，可能無法正確使用較早版本。
+ 可透過 HTTPS 存取的 Grafana 執行個體。同時支援公有和私有網路端點。透過私有網路連線，您的 Grafana 執行個體可以在沒有公有網際網路存取的 VPC 中託管。如需詳細資訊，請參閱[連線至私有託管工具](configuring-capabilities-for-aws-devops-agent-connecting-to-privately-hosted-tools.md)。
+ 具有適當讀取許可之存取權杖的 Grafana 服務帳戶

## 註冊 Grafana （帳戶層級）
<a name="registering-grafana-account-level"></a>

Grafana 已在 AWS 帳戶層級註冊，並在該帳戶中的所有客服人員空間之間共用。

### 步驟 1：設定 Grafana
<a name="step-1-configure-grafana"></a>

1. 登入 AWS 管理主控台

1. 導覽至 AWS DevOps 代理程式主控台

1. 前往**能力提供者頁面 **（可從側邊導覽存取）

1. 在**遙測**下的**可用**提供者區段中尋找 **Grafana**，然後按一下**註冊**

1. 在**設定 Grafana** 頁面上，輸入下列資訊：
   + **服務名稱** （必要） – 使用英數字元、連字號和底線輸入 Grafana 伺服器的描述性名稱。例如 `my-grafana-server`。
   + **Grafana URL** （必要） – 輸入 Grafana 執行個體的完整 HTTPS URL。例如 `https://myinstance.grafana.net`。
   + **服務帳戶存取字符** （必要） – 輸入 Grafana 服務帳戶存取字符。字符通常以 開頭`glsa_`。若要建立服務帳戶字符，請導覽至您的 Grafana 執行個體，前往**管理 > 服務帳戶**，使用檢視器角色建立服務帳戶，並產生字符。
   + **描述 **（選用） – 新增描述以協助識別伺服器的用途。例如 `Production Grafana server for monitoring`。

1. （選用） 將 AWS 標籤新增至註冊以供組織使用。

1. 按一下**下一步**

### 步驟 2：檢閱並提交 Grafana 註冊
<a name="step-2-review-and-submit-grafana-registration"></a>

1. 檢閱所有 Grafana 組態詳細資訊

1. 按一下**提交**以完成註冊

1. 成功註冊後，Grafana 會出現在能力提供者頁面的**目前註冊**區段中

## 將 Grafana 新增至代理程式空間
<a name="adding-grafana-to-an-agent-space"></a>

在帳戶層級註冊 Grafana 之後，您可以將其連線至個別客服人員空間：

1. 在 AWS DevOps 代理程式主控台中，選取您的代理程式空間

1. 前往**功能**索引標籤

1. 在**遙測**區段中，按一下**新增**

1. 從可用供應商清單中選取 **Grafana** 

1. 按一下**儲存**

## 設定 Grafana 警示 Webhook
<a name="configuring-grafana-alert-webhooks"></a>

您可以將 Grafana 設定為在透過 Grafana 聯絡點傳送 Webhook 來提醒火災時自動觸發 AWS DevOps 代理程式調查。如需 Webhook 身分驗證方法和憑證管理的詳細資訊，請參閱 [透過 Webhook 叫用 DevOps 代理程式](configuring-capabilities-for-aws-devops-agent-invoking-devops-agent-through-webhook.md)。

### 步驟 1：建立自訂通知範本
<a name="step-1-create-a-custom-notification-template"></a>

在您的 Grafana 執行個體中，導覽至**警示 > 聯絡點 > 通知範本**，並使用下列內容建立新的範本：

```
{{ define "devops-agent-payload" }}
{
  "eventType": "incident",
  "incidentId": "{{ (index .Alerts 0).Labels.alertname }}-{{ (index .Alerts 0).Fingerprint }}",
  "action": "{{ if eq .Status "resolved" }}resolved{{ else }}created{{ end }}",
  "priority": "{{ if eq .Status "resolved" }}MEDIUM{{ else }}HIGH{{ end }}",
  "title": "{{ (index .Alerts 0).Labels.alertname }}",
  "description": "{{ (index .Alerts 0).Annotations.summary }}",
  "service": "{{ if (index .Alerts 0).Labels.job }}{{ (index .Alerts 0).Labels.job }}{{ else }}grafana{{ end }}",
  "timestamp": "{{ (index .Alerts 0).StartsAt }}",
  "data": {
    "metadata": {
      {{ range $k, $v := (index .Alerts 0).Labels }}
      "{{ $k }}": "{{ $v }}",
      {{ end }}
      "_source": "grafana"
    }
  }
}
{{ end }}
```

此範本會將 Grafana 警示格式化為 AWS DevOps 代理程式預期的 Webhook 承載結構。它會將提醒標籤、註釋和狀態映射到適當的欄位中，並包含所有提醒標籤作為中繼資料。

**注意：**此範本只會處理群組中的第一個提醒。Grafana 預設會將多個射擊警示分組為單一通知。若要確保個別傳送每個提醒，請將您的通知政策設定為依 分組`alertname`。此外，此範本不會逸出標籤值或註釋中的特殊 JSON 字元。確保提醒標籤和`summary`註釋不包含雙引號或換行等字元，這會產生無效的 JSON。

### 步驟 2：建立 Webhook 聯絡點
<a name="step-2-create-a-webhook-contact-point"></a>

1. 在 Grafana 中，導覽至**警示 > 聯絡點**，然後按一下**新增聯絡點**

1. 選取 **Webhook** 做為整合類型

1. 將 **URL** 設定為 your AWS DevOps Agent Webhook 端點

1. 在**選用 Webhook 設定**下，根據您的 Webhook 類型設定身分驗證標頭。如需詳細資訊，請參閱 [Webhook 身分驗證方法](configuring-capabilities-for-aws-devops-agent-invoking-devops-agent-through-webhook.md)。

1. 設定**自訂承載**欄位以使用您的自訂範本： `{{ template "devops-agent-payload" . }}`

1. 按一下**儲存聯絡點**

### 步驟 3：將聯絡點指派給通知政策
<a name="step-3-assign-the-contact-point-to-a-notification-policy"></a>

1. 導覽至**警示 > 通知政策**

1. 編輯現有政策或建立新的政策

1. 將聯絡點設定為您建立的 Webhook 聯絡點

1. 按一下**儲存政策**

當相符的提醒觸發時，Grafana 會將格式化的承載傳送至 AWS DevOps 代理程式，該代理程式會自動開始調查。

## 限制
<a name="limitations"></a>
+ **ClickHouse 資料來源工具** – 目前不支援 ClickHouse 資料來源工具。
+ **主動預防事件** – 目前[主動事件預防](working-with-devops-agent-proactive-incident-prevention.md)不使用 Grafana 工具。未來版本已規劃支援。

### Amazon Managed Grafana 考量事項
<a name="amazon-managed-grafana-considerations"></a>

如果您使用的是 [Amazon Managed Grafana](https://aws.amazon.com/grafana/) (AMG)，請注意下列限制：
+ **不支援 Webhook 聯絡點** – AMG 目前在其提醒組態中不支援 Webhook 聯絡點。您無法使用 AMG 將警示 Webhook 直接傳送到 AWS DevOps 代理程式。如需詳細資訊，請參閱 [Amazon Managed Grafana 中的警示聯絡點](https://docs.aws.amazon.com/grafana/latest/userguide/v9-alerting-explore-contacts.html)。
+ **服務帳戶字符過期** – AMG 服務帳戶字符的過期天數上限為 30 天。您將需要輪換權杖，並在權杖過期之前更新 Grafana 註冊 in AWS DevOps 代理程式。如需如何更新登入資料，請參閱[管理 Grafana 連線](#managing-grafana-connections)。如需 AMG 字符限制的詳細資訊，請參閱 [Amazon Managed Grafana 中的服務帳戶](https://docs.aws.amazon.com/grafana/latest/userguide/service-accounts.html)。

## 管理 Grafana 連線
<a name="managing-grafana-connections"></a>
+ **更新憑證** – 如果您的服務帳戶字符過期或需要更新，請從能力提供者頁面取消註冊 Grafana，並使用新字符重新註冊。
+ **檢視連線的執行個體** – 在 AWS DevOps 代理程式主控台中，選取您的代理程式空間，然後前往功能索引標籤以檢視連線的遙測來源。
+ **移除 Grafana** – 若要中斷 Grafana 與客服人員空間的連線，請在遙測區段中選取它，然後按一下**移除**。若要完全移除註冊，請先將其從所有客服人員空間中移除，然後從能力提供者頁面取消註冊。