学习是一个逐步发现自己无知的过程!

Nginx服务状态监控

Nginx服务状态监控

在Nginx的插件模块中有一个模块stub_status可以监控Nginx的一些状态信息,默认安装可能没有这个模块,手动编译的时候加一下即可。

  1. 模块安装

 先使用命令查看是否已经安装这个模块:

[root@ihxb123Z nginx]# ./nginx -V 
# V大写会显示版本号和模块等信息、v小写仅显示版本信息。

# 或用此使用看:
nginx -V 2>&1 | grep -o with-http_stub_status_module 

#如返回 
with-http_stub_status_module
# 则说明该模块已被开放,而什么都不返回的话就是没有被开放。
# 如果已经安装,会在显示的信息中包含 
--with-http_stub_status_module

# 如果没有此模块,需要重新编译,要加上当前所有的编译项,一起编译

./configure –with-http_stub_status_module
  1. Nginx配置

  安装后只要修改nginx配置即可,配置如下:

location /hxbcdnstatus {
            stub_status            on;
            access_log             off;
           allow 127.0.0.1;
            deny all;
            #auth_basic              "NginxStatus";
            #auth_basic_user_file  conf/nginxstaus;
}
  • 此处默认只有本地访问,如果远程可以查看需要加相关的IP或者干脆去掉Deny all即可。

  • 加密文件可以使用htpasswd -c /usr/nginx/conf hxb 命令来创建。

  • 配置完成后需要重启Nginx服务。

  • 状态配置只能是针对某个Nginx服务。目前Nginx还无法做到针对单个站点进行监控。

3.状态查看

  配置完成后在浏览器中输入http://127.0.0.1/hxbcdnstatus查看(或者用curl localhost/hxbcdnstatus),显示信息如下:

Active connections: 100 
server accepts handled requests
 1075 1064 6253 
Reading: 0 Writing: 5 Waiting: 95 

Accepts(接受)、Handled(已处理)、Requests(请求数)是一直在增加的计数器。Active(活跃)、Waiting(等待)、Reading(读)、Writing(写)随着请求量而增减。

名称 描述 指标类型
Accepts(接受) NGINX 所接受的客户端连接数 资源: 功能
Handled(已处理) 成功的客户端连接数 资源: 功能
Dropped(已丢弃,计算得出) 丢弃的连接数(接受 – 已处理) 工作:错误*
Requests(请求数) 客户端请求数 工作:吞吐量
  1. 参数说明

  active connections – 活跃的连接数量

  server accepts handled requests — 总共处理了1075个连接 , 成功创建1064次握手, 总共处理了6253个请求

  每个连接有三种状态waitingreadingwriting

  reading —读取客户端的Header信息数.这个操作只是读取头部信息,读取完后马上进入writing状态,因此时间很短。

  writing — 响应数据到客户端的Header信息数.这个操作不仅读取头部,还要等待服务响应,因此时间比较长。

  waiting — 开启keep-alive后等候下一次请求指令的驻留连接.

  正常情况下waiting数量是比较多的,并不能说明性能差。反而如果reading+writing数量比较多说明服务并发有问题。

赞(0)
未经允许不得转载:劉大帥 » Nginx服务状态监控

你的评论可能会一针见血! 抢沙发

登录

找回密码

注册