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

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

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

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


上报监控指标

步骤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</code></pre></div></div><blockquote><p>更多 TCCLI 安装和配置使用相关文档请参阅 文档中心</p></blockquote><p><strong>步骤2:采集处于 Nginx 进程数量</strong></p><div class="rno-markdown-code"><div class="rno-markdown-code-toolbar"><div class="rno-markdown-code-toolbar-info"><div class="rno-markdown-code-toolbar-item is-type"><span class="is-m-hidden">代码语言:</span>txt</div></div><div class="rno-markdown-code-toolbar-opt"><div class="rno-markdown-code-toolbar-copy"><i class="icon-copy"></i><span class="is-m-hidden">复制</span></div></div></div><div class="developer-code-block"><pre class="prism-token token line-numbers language-txt"><code class="language-txt" style="margin-left:0">	ps aux | grep nginx | grep -v grep | wc -l</code></pre></div></div><p><strong>步骤3:编写 Shell 脚本</strong></p><div class="rno-markdown-code"><div class="rno-markdown-code-toolbar"><div class="rno-markdown-code-toolbar-info"><div class="rno-markdown-code-toolbar-item is-type"><span class="is-m-hidden">代码语言:</span>txt</div></div><div class="rno-markdown-code-toolbar-opt"><div class="rno-markdown-code-toolbar-copy"><i class="icon-copy"></i><span class="is-m-hidden">复制</span></div></div></div><div class="developer-code-block"><pre class="prism-token token line-numbers language-txt"><code class="language-txt" style="margin-left:0">	#!/bin/bash


# 获取云服务器内网IP

myip=$(curl http://metadata.tencentyun.com/latest/meta-data/local-ipv4 2&gt;&gt;/dev/null)


while true

do


nginx_pro_cnt=$(ps aux | grep nginx | grep -v grep | wc -l)

metrics=$(cat &lt;&lt;EOF

[

  {

    &#34;MetricName&#34;: &#34;nginx_pro_cnt&#34;, 

    &#34;Value&#34;: $nginx_pro_cnt

  }

]

EOF

)


tccli monitor PutMonitorData --Metrics &#34;$metrics&#34; --AnnounceIp &#34;$myip&#34; --AnnounceTimestamp $(date +%s)


sleep 60

done</code></pre></div></div><p><strong>步骤4:执行 Shell 脚本,完成数据持续上报</strong></p><p>将步骤3中的示例保存为 tcp_curr_timewait.sh 后,在当前目录下执行以下命令,即可通过 Shell 脚本在后台进行目标指标的持续上报。</p><div class="rno-markdown-code"><div class="rno-markdown-code-toolbar"><div class="rno-markdown-code-toolbar-info"><div class="rno-markdown-code-toolbar-item is-type"><span class="is-m-hidden">代码语言:</span>txt</div></div><div class="rno-markdown-code-toolbar-opt"><div class="rno-markdown-code-toolbar-copy"><i class="icon-copy"></i><span class="is-m-hidden">复制</span></div></div></div><div class="developer-code-block"><pre class="prism-token token line-numbers language-txt"><code class="language-txt" style="margin-left:0">	chmod +x nginx_pro_cnt.sh

nohup ./nginx_pro_cnt.sh &amp;</code></pre></div></div><h3 id="8nb36" name="%E6%9F%A5%E7%9C%8B%E4%B8%8A%E6%8A%A5%E6%8C%87%E6%A0%87">查看上报指标</h3><blockquote><p>完成监控指标上报后,可以在 云监控-自定义监控 控制台 查看 指标视图</p></blockquote><h3 id="i8k1" name="%E9%85%8D%E7%BD%AE%E5%91%8A%E8%AD%A6%E7%AD%96%E7%95%A5">配置告警策略</h3><p> <strong>步骤1:确认用户消息通道已验证,可在 CAM 鉴权 页面查看验证情况</strong> </p><figure class=""><div class="rno-markdown-img-url" style="text-align:center"><div class="rno-markdown-img-url-inner" style="width:100%"><div style="width:100%"><img src="https://cdn.static.attains.cn/app/developer-bbs/upload/1723332953815475480.png" /></div><div class="figure-desc">image.png</div></div></div></figure><p> <strong>步骤2:进入自定义监控</strong> <strong>指标视图</strong> <strong>页面,在指标视图右上角【配置告警】</strong> </p><figure class=""><div class="rno-markdown-img-url" style="text-align:center"><div class="rno-markdown-img-url-inner" style="width:100%"><div style="width:100%"><img src="https://cdn.static.attains.cn/app/developer-bbs/upload/1723332954183972767.png" /></div><div class="figure-desc">image.png</div></div></div></figure><blockquote><p>更多告警策略配置操作请参阅 文档中心</p></blockquote><figure class=""><hr/></figure><figure class=""><div class="rno-markdown-img-url" style="text-align:center"><div class="rno-markdown-img-url-inner" style="width:38.27%"><div style="width:100%"><img src="https://cdn.static.attains.cn/app/developer-bbs/upload/1723332954445767487.png" /></div><div class="figure-desc">扫描二维码,关注腾讯云监控公众号</div></div></div></figure>