云监控最佳实践:自定义监控 Nginx 进程存活状态

2020-02-12 11:27:56 浏览数 (1)

如何监控部署在云服务器上的服务进程状态?

推荐您使用 云监控-自定义监控 !

目前内测阶段免费使用,无需审核,开通服务即用。诚邀您点击 申请页面 参与内测体验!


上报监控指标

步骤1:准备上报环境

安装 TCCLI 工具:

代码语言:txt复制
	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
代码语言:txt复制
	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 进程数量

代码语言:txt复制
	ps aux | grep nginx | grep -v grep | wc -l

步骤3:编写 Shell 脚本

代码语言:txt复制
	#!/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 脚本在后台进行目标指标的持续上报。

代码语言:txt复制
	chmod  x nginx_pro_cnt.sh

	nohup ./nginx_pro_cnt.sh &

查看上报指标

完成监控指标上报后,可以在 云监控-自定义监控 控制台 查看 指标视图

配置告警策略

步骤1:确认用户消息通道已验证,可在 CAM 鉴权 页面查看验证情况

image.pngimage.png

步骤2:进入自定义监控 指标视图 页面,在指标视图右上角【配置告警】

image.pngimage.png

更多告警策略配置操作请参阅 文档中心


扫描二维码,关注腾讯云监控公众号扫描二维码,关注腾讯云监控公众号

0 人点赞