監控複合健康狀態
本頁面說明如何監控使用複合健康狀態的已發布服務健康狀態。您可以採取以下做法:
- 監控目前的健康狀態:檢查已發布服務或個別後端服務的即時健康狀態。
- 查看健康狀態轉換的記錄:使用 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 欄位,用於識別正在評估的轉送規則。
控制台
前往 Google Cloud 控制台的「Composite Health」(綜合健康狀態) 頁面:
按一下「健康資料來源」。
按一下要查看的健康資料來源名稱。
如要查看更多詳細資料,請在「健康狀態」部分,點選要查看的後端服務旁的展開箭頭。如果顯示轉送規則,請按一下轉送規則旁的展開箭頭,查看相關聯後端的狀態。
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:專案 IDREGION:健康狀態來源的區域HEALTH_SOURCE:健康狀態來源的名稱
檢查複合型健康狀態檢查的健康狀態
本節說明如何檢查複合型健康狀態檢查的健康狀態,包括下列資訊:
- 受監控區域發布服務的整體健康狀態
與複合型健康狀態檢查相關聯的每個健康狀態來源的個別健康狀態
控制台
前往 Google Cloud 控制台的「Composite Health」(綜合健康狀態) 頁面:
按一下要查看的複合健康狀態檢查名稱。
如要查看更多詳細資料,請在「健康狀態」部分中,按一下要查看的複合健康狀態檢查旁邊的展開箭頭。
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:專案 IDREGION:複合型健康狀態檢查的區域COMPOSITE_CHECK_NAME:複合健康狀態檢查的名稱
查看複合健康狀態記錄
您可以使用 Cloud Logging 追蹤健康狀態的變化。每當健康狀態變更時 (例如從 HEALTHY 變更為 UNHEALTHY),系統就會產生這些記錄。
根據預設,系統會為健康狀態來源、複合型健康狀態檢查,以及連線至已發布服務的 Private Service Connect NEG 啟用記錄功能,這些已發布服務已設定使用複合型健康狀態。
如要進一步瞭解如何查詢及分析記錄資料,請參閱「使用 Logs Explorer 和 Observability Analytics 分析記錄」。
控制台
如要查看複合健康狀態記錄,請按照下列步驟操作。
前往 Google Cloud 控制台的「Logs Explorer」頁面。
如果「查詢」窗格中沒有顯示查詢編輯器欄位,請點選「顯示查詢」切換鈕。
在查詢編輯器欄位中:
如要查看生產者資源 (健康狀態來源和複合型健康狀態檢查) 的記錄,請輸入下列查詢:
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。點選「執行查詢」。