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
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/