最佳實踐:監控 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 鑒權 頁面查看驗證情況

image.png

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

image.png

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