## 指定共享記憶體lua_shared_dict healthcheck 1m;
## 在worker初始化過程中,啟動定時器,進行後端結點的檢查
init_worker_by_lua_block ,
-- 併發度, 預設值為 1
concurrency = 1
, }
ifnot ok then
ngx.log(ngx.err,
"*****==> failed to spawn health checker:
", err)
return
end }
# 配置監控檢查訪問頁面
location /server/status
}
配置引數解釋
hc.spawn_checker(options)
options中包含如下選項,在呼叫該介面時作為引數傳遞進來
type 必須存在並且是http,目前只支援http
http_req 必須存在,健康探測的http請求raw字串
timeout 預設1000,單位ms
interval 健康探測的時間間隔,單位ms, 預設1000,推薦2000
valid_status 合法響應碼的表,比如
concurrency 併發數,預設1
fall 預設5,對up的裝置,連續fall次失敗,認定為down
rise 預設2,對down的裝置,連續rise次成功,認定為up
shm 必須配置,用於健康檢查的共享記憶體名稱,通過ngx.shared[shm]得到共享記憶體
upstream 指定要做健康檢查的upstream組名,必須存在
version 預設0
primary_peers 主組
backup_peers 備組
statuses 存放合法響應碼的陣列,來自ipairs()得到的valid_status配置項
根據options會構造乙個ctx表來存放所有的配置資料,並會作為定時器ngx.timer.at()中的第三個引數
ctx的內容如下
upstream 指定的upstream組名
primary_peers 主組
backup_peers 備組
http_req 健康檢查的raw http請求
timeout 超時時間,單位s,注意不是ms
interval 健康檢查的間隔,單位s,注意不是ms
dict 存放統計資料的共享記憶體
fall 認為down之前的連續失敗次數,預設5
rise 認為up之前的連續成功次數,預設2
statuses 認為正常的http狀態碼的表
version 0 每次執行定時任務時的版本號,有peer狀態改變,版本號加1
concurrency 建立該數目的輕量執行緒來併發傳送健康檢測請求的個數
上面的這些配置項,將作為乙個上下文儲存下來,在不同的階段被反覆呼叫
lvs mysql健康檢查 lvs 健康檢查方式
一 tcp 4層檢查 virtual server 192.168.2.213 80 delay loop 6 lb algo wlc 採取權重式最少鏈結分配 lb kind dr 採取dr模式 protocol tcp real server 192.168.2.220 80 tcp check ...
Nginx被動健康檢查和主動健康檢查
1.被動健康檢查 nginx自帶有健康檢查模組 ngx http upstream module,可以做到基本的健康檢查,配置如下 upstream cluster server nginx只有當有訪問時後,才發起對後端節點探測。如果本次請求中,節點正好出現故障,nginx依然將請求轉交給故障的節點...
應用健康檢查
我們的應用是都是走自動化指令碼發布的,當發布完成後,通常的做法可能是直接看發布日誌是否有報錯,但這需要人工去操作,所以我們寫了乙個健康檢查的頁面,在發布完成後用指令碼去訪問這個健康頁面,看是否能正常訪問,從而確定應用是否正常啟動。servlet private static final long s...