本頁說明如何在 Grafana 執行個體中建立及管理資訊主頁,用於顯示 Google Distributed Cloud (GDC) 氣隙專案的記錄和指標。
資訊主頁會以動態視覺化方式呈現系統效能。其中包含一或多個可自訂的面板,每個面板都設定為查詢及顯示 GDC 元件中的特定指標。這些面板可讓您執行下列操作:
- 透過各種圖表類型呈現指標。
- 定義快訊門檻,根據指標值觸發通知。
- 自訂顯示屬性,例如標籤、單位和時間範圍。
- 設定一致的時間解析度,以進行準確的比較。
有效運用 Grafana 資訊主頁,可深入瞭解 GDC 環境的效能和健康狀態。
事前準備
如要取得存取及查看 Grafana 資訊主頁所需的權限,請要求機構 IAM 管理員或專案 IAM 管理員授予您其中一個預先定義的 Grafana 檢視者角色。
此外,如要取得管理 API 物件所需的權限,請機構 IAM 管理員或專案 IAM 管理員授予相關的 ConfigMap
和 Dashboard
角色。
視存取層級和所需權限而定,您可能會在機構或專案中取得這些資源的建立者、編輯者或檢視者角色。詳情請參閱「準備 IAM 權限」。
取得相應角色後,請按照下列步驟操作,再建立資訊主頁:
- 從工作負載收集指標。
將 kubeconfig 檔案的路徑設為環境變數:
export KUBECONFIG=KUBECONFIG_PATH
將
KUBECONFIG_PATH
替換為要建立資訊主頁的管理 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 會建立空白資訊主頁。
在空白資訊主頁上,新增所有需要的面板。
在每個面板的「資料來源」選單中,選取面板所需的資料來源,包括指標 (
prometheus
)、稽核記錄 (auditloki
) 和作業記錄 (oploki
)。如果是多區域宇宙,Grafana 會有標示區域的資料來源,您可以使用這些來源,透過多個區域的指標和記錄建立資訊主頁視覺化效果。這些資料來源的命名格式為
DATA_SOURCE-ZONE_ID
,其中:DATA_SOURCE
可採用下列其中一個值:- Prometheus (
prometheus
或metrics
) 顯示指標。 - 稽核記錄 (
auditloki
) 即可顯示稽核記錄。 - 作業記錄 (
oploki
):顯示作業記錄。
- Prometheus (
ZONE_ID
是您要在資訊主頁中顯示資料的區域 ID。
此外,如要為跨區域資源建立視覺化資訊主頁,資料來源名稱為
--Mixed--
。這個資料來源可讓您在每個區域新增多個查詢,並在單一資訊主頁中顯示跨區域資料。舉例來說,您可以使用這項功能,比較宇宙中多個區域的單一指標或記錄查詢行為。自訂詳細資料和編輯面板,即可提供查詢或進行其他更新。
按一下選單列中的
「資訊主頁設定」,開啟「設定」頁面。在導覽選單中選取「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 使用者介面中執行的任何更新。