# 檢查

設定 Ping、TCP、HTTP/HTTPS 與 Traceroute 檢查，包括執行間隔、判定條件、IP 版本及探測器選擇器。

一項檢查會定義要執行的量測，以及負責執行的探測器。所有檢查都有名稱、類型、目標與執行間隔，也可以選擇加入說明、標籤和探測器選擇器。

## 共用欄位

- **名稱**：會顯示在量測結果、警示與狀態頁中的穩定名稱。
- **目標**：符合所選檢查類型的主機名稱、位址或 URL。
- **間隔**：每次排程執行之間的秒數。
- **選擇器**：用來選擇探測器的標籤運算式。留空會符合所有已啟用的探測器。
- **標籤**：附加在檢查上的分類資訊，不是用來選擇探測器的條件。

儲存前請先預覽選擇器的比對結果。即使檢查設定本身有效，只要沒有符合的探測器，就不會產生指派或量測資料。

## Ping

Ping 使用 ICMP，記錄封包遺失率與往返時間分布。

| 設定     | 說明                                   |
| -------- | -------------------------------------- |
| 封包數量 | 每次執行傳送的 ICMP 請求數量，至少為 1 |
| 封包大小 | 酬載大小，範圍為 1 至 65,507 位元組    |
| 逾時時間 | 執行逾時時間，單位為毫秒               |
| IP 版本  | 自動、IPv4（`inet`）或 IPv6（`inet6`） |

原始 ICMP 可能需要已安裝服務授予相應的 Linux capabilities。即使 DNS 查詢成功，也不代表目標或所在網路允許 ICMP 流量。

## TCP

TCP 會量測是否能建立連線，以及連線階段花費的時間。

| 設定     | 說明                           |
| -------- | ------------------------------ |
| 連接埠   | 目標連接埠，範圍為 1 至 65,535 |
| 逾時時間 | 連線逾時時間，單位為毫秒       |
| IP 版本  | 自動、IPv4 或 IPv6             |

如果應用層通訊協定不是 HTTP，或只需要確認傳輸層能否連線，請使用 TCP 檢查。

## HTTP/HTTPS

HTTP 檢查可以模擬 API 端點的請求，不只能用來擷取網頁。

| 設定       | 行為                                                         |
| ---------- | ------------------------------------------------------------ |
| 方法       | `GET`、`HEAD`、`POST`、`PUT`、`PATCH`、`DELETE` 或 `OPTIONS` |
| 標頭       | 最多 50 個請求標頭                                           |
| 內容       | 選填的請求內容，最多 65,536 個字元；GET 與 HEAD 不會使用     |
| 逾時時間   | 1 至 60,000 毫秒                                             |
| 重新導向   | 啟用後跟隨重新導向                                           |
| TLS 驗證   | 預設驗證；只有暫時排查問題時才應略過驗證                     |
| 預期狀態碼 | 一個以上的確切狀態碼或狀態碼類別（`1xx` 至 `5xx`）           |
| 回應包含   | 選填的回應子字串判定條件，最多 1,024 個字元                  |
| IP 版本    | 自動、IPv4 或 IPv6                                           |

量測結果可能包含 DNS、連線、TLS、收到第一個位元組及整體請求耗時；解析後的位址；狀態碼與最終 URL；重新導向次數；回應大小；內容是否符合；TLS 版本與加密套件；以及憑證有效期限。

請求標頭、請求內容、URL 查詢參數值及回應內容判定條件都可能包含機密資訊。對無權管理檢查的使用者，Netstamp 會遮蔽敏感的檢查欄位；維運人員仍應使用權限最低且足以完成工作的憑證。

## Traceroute

Traceroute 會記錄網路路徑，以及每個躍點的耗時與封包遺失情形。

| 設定         | 範圍或可用值                  |
| ------------ | ----------------------------- |
| 通訊協定     | ICMP 或 UDP                   |
| 最大躍點數   | 1–64                          |
| 逾時時間     | 1–60,000 毫秒                 |
| 每個躍點查詢 | 1–10                          |
| 封包大小     | 1–65,507 位元組               |
| 連接埠       | 1–65,535；適用於 UDP 探測封包 |
| IP 版本      | 自動、IPv4 或 IPv6            |

即使只得到部分結果，仍可能具有分析價值：在尚未連到目的地前，中間躍點可能已經回應。有些路由器會刻意忽略 Traceroute 探測封包，因此空白躍點不一定代表封包轉送失敗。

## 編輯與重新整理指派

變更檢查會更新它的版本，並觸發指派重新整理。Agent 會定期輪詢指派，因此儲存後不一定會同時反映在所有探測器上。如果檢查沒有從預期的探測位置執行，請參閱[標籤與指派](/zh-TW/docs/use/labels-assignments/)。

## 選擇執行間隔

縮短間隔可以更快偵測問題，但也會增加網路流量、儲存的量測結果、警示評估次數及探測器工作量。建議先使用能滿足維運需求的最長間隔，只針對需要更快回饋的檢查縮短間隔。
