• 监控nginx服务


    转自:http://www.cnblogs.com/silent2012/p/5310500.html

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

      1. 模块安装

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

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

      如果已经安装,会在显示的信息中包含 --with-http_stub_status_module信息。如果没有此模块,需要重新安装,编译命令如下:

    ./configure –with-http_stub_status_module

      2. 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查看,显示信息如下:

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

      4. 参数说明

      active connections – 活跃的连接数量

      server accepts handled requests — 总共处理了107520387个连接 , 成功创建107497834次握手, 总共处理了639121056个请求

      每个连接有三种状态waiting、reading、writing

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

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

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

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

      补充:

      查看Nginx并发进程数:ps -ef | grep nginx | wc -l

      查看Web服务器TCP连接状态:netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

  • 相关阅读:
    多线程的多核分配问题验证
    C++C#联合调试
    UNITY 手游(安卓)如何使用C/C++代码
    关于C#内存释放的BUG?
    日期转换
    深度剖析目标检测算法YOLOV4
    2. 使用Shell能做什么
    【Jmeter】之进行接口批量压力测试
    MongoDB-ChangeStream使用笔记
    Mongo-BI(bi-connector)配置使用笔记
  • 原文地址:https://www.cnblogs.com/yueminghai/p/6639367.html
Copyright © 2020-2023  润新知