---
title: "檢查狀態與排障"
description: "解釋 XHealth 狀態，區分檢查執行失敗、業務斷言失敗和外部存取問題。"
---

> Documentation Index
> Fetch the complete documentation index at: https://cdelivery.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# 檢查狀態與排障

XHealth 狀態表示檢查任務的執行結果。判斷業務是否恢復前，應確認最近一次檢查已經完成並成功，而不是只看到任務不再報錯或容器正在執行。

## 狀態含義

| 狀態 | 解釋 |
| --- | --- |
| Pending | 等待執行，尚無本輪成功結果 |
| Running | 檢查正在執行 |
| Passed | 最近完成的檢查通過 |
| Failed | 檢查失敗，結合錯誤和日誌分析 |
| Settled | 本輪已結束或收斂，但不能據此認定檢查通過 |

狀態顯示採用當前界面的本地化文字。記錄完成時間，避免把很早以前的成功當作當前健康狀態。

## 建議排查順序

1. 檢查應用程式實際副本是否執行，是否正處於部署或重啟過程。
2. 核對檢查方法、目標連接埠和執行間隔。
3. 打開應用程式日誌，選擇 XHealth 對應來源，查看本輪輸出。
4. 區分執行工具失敗與業務斷言失敗。
5. 修正後等待新的完整檢查結果，並驗證真實用戶端存取。

## 常見失敗

| 現象 | 優先檢查 |
| --- | --- |
| Hurl 檔案無法執行 | 檔案語法、版本、檔案內容和大小 |
| 自訂程序不存在 | 應用程式映像檔是否包含工具、指令路徑是否正確 |
| 連接拒絕 | 應用程式監聽地址、內部連接埠、啟動是否完成 |
| HTTP 狀態斷言失敗 | 實際狀態碼、認證要求、重定向和業務接口 |
| 目標不存在或不明確 | 網域、發佈連接埠與應用程式設定是否一致，是否對應多個連接埠 |
| 一直等待或執行 | 伺服器容量、任務啟動情況、檢查是否缺少合理退出條件 |

檢查目標使用的是應用程式內部服務地址。公網網域不可存取時，即使內部檢查通過，也需要另外檢查 DNS、Pingress、憑證和防火牆。

## 調整檢查設計

檢查應覆蓋明確的可用條件，回應時間和依賴檢查深度應與業務需要相符。只測試一個永遠回傳 200 的靜態路徑，不能證明資料庫或關鍵業務連線路徑正常。

也不要讓檢查依賴不穩定且與核心業務無關的外部站點，否則會製造與應用程式自身無關的失敗結果。

## 通知與發佈

週期性失敗可以進入平台通知流程，按[通知設定](/docs/zh-tw/guides/automation/im/notifications/)設定接收渠道。普通告警與 AI 值班分析是不同機制。

啟用 Guardian 後，候選實例檢查失敗應結合候選應用程式和候選檢查日誌分析；正式實例與候選實例的狀態不能混為一談，參見[發佈驗證](/docs/zh-tw/guides/release-safety/guardian/)。

Source: https://cdelivery.dev/docs/zh-tw/guides/release-safety/xhealth/status/index.mdx
