建立視覺化資訊主頁

本頁說明如何在 Grafana 執行個體中建立及管理資訊主頁,用於顯示 Google Distributed Cloud (GDC) 氣隙專案的記錄和指標。

資訊主頁會以動態視覺化方式呈現系統效能。其中包含一或多個可自訂的面板,每個面板都設定為查詢及顯示 GDC 元件中的特定指標。這些面板可讓您執行下列操作:

  • 透過各種圖表類型呈現指標。
  • 定義快訊門檻,根據指標值觸發通知。
  • 自訂顯示屬性,例如標籤、單位和時間範圍。
  • 設定一致的時間解析度,以進行準確的比較。

有效運用 Grafana 資訊主頁,可深入瞭解 GDC 環境的效能和健康狀態。

事前準備

如要取得存取及查看 Grafana 資訊主頁所需的權限,請要求機構 IAM 管理員或專案 IAM 管理員授予您其中一個預先定義的 Grafana 檢視者角色。

此外,如要取得管理 API 物件所需的權限,請機構 IAM 管理員或專案 IAM 管理員授予相關的 ConfigMapDashboard 角色。

視存取層級和所需權限而定,您可能會在機構或專案中取得這些資源的建立者、編輯者或檢視者角色。詳情請參閱「準備 IAM 權限」。

取得相應角色後,請按照下列步驟操作,再建立資訊主頁:

  1. 從工作負載收集指標
  2. 將 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 資訊主頁,並自訂設定:

  1. 開啟 Grafana 端點,顯示使用者介面。
  2. 按一下導覽選單中的「新增」
  3. 在下拉式選單中,按一下「資訊主頁」。Grafana 會建立空白資訊主頁。
  4. 在空白資訊主頁上,新增所有需要的面板。

  5. 在每個面板的「資料來源」選單中,選取面板所需的資料來源,包括指標 (prometheus)、稽核記錄 (auditloki) 和作業記錄 (oploki)。

    如果是多區域宇宙,Grafana 會有標示區域的資料來源,您可以使用這些來源,透過多個區域的指標和記錄建立資訊主頁視覺化效果。這些資料來源的命名格式為 DATA_SOURCE-ZONE_ID,其中:

    • DATA_SOURCE 可採用下列其中一個值:

      • Prometheus (prometheusmetrics) 顯示指標。
      • 稽核記錄 (auditloki) 即可顯示稽核記錄。
      • 作業記錄 (oploki):顯示作業記錄。
    • ZONE_ID 是您要在資訊主頁中顯示資料的區域 ID。

    此外,如要為跨區域資源建立視覺化資訊主頁,資料來源名稱為 --Mixed--。這個資料來源可讓您在每個區域新增多個查詢,並在單一資訊主頁中顯示跨區域資料。舉例來說,您可以使用這項功能,比較宇宙中多個區域的單一指標或記錄查詢行為。

  6. 自訂詳細資料和編輯面板,即可提供查詢或進行其他更新。

  7. 按一下選單列中的 「資訊主頁設定」,開啟「設定」頁面。

  8. 在導覽選單中選取「JSON 模型」

  9. 複製資訊主頁的 JSON 模型,並貼到純文字檔案中,以供日後使用。

建立 ConfigMap 物件

請按照下列步驟建立 ConfigMap 物件,其中包含資訊主頁的 JSON 模型:

  1. 開啟終端機視窗。
  2. 建立 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 範例

  3. 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 執行個體:

  1. 開啟終端機視窗。
  2. 建立 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 模型。
  3. Dashboard 自訂資源套用至 Management API 伺服器:

    kubectl --kubeconfig ${KUBECONFIG} apply -f DASHBOARD_NAME.yaml
    

系統會監控 Dashboard 自訂資源和相關聯 ConfigMap 物件的變更。如要更新或刪除資訊主頁,請修改這些 資源。任何修改都會觸發 Grafana 更新。您無法儲存直接在 Grafana 使用者介面中執行的任何更新。