站點檢查
站點檢查器(Site Checker)會定期探測 Nginx 服務的每一個 server_name, 讓儀表板上的狀態指示保持即時。本節用於控制其行為強度。
如果你的 server_name 解析到會回傳大量 A 紀錄的入口服務(例如 ngrok、AWS 負載平衡、Cloudflare),舊版本的預設值可能瞬間開啟足夠多的對外 TCP 連線, 進而耗盡家用路由器(例如 UniFi)的 conntrack 表。詳見 issue #1608。
Enabled
- 型別:
bool - 預設值:
true - 版本:
>= v2.3.6
設為 false 時,站點檢查服務不會啟動:不會執行週期性掃描,也不會代為發起 任何對外連線。儀表板會繼續顯示上一次的狀態(首次啟動則為空)。當你不需要 自動健康檢查、或檢查器對上游 / 網路造成問題時,可以將它關閉。
Concurrency
- 型別:
int - 預設值:
5 - 範圍:
[1, 20] - 版本:
>= v2.3.6
單次掃描中允許併發執行的健康檢查數量。值越小越平穩,越大則完整一輪掃描越 快。此外,檢查器還會限制每個主機的併發連線數(MaxConnsPerHost = 2), 因此即便某個主機名解析出多個 A 紀錄,也最多只會併發產生 2 條連線。
IntervalSeconds
- 型別:
int - 預設值:
300 - 最小值:
30 - 版本:
>= v2.3.6
站點檢查器對所有已收集站點重新掃描的間隔(秒)。預設 5 分鐘,在資料新鮮度 與系統負載之間取得平衡。低於 30 的數值會被回退為預設值。
範例
ini
[site_check]
Enabled = true
Concurrency = 5
IntervalSeconds = 300