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