最佳實踐:監控 Nginx 進程存活狀態
- 2019 年 12 月 20 日
- 筆記
如何監控部署在雲伺服器上的服務進程狀態?
推薦您使用 雲監控-自定義監控 !
目前內測階段免費使用,無需審核,開通服務即用。誠邀您點擊 申請頁面 參與內測體驗!
上報監控指標
步驟1:準備上報環境
安裝 TCCLI 工具:
pip install tccli
配置 TCCLI 工具:
- secretId:雲 API 密鑰 SecretId
- secretIKey:雲 API 密鑰 SecretKey
- region: 雲產品地域,可通過
curl http://metadata.tencentyun.com/latest/meta-data/placement/region獲取雲伺服器所在地域 - output: 可選參數,請求回包輸出格式,支援 json table text 三種格式,默認為 json
tccli configure set secretId AKIDwLw1234MMfPRle2g9nR2OTI787aBCDP // 您的secretId tccli configure set secretKey OxXj7khcV1234dQSSYNABcdCc1LiArFd // 您的secretKey tccli configure set region $(curl http://metadata.tencentyun.com/latest/meta-data/placement/region 2>/dev/null) tccli configure set output json
更多 TCCLI 安裝和配置使用相關文檔請參閱 文檔中心
步驟2:採集處於 Nginx 進程數量
ps aux | grep nginx | grep -v grep | wc -l
步驟3:編寫 Shell 腳本
#!/bin/bash # 獲取雲伺服器內網IP myip=$(curl http://metadata.tencentyun.com/latest/meta-data/local-ipv4 2>>/dev/null) while true do nginx_pro_cnt=$(ps aux | grep nginx | grep -v grep | wc -l) metrics=$(cat <<EOF [ { "MetricName": "nginx_pro_cnt", "Value": $nginx_pro_cnt } ] EOF ) tccli monitor PutMonitorData --Metrics "$metrics" --AnnounceIp "$myip" --AnnounceTimestamp $(date +%s) sleep 60 done
步驟4:執行 Shell 腳本,完成數據持續上報
將步驟3中的示例保存為 tcp_curr_timewait.sh 後,在當前目錄下執行以下命令,即可通過 Shell 腳本在後台進行目標指標的持續上報。
chmod +x nginx_pro_cnt.sh nohup ./nginx_pro_cnt.sh &
查看上報指標
完成監控指標上報後,可以在 雲監控-自定義監控 控制台 查看 指標視圖
配置告警策略
步驟1:確認用戶消息通道已驗證,可在 CAM 鑒權 頁面查看驗證情況

步驟2:進入自定義監控 指標視圖 頁面,在指標視圖右上角【配置告警】

更多告警策略配置操作請參閱 文檔中心


