微服务系列文章 之 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\]}'

相关推荐
Re_Virtual7 小时前
centos 7环境下构建nginx 1.30
nginx·centos·rpmbuild
MY_TEUCK12 小时前
【Java 后端 | Nacos 注册中心】微服务治理原理、选型与注册发现实战
java·开发语言·微服务
春天花会开13112 小时前
Kubernetes 高可用架构实战指南
架构
万里侯13 小时前
云原生数据备份与恢复:保障数据安全的最佳实践
微服务·容器·k8s
码云之上13 小时前
万星入坞·其三:SDK 轻量组件如何优雅地"点亮"
性能优化·架构·前端框架
枫叶林FYL13 小时前
【强化学习】3 双系统持续强化学习:快速迁移与元知识整合架构手册
人工智能·机器学习·架构
AI科技星13 小时前
哥德巴赫猜想1+1基于平行素数对等腰梯形网格拓扑与素数渐近密度的大偶数满填充完备性证明
人工智能·线性代数·架构·概率论·学习方法
小短腿的代码世界14 小时前
信号路由风暴:Qt算法交易系统的高频信号分发架构
qt·算法·架构
2301_7807896614 小时前
手游遇到攻击为什么要用SDK游戏盾手游遇到攻击为什么要用 SDK 游戏盾?
安全·web安全·游戏·架构·kubernetes·ddos
中小企业实战军师刘孙亮15 小时前
小微企业生存发展指南:从求稳到扩张的实战策略-佛山鼎策创局破局增长咨询
架构·产品运营·音视频·制造·业界资讯