本頁說明如何在 Grafana 執行個體中建立及管理資訊主頁,用於顯示 Google Distributed Cloud (GDC) 實體隔離專案的記錄和指標。
資訊主頁會以動態圖表呈現系統效能。其中包含一或多個可自訂的面板,每個面板都設為查詢及顯示 GDC 元件的特定指標。您可以在這些面板中執行下列操作:
- 透過各種圖表類型呈現指標。
- 定義快訊門檻,根據指標值觸發通知。
- 自訂顯示屬性,例如標籤、單位和日期範圍。
- 設定一致的時間解析度,確保比較結果準確無誤。
有效運用 Grafana 資訊主頁,即可深入瞭解 GDC 環境的效能和健康狀態。
事前準備
如要管理 Dashboard 和 ConfigMap 自訂資源,您必須具備必要權限。
要求 IAM 機構角色
請與機構 IAM 管理員聯絡,並要求授予下列角色,以便在機構中處理資訊主頁:
- 資訊主頁 PA 建立工具 (
dashboard-pa-creator):建立自訂資訊主頁。 - 資訊主頁 PA 編輯器 (
dashboard-pa-editor):編輯或刪除自訂資訊主頁。 - 資訊主頁 PA 檢視者 (
dashboard-pa-viewer):查看自訂資訊主頁。
要求 IAM 專案角色
請與專案 IAM 管理員聯絡,要求下列角色,以便在專案中使用資訊主頁和設定:
- 資訊主頁編輯者 (
dashboard-editor):在專案命名空間內建立、編輯及刪除自訂資訊主頁。 - 資訊主頁檢視者 (
dashboard-viewer):在專案命名空間中查看自訂資訊主頁。 - ConfigMap 編輯者 (
observabilitypipeline-configmap-editor):在專案命名空間中建立及編輯ConfigMap。
準備環境
取得相應角色後,請先按照下列步驟操作,再建立資訊主頁:
- 收集工作負載的指標。
將 kubeconfig 檔案的路徑設為環境變數:
export KUBECONFIG=KUBECONFIG_PATH將
KUBECONFIG_PATH替換為 Management API 伺服器的 kubeconfig 檔案路徑,以便在該伺服器建立資訊主頁。
找出 Grafana 端點
下列網址是專案 Grafana 執行個體的端點:
https://GDC_URL/PROJECT_NAMESPACE/grafana
更改下列內容:
GDC_URL:組織在 GDC 中的網址。PROJECT_NAMESPACE:您的專案命名空間。
舉例來說,org-1 組織中 platform-obs 專案的 Grafana 端點為 https://org-1/platform-obs/grafana。
建立自訂資訊主頁
請按照下列步驟建立 Grafana 資訊主頁,並自訂設定:
- 開啟 Grafana 端點,顯示使用者介面。
- 按一下導覽選單中的「新增」。
- 點選下拉式選單中的「資訊主頁」。Grafana 會建立空白資訊主頁。
在空白資訊主頁中,新增所需面板。
在每個面板的「Data source」(資料來源) 選單中,選取面板所需的資料來源,包括指標 (
prometheus)、稽核記錄 (auditloki) 和作業記錄 (oploki)。如果是多可用區宇宙,Grafana 具有可用區標籤的資料來源,可用於建立包含多個可用區指標和記錄的資訊主頁圖表。這些資料來源的命名格式為
DATA_SOURCE-ZONE_ID,其中:DATA_SOURCE可以是下列其中一個值:- Prometheus (
prometheus或metrics) 顯示指標。 - 稽核記錄 (
auditloki):顯示稽核記錄。 - 作業記錄檔 (
oploki):顯示作業記錄檔。
- Prometheus (
ZONE_ID是要在資訊主頁中顯示資料的可用區 ID。
此外,如要為跨區域資源建立視覺化資訊主頁,資料來源名稱為
--Mixed--。這個資料來源可讓您在每個區域新增多個查詢,並在單一資訊主頁中顯示跨區域的資料。您可以使用這項功能比較行為,例如在宇宙的多個可用區中,比較單一指標或記錄查詢。自訂詳細資料並編輯面板,提供查詢或進行其他更新。
按一下選單列中的「資訊主頁設定」 ,開啟「設定」頁面。
在導覽選單中選取「JSON Model」(JSON 模型)。
複製資訊主頁的 JSON 模型,並貼到純文字檔案中,以供日後使用。
建立 ConfigMap 物件
請按照下列步驟建立 ConfigMap 物件,其中包含資訊主頁的 JSON 模型:
- 開啟終端機視窗。
建立
ConfigMap物件。在ConfigMap物件的data區段中,貼上先前複製的 JSON 模型:apiVersion: v1 kind: ConfigMap metadata: namespace: PROJECT_NAMESPACE name: CONFIGMAP_NAME data: JSON_FILE_NAME.json: | { JSON_MODEL }更改下列內容:
PROJECT_NAMESPACE:您的專案命名空間。CONFIGMAP_NAME:要為ConfigMap物件指定的名稱。JSON_FILE_NAME:您要為資訊主頁的 JSON 模型檔案命名。JSON_MODEL:自訂資訊主頁的 JSON 模型。
如要查看這個物件的範例,請參閱
ConfigMap範例。將
ConfigMap物件套用至 Management API 伺服器:kubectl --kubeconfig ${KUBECONFIG} apply -f CONFIGMAP_NAME.yaml
ConfigMap 範例
下列 YAML 檔案顯示 platform-obs 命名空間中資訊主頁的 ConfigMap 物件範例:
apiVersion: v1
kind: ConfigMap
metadata:
namespace: platform-obs
name: my-project-dashboard-configmap
data:
my-project-dashboard.json: |
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": "--",
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"graphTooltip": 0,
"id": null,
"links": [],
"panels": [],
"schemaVersion": 27,
"style": "dark",
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "Sample dashboard",
"uid": null,
"version": 0
}
建立 Dashboard 自訂資源
請按照下列步驟建立 Dashboard 自訂資源,並將自訂資訊主頁匯入專案的 Grafana 執行個體:
- 開啟終端機視窗。
建立
Dashboard自訂資源,並使用您為ConfigMap物件指定的名稱設定檔案:apiVersion: observability.gdc.goog/v1 kind: Dashboard metadata: namespace: PROJECT_NAMESPACE name: DASHBOARD_NAME spec: configMapRef: name: CONFIGMAP_NAME namespace: PROJECT_NAMESPACE key: JSON_FILE_NAME.json foldername: Default更改下列內容:
PROJECT_NAMESPACE:專案命名空間。DASHBOARD_NAME:要為Dashboard自訂資源指定的名稱。CONFIGMAP_NAME:您為ConfigMap物件指定的名稱。JSON_FILE_NAME:您為檔案指定的名稱,該檔案包含ConfigMap物件中資訊主頁的 JSON 模型。
將
Dashboard自訂資源套用至 Management API 伺服器:kubectl --kubeconfig ${KUBECONFIG} apply -f DASHBOARD_NAME.yaml
系統會監控 Dashboard 自訂資源和相關聯 ConfigMap 物件的變更。如要更新或刪除資訊主頁,請修改這些資源。任何修改都會觸發 Grafana 更新。您無法儲存直接在 Grafana 使用者介面中執行的任何更新。