nginx統計響應的http狀態碼信息(ngx-http-status-code-counter)

1. 介紹
ngx-http-status-code-counter是一個用來記錄nginx響應狀態碼的統計信息,做者將這個模塊與munin結合來分析網站的http狀態,咱們也能夠將這個與nagios、zabbix或者其餘監控系統想結合,有這個模塊運維能夠再也不使用腳本去分析日誌了。html

2. 安裝ios

nginx的安裝方式再也不多說,請參考運維生存時間早期的《nginx安裝》,我這邊使用nginx-1.4.2作的測試。做者僅在0.8.50版本上使用,模塊比較簡單,新版本通常都會兼容,不過你們使用以前最好作一個測試。nginx

# cd /usr/local/src/
# wget https://github.com/kennon/ngx_http_status_code_counter/archive/master.zip
# unzip master
# cd nginx-1.4.2 
# ./configure --prefix=/usr/local/nginx-1.4.2 --add-module=../ngx_http_status_code_counter-master
# make
# make install

3. 配置NGINX
git

# for http_code_status
location /ttlsa_http_code_status/
{
        show_status_code_count on;
}

location /ttlsa_http_code_status500/
{
        return 500;
}

location /ttlsa_http_code_status502/
{
        return 502;
}

4. 測試
分別訪問http://test.ttlsa.com/ttlsa_http_code_status502/和http: //test.ttlsa.com/ttlsa_http_code_status500來製造一個500和502的狀態碼,以及隨意訪問一個頁面製造 404響應碼,一切都是爲了測試。
測試輸出內容以下圖github

  • ngx_http_status_code_counter

  • ngx_http_status_code_counterbash

5. 缺點運維

缺點也很明顯,全部的數據都保存在nginx內存中,一旦nginx reload或者重開,數據就爲空。還有一個缺點即是它統計的數據是持續疊加的,沒有時段區分,若是你想統計各個時段的http 響應代碼,你須要定時重啓nginx。測試

5. 兼容性
兼容0.8.x,可是0.7.x爲測試。我當前的版本是1.4.2運行OK網站

6. 結束語
有這個功能,將nginx統計出來的http響應碼放入監控系統中,便於排除系統故障。後續再貼出整合到監控系統的案例,請繼續關注運維生存時間。日誌

站點:運維生存時間 網址:http://www.ttlsa.com/nginx/nginx-modules-ngx-http-status-code-counter/

相關文章
相關標籤/搜索