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

相關文章
相關標籤/搜索