微服务系列文章 之 Nginx服务状态监控的方法

在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\]}'

相关推荐
yunteng52110 小时前
通用架构(同城双活)(单点接入)
架构·同城双活·单点接入
麦聪聊数据10 小时前
Web 原生架构如何重塑企业级数据库协作流?
数据库·sql·低代码·架构
程序员侠客行11 小时前
Mybatis连接池实现及池化模式
java·后端·架构·mybatis
Harvey90311 小时前
通过 Helm 部署 Nginx 应用的完整标准化步骤
linux·运维·nginx·k8s
bobuddy13 小时前
射频收发机架构简介
架构·射频工程
桌面运维家13 小时前
vDisk考试环境IO性能怎么优化?VOI架构实战指南
架构
一个骇客15 小时前
让你的数据成为“操作日志”和“模型饲料”:事件溯源、CQRS与DataFrame漫谈
架构
鹏北海-RemHusband15 小时前
从零到一:基于 micro-app 的企业级微前端模板完整实现指南
前端·微服务·架构
7哥♡ۣۖᝰꫛꫀꪝۣℋ15 小时前
Spring-cloud\Eureka
java·spring·微服务·eureka
2的n次方_17 小时前
Runtime 内存管理深化:推理批处理下的内存复用与生命周期精细控制
c语言·网络·架构