Nginx生命活动监控

1    关于生命活动监控

Nginx提供实时生命监控界面显示你的服务器设施的关键负载和性能指标。这些指标能够只在仪表盘或做为RESTful JSON界面表明和第三方监控工具链接。html

指标包括来自HTTP和TCP upstream服务器的数据和其它数据,包括:nginx

  • Nginx版本、uptime和标识符信息缓存

  • 总链接数和请求数服务器

  • 每一个status_zone请求和响应计数工具

  • Upstream服务器组中的每一个服务器的请求和响应计数,加健康检查和uptime统计性能

  • 每台服务器的统计,包括它的当前状态和总值(总失败数,等)测试

  • 每一个命名的缓存区域仪表盘spa

2    配置Nginx

首先,你须要在Nginx配置中启用收集统计。而后你能配置服务器区域、健康检查、缓存和其它出如今统计中的数据。server

2.1    启用生命活动监控

为了启用仪表盘和JSON界面,打开Nginx配置文件并执行如下步骤:htm

  • 在http上下文中,指定server块负责收集统计:

http {

server {

 

    }

}

  •  指定IP地址和/或端口号,状态页将被启用,使用listen指令,例如,8080.若是Nginx监听多个IP,你能限制状态页到单个IP:

http {

    server {

        listen 192.168.1.23:8080;

        ...

    }

}

  •  指定location检查准确的URI匹配/status包含status指令:

http {

    server {

        listen 192.168.1.23:8080;

        ...

 

        location /status {

            status;

            ...

        }

    }

}

  •  指定一个location启用仪表盘:/status.html。仪表盘默认位于跟目录(例如,/usr/share/nginx/html)指定root指令:

http {

    server {

        listen 192.168.1.23:8080;

        root   /usr/share/nginx/html;

 

        location /status {

            status;

            ...

        }

 

        location = /status.html {

        }

    }

}

  •  限制访问你的统计:

http {

    server {

        listen 192.168.1.23:8080;

        root   /usr/share/nginx/html;

 

        location /status {

            status;

            allow 192.168.1.0/32;

            deny  all;

        }

 

        location = /status.html {

        }

    }

}

 2.2    添加更多统计数据

你能收集几乎全部的Nginx统计数据,包括分开虚拟主机、upstream服务器组、缓存区域。在这种状况下,你须要执行一些额外的安装步骤。例如,收集虚拟主机和upstream组的统计信息须要共享内存区域存储配置和运行时状态信息:

  • 为了使HTTP和TCP服务器显示统计,指定status_zone指令。相同的区域名能够指定在多个server块中,所以这些主机的统计聚合在仪表盘中:

server {

    ...

    status_zone status_page;

    location / {

        proxy_pass http://backend;

    }

}

  •  为了让upstream服务器组出如今统计中,在每一个upstream块中指定zone指令:

upstream backend {

    zone   backend 64k;

    server backend1.example.com;

    server backend2.example.com;

}

  •  为了让健康检查出如今统计中,确保健康检查被配置。

server {

    ...

    status_zone status_page;

    location / {

        proxy_pass http://backend;

        health_check;

    }

}

  •  为了让缓存出如今统计中,确保缓存在配置中启用。

http {

    ...

    proxy_cache_path /data/nginx/cache keys_zone=one:10m;

}

  •  为了能直接从仪表盘添加新upstream服务器或修改已存在的upstream服务器,启用upstream_conf处理器在单个location中

server {

    ...

    location /upstream_conf {

        upstream_conf;

        allow 92.168.1.0/32;

        deny all;

    }

}

  • 当完成时,保存并推出配置文件
  • 测试配置并从新加载Nginx

sudo nginx -t && sudo nginx -s reload

相关文章
相关标签/搜索