監控複合健康狀態

本頁面說明如何監控使用複合健康狀態的已發布服務健康狀態。您可以採取以下做法:

  • 監控目前的健康狀態:檢查已發布服務或個別後端服務的即時健康狀態。
  • 查看健康狀態轉換的記錄:使用 Cloud Logging 查看記錄項目,記錄受監控資源的健康狀態變化。

您可以透過相關聯的複合型健康狀態檢查監控已發布的服務,並透過相關聯的健康狀態來源監控個別後端服務。服務消費者可以查看 Private Service Connect NEG 的記錄,這些 NEG 會連線至使用複合式健康狀態的已發布服務。

複合健康狀態會使用下列狀態,代表已發布服務和後端服務的健康狀態。

健康狀態 受監控資源 說明
HEALTHY 健康狀態來源 相關聯的後端服務健康狀態良好,符合健康狀態匯總政策的定義。
複合型健康狀態檢查 發布的服務健康狀態良好,因為每個相關聯的健康狀態來源都正常運作。
Private Service Connect NEG 相關聯的已發布服務健康狀態良好,這是根據生產者的複合型健康狀態檢查結果判斷。
UNHEALTHY 健康狀態來源 後端服務不符合健康狀態匯總政策定義的條件。
複合型健康狀態檢查 發布的服務不正常,因為一或多個相關聯的健康狀態來源不正常。
Private Service Connect NEG 根據生產者的複合健康狀態檢查結果,相關聯的已發布服務不健康;這個狀態可能會觸發跨區域容錯移轉。
UNKNOWN 健康狀態來源 健康狀態尚未提供。這是暫時狀態,會在資源新建或設定時出現。
複合型健康狀態檢查 沒有相關聯的健康狀態來源不健康,但有一或多個健康狀態來源不明。
Private Service Connect NEG 相關已發布服務的健康狀態尚未提供。

事前準備

您必須先設定複合健康狀態檢查,才能使用這項功能監控已發布服務的健康狀態。

必要的角色

如要取得監控複合健康狀態所需的權限,請要求管理員在專案中授予您下列 IAM 角色:

  • 檢查健康狀態來源或複合健康狀態檢查的健康狀態:Compute 檢視者 (roles/compute.viewer)
  • 查看複合健康記錄:記錄檢視器 (roles/logging.viewer)

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

您或許也能透過自訂角色或其他預先定義的角色,取得必要權限。

檢查單一健康狀態來源的健康狀態

本節說明如何擷取健康資料來源的下列資訊:

  • 整體健康狀態
  • 與健康狀態來源的後端服務相關聯的每個執行個體群組或 NEG 中,健康狀態良好的端點數量與端點總數的比較結果

如果健康狀態來源與內部直通式網路負載平衡器的後端服務相關聯,且該負載平衡器有多個轉送規則,系統會為每個負載平衡器的轉送規則分別計算健康狀態。在本例中,健康狀態詳細資料包含 forwardingRule 欄位,用於識別正在評估的轉送規則。

控制台

  1. 前往 Google Cloud 控制台的「Composite Health」(綜合健康狀態) 頁面:

    前往「複合健康狀態」

  2. 按一下「健康資料來源」

  3. 按一下要查看的健康資料來源名稱。

  4. 如要查看更多詳細資料,請在「健康狀態」部分,點選要查看的後端服務旁的展開箭頭。如果顯示轉送規則,請按一下轉送規則旁的展開箭頭,查看相關聯後端的狀態。

gcloud

使用 gcloud compute health-sources get-health 指令。

gcloud compute health-sources get-health HEALTH_SOURCE \
    --region=REGION

更改下列內容:

  • HEALTH_SOURCE:健康狀態來源的名稱
  • REGION:健康狀態來源的區域

API

regionHealthSources.getHealth 方法傳送要求

HTTP 方法和網址:

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/healthSources/HEALTH_SOURCE/getHealth

更改下列內容:

  • PROJECT_ID:專案 ID
  • REGION:健康狀態來源的區域
  • HEALTH_SOURCE:健康狀態來源的名稱

檢查複合型健康狀態檢查的健康狀態

本節說明如何檢查複合型健康狀態檢查的健康狀態,包括下列資訊:

  • 受監控區域發布服務的整體健康狀態
  • 與複合型健康狀態檢查相關聯的每個健康狀態來源的個別健康狀態

控制台

  1. 前往 Google Cloud 控制台的「Composite Health」(綜合健康狀態) 頁面:

    前往「複合健康狀態」

  2. 按一下要查看的複合健康狀態檢查名稱。

  3. 如要查看更多詳細資料,請在「健康狀態」部分中,按一下要查看的複合健康狀態檢查旁邊的展開箭頭。

gcloud

使用 gcloud compute composite-health-checks get-health 指令。

gcloud compute composite-health-checks get-health COMPOSITE_CHECK_NAME \
    --region=REGION

更改下列內容:

  • COMPOSITE_CHECK_NAME:複合健康狀態檢查的名稱
  • REGION:複合式健康狀態檢查的區域

API

regionCompositeHealthChecks.getHealth 方法傳送要求

HTTP 方法和網址:

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/compositeHealthChecks/COMPOSITE_CHECK_NAME/getHealth

更改下列內容:

  • PROJECT_ID:專案 ID
  • REGION:複合型健康狀態檢查的區域
  • COMPOSITE_CHECK_NAME:複合健康狀態檢查的名稱

查看複合健康狀態記錄

您可以使用 Cloud Logging 追蹤健康狀態的變化。每當健康狀態變更時 (例如從 HEALTHY 變更為 UNHEALTHY),系統就會產生這些記錄。

根據預設,系統會為健康狀態來源、複合型健康狀態檢查,以及連線至已發布服務的 Private Service Connect NEG 啟用記錄功能,這些已發布服務已設定使用複合型健康狀態。

如要進一步瞭解如何查詢及分析記錄資料,請參閱「使用 Logs Explorer 和 Observability Analytics 分析記錄」。

控制台

如要查看複合健康狀態記錄,請按照下列步驟操作。

  1. 前往 Google Cloud 控制台的「Logs Explorer」頁面。

    前往 Logs Explorer

  2. 如果「查詢」窗格中沒有顯示查詢編輯器欄位,請點選「顯示查詢」切換鈕。

  3. 在查詢編輯器欄位中:

    • 如要查看生產者資源 (健康狀態來源和複合型健康狀態檢查) 的記錄,請輸入下列查詢:

      logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fcompositehealth"
      
    • 如要查看消費者資源的記錄 (與使用複合健康狀態檢查的已發布服務連結的 Private Service Connect NEG),請輸入下列查詢:

      logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fservicehealthchecks"
      

    PROJECT_ID 替換為專案 ID。

  4. 點選「執行查詢」