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个请求

每个连接有三种状态waitingreadingwriting

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • PHP脚本监控Nginx 502错误并自动重启php-fpm

    最近服务器时不时出现Nginx 502 Bad Gateway,如果在电脑旁边还好,要是半夜或者出去了,怎么办? 没关系,写个脚本检测服务状态,发现异常,自动重启. 自动重启脚本: 复制代码 代码如下: <?php $url = 'http://blog.rebill.info'; $cmd = '/usr/local/php/sbin/php-fpm restart';   for($i = 0; $i < 5; $i ++){         $exec = "curl  con

  • 简介使用Nginx Plus的在线活动监控功能的方法

    想了解你的 NGINX 服务器现在是什么情况? 是被 DoS 攻击, 还是网站出现一堆错误? NGINX Plus 现在推出一个时实活动监视接口,提供关键负载(key load )和性能监控. 通过简单的 RESTful JSON 接口,连接实时监控统计数据(stats to live dashboards) 和第三方监控工具,都变得轻轻松松. NGINX Plus 的 平衡负载状态时实监控 细节: 在线活动监控 – JSON feed 在NGINX Plus中启用该状态提示,只需简单地在服务器

  • Nginx stub_status 监控模块的功能实现

    Nginx 的 stub_status 模块用于查看 Nginx 的基本状态信息. 模块实现的功能 通过这个模块,可以看到如下的 Nginx 状态信息: Active connections: 2 server accepts handled requests 62 62 102 Reading: 0 Writing: 1 Waiting: 0 其中: Active connections:活跃的连接数 accepts:已允许的请求数 handled:已处理完毕的请求数 requests:总请求

  • 写了个监控nginx进程的Python脚本

    复制代码 代码如下: #!/usr/bin/env python import os, sys, time while True: time.sleep(3) try: ret = os.popen('ps -C nginx -o pid,cmd').readlines() if len(ret) < 2: print "nginx process killed, restarting service in 3 seconds." time.sleep(3) os.system(

  • Nginx服务状态监控的方法

    在Nginx的插件模块中有一个模块stub_status可以监控Nginx的一些状态信息,默认安装可能没有这个模块,手动编译的时候加一下即可. 1. 模块安装 先使用命令查看是否已经安装这个模块: 复制代码 代码如下: [root@ihxb123Z nginx]# ./nginx -V (V大写会显示版本号和模块等信息.v小写仅显示版本信息. 如果已经安装,会在显示的信息中包含 --with-http_stub_status_module信息.如果没有此模块,需要重新安装,编译命令如下: ./c

  • PHP实现服务器状态监控的方法

    本文实例讲述了PHP实现服务器状态监控的方法.分享给大家供大家参考.具体分析如下: PHP服务器状态监控对于很多朋友来讲都没做,只有看到网站挂了才知道,这种半夜网站关了是不知道情况了,对于网站也非常不好,为此这两天抽空写了个网页服务器状态监控,看到有朋友说需要,那我就放出来吧.很简单的东西. 使用方法: 打开压缩包里面的status.php文件.编辑这里的内容为你自己的邮箱信息.代码如下: 复制代码 代码如下: $mail->Host       = 'smtp.exmail.qq.com'; 

  • nginx status状态页配置方法和中文说明

    nginx和php-fpm一样内建了一个状态页,对于想了解nginx的状态以及监控nginx非常有帮助.为了后续的监控,我们需要先了解nginx状态页是怎么回事. 1. 启用nginx status配置 在默认主机里面加上location或者你希望能访问到的主机里面. 复制代码 代码如下: server {     listen  *:80 default_server;     server_name _;     location /ngx_status     {         stub

  • Zabbix监控SQL Server服务状态的方法详解

    SQL Server数据库的服务(SQL Server (MSSQLSERVER).SQL Server Agent (MSSQLSERVER)等服务)一般配置成自动启动,但是有时候有些服务组件也会突然停止.有些是因为异常或Bug,有些是因为配置缘故.有些是因为非规范操作(例如重启SQL Server (MSSQLSERVER)时关闭了SQL Server Agnt服务,但是没有检查或重启这个服务).那么监控SQL Server的服务状态也是数据库监控里面的一项常规工作. 以前我们用Solarw

  • Nginx状态监控以及日志分析详解

    1.Nginx状态监控 Nginx提供了一个内置的状态信息监控页面可用于监控Nginx的整体访问情况,这个功能由ngx_http_stub_status_module模块进行实现. 使用nginx -V 2>&1 | grep -o with-http_stub_status_module命令检测当前Nginx是否有status功能,如果输出ngx_http_stub_status_module则说明是有的,如果没有可以在编译时加上此模块. 默认情况下,status是关闭的,我们需要开启,并

  • 基于C#实现Windows服务状态启动和停止服务的方法

    本文以实例形式展示了基于C#实现Windows服务状态启动和停止服务的方法.非常实用.分享给大家供大家参考之用.具体方法如下: 首先先引用: System.ServiceProcess.dll 然后在引用命名空间: using System.ServiceProcess; 建立服务对象: ServiceController sc = new ServiceController("Server"); 服务运行则停止服务: if (sc.Status.Equals(ServiceContr

  • 使用spring-boot-admin对spring-boot服务进行监控的实现方法

    spring-boot-admin,简称SBA,是一个针对spring-boot的actuator接口进行UI美化封装的监控工具.他可以:在列表中浏览所有被监控spring-boot项目的基本信息,详细的Health信息.内存信息.JVM信息.垃圾回收信息.各种配置信息(比如数据源.缓存列表和命中率)等,还可以直接修改logger的level. 官网:https://github.com/codecentric/spring-boot-admin 使用指南:http://codecentric.

  • SpringBoot整合Spring Boot Admin实现服务监控的方法

    目录 1. Server端服务开发 1.1. 引入核心依赖 1.2. application.yml配置文件 1.3. Security配置文件 1.4. 主启动类 2. Client端服务开发 2.1. 引入核心依赖 2.2. application.yml配置文件 2.3. logback-spring.xml文件 2.4. 主启动类 3. 验证 4. 配置邮件告警 4.1. 引入核心依赖 4.3. 通知配置文件 4.4. 验证 Spring Boot Admin用于管理和监控一个或多个Sp

  • 使用 Nginx 部署静态页面的方法

    Nginx 介绍 Nginx 是俄罗斯人编写的十分轻量级的 HTTP 服务器, Nginx,它的发音为 " engine X ",是一个高性能的 HTTP 和反向代理服务器,同时也是一个 IMAP/ POP3/ SMTP 代理服务器.Nginx 是由俄罗斯人 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运行超过两年半了.Igor Sysoev 在建立的项目时,使用基于 BSD 许可. 英文主页:http://nginx.net. Ngi

  • ubuntu14.04LTS安装nginx+mariaDB+php7+YAF的方法

    本文讲述了ubuntu14.04LTS安装nginx+mariaDB+php7+YAF的方法.分享给大家供大家参考,具体如下: ubuntu apt-get方式安装nginx 参考: http://nginx.org/en/linux_packages.html 首先 in order to authenticate the nginx repository signature and to eliminate warnings about missing PGP key during inst

随机推荐