Nginx提供实时生命监控界面显示你的服务器设施的关键负载和性能指标。这些指标能够只在仪表盘或做为RESTful JSON界面表明和第三方监控工具链接。html
指标包括来自HTTP和TCP upstream服务器的数据和其它数据,包括:nginx
Nginx版本、uptime和标识符信息缓存
总链接数和请求数服务器
每一个status_zone请求和响应计数工具
Upstream服务器组中的每一个服务器的请求和响应计数,加健康检查和uptime统计性能
每台服务器的统计,包括它的当前状态和总值(总失败数,等)测试
每一个命名的缓存区域仪表盘spa
首先,你须要在Nginx配置中启用收集统计。而后你能配置服务器区域、健康检查、缓存和其它出如今统计中的数据。server
为了启用仪表盘和JSON界面,打开Nginx配置文件并执行如下步骤:htm
在http上下文中,指定server块负责收集统计:
http {
server {
}
}
http {
server {
listen 192.168.1.23:8080;
...
}
}
http {
server {
listen 192.168.1.23:8080;
...
location /status {
status;
...
}
}
}
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 {
}
}
}
你能收集几乎全部的Nginx统计数据,包括分开虚拟主机、upstream服务器组、缓存区域。在这种状况下,你须要执行一些额外的安装步骤。例如,收集虚拟主机和upstream组的统计信息须要共享内存区域存储配置和运行时状态信息:
为了使HTTP和TCP服务器显示统计,指定status_zone指令。相同的区域名能够指定在多个server块中,所以这些主机的统计聚合在仪表盘中:
server {
...
status_zone status_page;
location / {
proxy_pass http://backend;
}
}
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;
}
server {
...
location /upstream_conf {
upstream_conf;
allow 92.168.1.0/32;
deny all;
}
}
测试配置并从新加载Nginx
sudo nginx -t && sudo nginx -s reload