• 幕客老师召集小伙伴
  • 运维高手36项修炼
  • python自动化运维项目实战
  • nginx从入门到实战
  • 阿里云与Centos7实战

Shell脚本监控nginx运行状态

我们通过linux 服务器上的curl的方式,来获取http的状态。

一、首先确定Nginx的服务,stub模块开启。

默认通过编译安装的方式,是不会安装ngx_http_stub_status_module,我们可以通过重新编译,安装此模块。

如下:

--with-http_stub_status_module

然后,需要修改nginx.conf的配置,例:

location /nginx_status {
stub_status on;
allow all;
}

通过浏览器访问对应地址,如下:

Active connections: 4   #当前客户端活跃的连接数
server accepts handled requests  #总共的连接数 总共接收到的(一般喝server的数值一样,除非有加limit模块限制) 总的客户端请求 
 9 9 16 
Reading: 0 Writing: 1 Waiting: 3  #当前在读到的请求头 当前返回给客户端的请求头     当前有多少空闲的客户端等待响应  

二、脚本监控,样例:

#================================================================
#!/bin/bash
Resettem=$(tput sgr0)
Http_Server='http://10.156.11.173/nginx_status'
Statu_Code=$(curl -H "Host:www.iaskjob.com" -m 5 -L -s -w %{http_code} ${Http_Se
rver} -o /dev/null)
if [ $Statu_Code -eq 000 -o $Statu_Code -ge 500 ];then
echo -e '\E[32m'"Check http server error! Response number is" $Resettem
$Statu_Code
else
Http_content=$(curl -H "Host:www.iaskjob.com" -s ${Http_Server})
echo -e '\E[32m'"The current number of connections:" $Resettem $Http_con
tent
fi

 

 

Shell脚本监控nginx运行状态

Pingbacks已打开。

引用地址

暂无评论

发表评论