nginx?status配置及參數(shù)配置小結(jié)
今天簡(jiǎn)單介紹下如何監(jiān)控Nginx的狀態(tài)。
其實(shí)要監(jiān)控Nginx的狀態(tài)非常簡(jiǎn)單,它內(nèi)建了一個(gè)狀態(tài)頁,只需修改Nginx配置啟用Status即可,對(duì)于想了解nginx的狀態(tài)以及監(jiān)控nginx非常有幫助。
1. 啟用nginx status配置
大概Nginx配置文件,在默認(rèn)主機(jī)里面加上location或者你希望能訪問到的主機(jī)里面加上如下配置。
#NGINX 狀態(tài)監(jiān)控 ,需要確認(rèn)是否安裝監(jiān)控模塊 http_stub_status_module,如果已經(jīng)安裝該模塊,可以為 NGINX 啟用狀態(tài)監(jiān)控: server { listen 91; location /status { stub_status on; access_log off; } }
2. 重啟nginx
操作命令比較簡(jiǎn)單,請(qǐng)依照你的環(huán)境重啟你的nginx即可。
3. 打開status頁面
在瀏覽器中輸入nginx的地址:http://192.168.2.109:91/status,即可查看nginx的狀態(tài)信息
4. nginx status詳解
- Active connections – 活躍的連接數(shù)量
- server accepts handled requests — 總共處理了93個(gè)連接 , 成功創(chuàng)建93次握手, 總共處理了152個(gè)請(qǐng)求。
- reading — 讀取客戶端的連接數(shù)。
- writing — 響應(yīng)數(shù)據(jù)到客戶端的數(shù)量。
- waiting — 開啟 keep-alive 的情況下,這個(gè)值等于 active – (reading+writing), 意思就是 Nginx 已經(jīng)處理完正在等候下一次請(qǐng)求指令的駐留連接。
5、使用NginxStatus統(tǒng)計(jì)及監(jiān)控
(1). 統(tǒng)計(jì)網(wǎng)站流量和請(qǐng)求情況
NginxStatus提供了requests和bytes兩個(gè)信息,可以通過腳本定時(shí)獲取并統(tǒng)計(jì),實(shí)現(xiàn)對(duì)網(wǎng)站流量和請(qǐng)求情況的監(jiān)控。
以下是獲取requests和bytes信息的python腳本:
import urllib.request import re import time url = 'http://localhost/nginx_status' while True: response = urllib.request.urlopen(url) html = response.read().decode('utf-8') status = re.findall(r'Requests\s+(\d+)', html)[0] # requests信息 traffic = re.findall(r'(\d+)\skB', html)[0] # bytes信息 print('Requests:{} | Traffic:{}kB'.format(status, traffic)) time.sleep(5) # 每5秒更新一次
(2). 監(jiān)控服務(wù)器負(fù)載情況
NginxStatus提供了Active connections
、Reading
、Writing
和Waiting
四個(gè)信息,可以用來監(jiān)控服務(wù)器的負(fù)載情況。
以下是根據(jù)Active connections信息,通過腳本實(shí)現(xiàn)自動(dòng)熱備的例子:
#!/bin/bash # 配置備用服務(wù)器地址 backup_server=192.168.1.2 while true do # 獲取Active連接數(shù) active_conn=$(curl -s http://localhost/nginx_status | grep 'Active' | awk '{print $3}') # 當(dāng)Active連接數(shù)大于100時(shí),自動(dòng)將流量切到備用服務(wù)器 if [ $active_conn -gt 100 ] then sed -i 's/server\ 192\.168\.1\.1/server\ 192\.168\.1\.2/g' /etc/nginx/nginx.conf nginx -s reload fi # 當(dāng)Active連接數(shù)小于50時(shí),自動(dòng)將流量切回主服務(wù)器 if [ $active_conn -lt 50 ] then sed -i 's/server\ 192\.168\.1\.2/server\ 192\.168\.1\.1/g' /etc/nginx/nginx.conf nginx -s reload fi sleep 10 # 每10秒檢查一次 done
(3). 檢測(cè)Nginx服務(wù)狀態(tài)
NginxStatus提供了server accepts handled requests信息,可以用來監(jiān)控服務(wù)器的服務(wù)狀態(tài)。
以下是檢測(cè)Nginx服務(wù)狀態(tài)的python腳本:
import urllib.request import re import time import subprocess url = 'http://localhost/nginx_status' while True: response = urllib.request.urlopen(url) html = response.read().decode('utf-8') handled = re.findall(r'Handled\s+(\d+)', html)[0] status = subprocess.Popen('service nginx status', shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) output = status.communicate()[0].decode('utf-8') if 'active (running)' not in output or int(handled) == 0: subprocess.Popen('service nginx restart', shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) time.sleep(30) # 等待30秒后再次檢測(cè) time.sleep(5) # 每5秒檢查一次
6、總結(jié)
到此這篇關(guān)于nginx status配置及參數(shù)配置的文章就介紹到這了,更多相關(guān)nginx status配置內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
nginx如何實(shí)現(xiàn)同個(gè)ip、端口訪問不同的項(xiàng)目(以路徑區(qū)分項(xiàng)目)
這篇文章主要介紹了nginx如何實(shí)現(xiàn)同個(gè)ip、端口訪問不同的項(xiàng)目(以路徑區(qū)分項(xiàng)目),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12nginx反向代理服務(wù)因配置文件錯(cuò)誤導(dǎo)致訪問資源時(shí)出現(xiàn)404
這篇文章主要介紹了nginx反向代理服務(wù)因配置文件錯(cuò)誤導(dǎo)致訪問資源時(shí)出現(xiàn)404,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-06-06Nginx 根據(jù)URL帶的參數(shù)轉(zhuǎn)發(fā)的實(shí)現(xiàn)
這篇文章主要介紹了Nginx 根據(jù)URL帶的參數(shù)轉(zhuǎn)發(fā)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09nginx location優(yōu)先級(jí)的深入講解
這篇文章主要給大家介紹了關(guān)于nginx location優(yōu)先級(jí)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09Nginx服務(wù)器中配置404錯(cuò)誤頁面時(shí)一些值得注意的地方
這篇文章主要介紹了Nginx服務(wù)器中配置404錯(cuò)誤頁面時(shí)一些值得注意的地方,包括隱藏Nginx出錯(cuò)頁面及Header上的版本號(hào)的安全方法,需要的朋友可以參考下2016-01-01修改配置解決Nginx服務(wù)器中常見的上傳與連接錯(cuò)誤
這篇文章主要介紹了修改配置解決Nginx服務(wù)器中常見的上傳與連接錯(cuò)誤的方法,分別針對(duì)Nginx的413錯(cuò)誤與111錯(cuò)誤,需要的朋友可以參考下2016-01-01Nginx配置SSL證書部署HTTPS網(wǎng)站的方法(頒發(fā)證書)
這篇文章主要介紹了Nginx配置SSL證書部署HTTPS網(wǎng)站的方法(頒發(fā)證書),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-06-06