本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
連接 Grafana
Grafana 整合可讓 AWS DevOps 代理程式在事件調查期間查詢 Grafana 執行個體中的指標、儀表板和提醒資料。此整合遵循兩個步驟:Grafana 的帳戶層級註冊,然後將其連接到個別客服人員空間。
為了提高安全性,Grafana 整合僅啟用唯讀工具。寫入工具已停用且無法啟用。這表示代理程式可以從 Grafana 執行個體查詢和讀取資料,但無法建立、修改或刪除任何 Grafana 資源,例如儀表板、提醒或註釋。如需詳細資訊,請參閱 Security in AWS DevOps Agent。
Grafana 要求
連接 Grafana 之前,請確定您有:
Grafana 9.0 版或更新版本。由於缺少 API 端點,某些功能,特別是與資料來源相關的操作,可能無法正確使用舊版。
可透過 HTTPS 存取的 Grafana 執行個體。同時支援公有和私有網路端點。透過私有網路連線,您的 Grafana 執行個體可以在沒有公有網際網路存取的 VPC 中託管。如需詳細資訊,請參閱連線至私有託管工具。
具有適當讀取許可之存取權杖的 Grafana 服務帳戶
註冊 Grafana (帳戶層級)
Grafana 已在 AWS 帳戶層級註冊,並在該帳戶中的所有客服人員空間之間共用。
步驟 1:設定 Grafana
登入 AWS 管理主控台
導覽至 AWS DevOps 代理程式主控台
前往能力提供者頁面 (可從側邊導覽存取)
在遙測下的可用提供者區段中尋找 Grafana,然後按一下註冊
在設定 Grafana 頁面上,輸入下列資訊:
服務名稱 (必要) – 使用英數字元、連字號和底線輸入 Grafana 伺服器的描述性名稱。例如
my-grafana-server。Grafana URL (必要) – 輸入 Grafana 執行個體的完整 HTTPS URL。例如
https://myinstance.grafana.net。服務帳戶存取字符 (必要) – 輸入 Grafana 服務帳戶存取字符。字符通常以 開頭
glsa_。若要建立服務帳戶字符,請導覽至您的 Grafana 執行個體,前往管理 > 服務帳戶,使用檢視器角色建立服務帳戶,並產生字符。描述 (選用) – 新增描述以協助識別伺服器的目的。例如
Production Grafana server for monitoring。
(選用) 將 AWS 標籤新增至註冊以供組織使用。
按一下下一步
步驟 2:檢閱並提交 Grafana 註冊
檢閱所有 Grafana 組態詳細資訊
按一下提交以完成註冊
成功註冊後,Grafana 會出現在能力提供者頁面的目前註冊區段中
將 Grafana 新增至代理程式空間
在帳戶層級註冊 Grafana 之後,您可以將其連線至個別客服人員空間:
在 AWS DevOps 代理程式主控台中,選取您的代理程式空間
前往功能索引標籤
在遙測區段中,按一下新增
從可用供應商清單中選取 Grafana
按一下儲存
設定 Grafana 警示 Webhook
您可以將 Grafana 設定為在透過 Grafana 聯絡點傳送 Webhook 來提醒火災時自動觸發 AWS DevOps 代理程式調查。如需 Webhook 身分驗證方法和憑證管理的詳細資訊,請參閱 透過 Webhook 叫用 DevOps 代理程式。
步驟 1:建立自訂通知範本
在您的 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 承載結構。它會將提醒標籤、註釋和狀態映射到適當的欄位中,並包含所有提醒標籤作為中繼資料。
步驟 2:建立 Webhook 聯絡點
在 Grafana 中,導覽至警示 > 聯絡點,然後按一下新增聯絡點
選取 Webhook 做為整合類型
將 URL 設定為 your AWS DevOps Agent Webhook 端點
在選用 Webhook 設定下,根據您的 Webhook 類型設定身分驗證標頭。如需詳細資訊,請參閱 Webhook 身分驗證方法。
設定訊息欄位以使用您的自訂範本:
{{ template "devops-agent-payload" . }}按一下儲存聯絡點
步驟 3:將聯絡點指派給通知政策
導覽至警示 > 通知政策
編輯現有政策或建立新的政策
將聯絡點設定為您建立的 Webhook 聯絡點
按一下儲存政策
當相符的提醒觸發時,Grafana 會將格式化的承載傳送至 AWS DevOps 代理程式,自動開始調查。
限制
ClickHouse 資料來源工具 – 目前不支援 ClickHouse 資料來源工具。
主動預防事件 – 目前主動事件預防不使用 Grafana 工具。未來版本已規劃支援。
Amazon Managed Grafana 考量事項
如果您使用的是 Amazon Managed Grafana
不支援 Webhook 聯絡點 – AMG 目前在其提醒組態中不支援 Webhook 聯絡點。您無法使用 AMG 將警示 Webhook 直接傳送到 AWS DevOps 代理程式。如需詳細資訊,請參閱 Amazon Managed Grafana 中的警示聯絡點。
服務帳戶字符過期 – AMG 服務帳戶字符的過期天數上限為 30 天。您將需要輪換權杖,並在權杖過期之前更新 Grafana 註冊 in AWS DevOps 代理程式。如需如何更新登入資料,請參閱管理 Grafana 連線。如需 AMG 字符限制的詳細資訊,請參閱 Amazon Managed Grafana 中的服務帳戶。
管理 Grafana 連線
更新登入資料 – 如果您的服務帳戶字符過期或需要更新,請從能力提供者頁面取消註冊 Grafana,並使用新字符重新註冊。
檢視連線的執行個體 – 在 AWS DevOps 代理程式主控台中,選取您的代理程式空間,然後前往功能索引標籤以檢視連線的遙測來源。
移除 Grafana – 若要中斷 Grafana 與客服人員空間的連線,請在遙測區段中選取它,然後按一下移除。若要完全移除註冊,請先將其從所有客服人員空間中移除,然後從能力提供者頁面取消註冊。