摘要:監控的參數提供哪些監控參數下表是提供的監控參數及其簡單釋義。用戶連接請求被處理,就會進入狀態。如何獲取性能監控參數開源的會提供一個子網頁顯示前文提到的監控參數。免費注冊免費使用,還能設置報警策略。
什么是 Nginx?
Nginx("engine-x")是一個 HTTP 和反向代理服務器,同時也是一個郵件代理服務器和通用的 TCP 代理服務器。作為一個免費開源的服務器,Nginx 具有高性能、穩定和較低的資源占用的特點。它擁有豐富的特征集,同時配置也很簡單。
Nginx 是少數幾個可以解決 C10K 問題的服務器之一。不同于傳統服務器,它使用可擴展的時間驅動(異步)架構替代線程來處理請求。尤為重要的是,該架構占用負載下的內存小,且可預測。即便不需要同時處理數千的網絡請求,你仍然能從Nginx 的高性能和低內存占用中受益。從最小的VPS到大型集群服務器,Nginx 都能適用。
Nginx 還有一個商業版 Nginx Plus,功能更加豐富。
監控 Nginx 的參數 Nginx 提供哪些監控參數下表是 Nginx 提供的監控參數及其簡單釋義。
參數名稱 | 參數描述 |
---|---|
Active connections | 當前活躍的用戶連接(包含Waiting狀態) |
accepts | 接收到的用戶連接總數 |
handled | Nginx處理的用戶連接總數 |
requests | 用戶請求總數 |
Reading | 當前連接中Nginx讀取請求首部的個數 |
Writing | 當前連接中Nginx寫返回給用戶的個數 |
Waiting | 當前沒有請求的活躍用戶連接數 |
通過下面的圖,可以清晰的看到參數的具體意義和作用。
當用戶請求連接Nginx服務器時,accepts計數器會加一。且當服務器處理該連接請求時,handled計數器同樣會加一。一般而言,兩者的值是相等的,除非達到了某些資源極限(如worker_connection的限制)。
用戶連接請求被處理,就會進入 active 狀態。如果該連接沒有其他 request,則進入 waiting 的子狀態;如果有 request,nginx 會讀取 request 的 header,計數器 request 加一,進入 reading 的子狀態。 reading 狀態持續時間非常短,header 被讀取后就會進入 writing 狀態。事實上,直到服務器將響應結果返回給用戶之前,該連接會一直保持 writing 狀態。所以說,writing 狀態一般會被長時間占用。
Nginx提供哪些監控參數下表是Nginx Plus提供的主要監控參數、說明以及和Nginx的差異。
參數名稱 | 參數描述 | 與Nginx差異 |
---|---|---|
Active | 當前活躍的用戶連接(不包含 Idel 狀態) | 等同 Active connections |
Accepted | 接收到的用戶連接總數 | 等同 accepts |
Dropped | Nginx 丟棄的用戶連接總數 | accepts - handled |
Idle | 當前沒有請求的活躍用戶連接數 | 等同 Waiting |
Total | 用戶請求總數 | 等同 requests |
Current(Requests) | 當前有請求的活躍用戶連接數(等同 Active) | Reading + Writing |
Current(Connections) | 當前在線用戶數(Active + Idle) | Reading + Writing + Waiting |
主要參數和開源的Nginx相比較,區別不大。主要就是換了名字,以及通過加減法的參數整合。同樣,通過下面的圖也能看清這些參數的作用。
具體運作和Nginx并無不同,故不贅述。當然,作為商業版,它提供的參數還有很多,可以在這里看。
怎么利用這些參數開源的 Nginx 提供的原始參數中,實時性的會比較有用,如 Active connections、Reading、Writing 以及 Waiting。這些數據能夠反映當前 Nginx 的負載情況,方便在服務器出現問題時及時發現問題。而另一些數據由于不是狀態量,Nginx 無法計算當前的量值而改做其統計數,如 accepts、handled 和 requests。
對于維護網站人員,accepts、handled 和 requests 的統計值用處是不大的,值得參考的是短時間內這三者數值的增量。這個短時間可以是一秒,如 accepts_per_second、handled_per_second 和 requests_per_second。一個簡單的做法就是每秒都去讀取這些參數,返回一個和上一秒的差值就行。當然,handled_per_second 替換成 dropped_per_second=accepts_per_second-handled_per_second 就更完美了。
通過這七個參數,就可以從連接到請求全方位的監控起 Nginx 的運行狀態。為了方便檢測,對每次獲取的參數保留下來,然后按時間展現出來。下圖展示了 Nginx 在運行時的參考數據。
開源的 Nginx 會提供一個子網頁顯示前文提到的監控參數。該網頁默認時不開啟的,需要開放 ngx_http_stub_status_module 來解鎖。默認該模塊是開放的,通過以下命令,可以快速確定該模塊是否已被開放。
nginx -V 2>&1 | grep -o with-http_stub_status_module
如過返回 with-http_stub_status_module,則說明該模塊已被開放,而什么都不返回的話就是沒有被開放。需要通過原碼構建 Nginx 加上配置參數 --with-http_stub_status_module:
./configure … --with-http_stub_status_module make sudo make install
以上步驟搞定后,還有需要一個配置 URL 來開啟 Nginx 狀態頁。打開你的網站對應 Nginx 的配置文件,添加以下修改:
server{ listen your-website-port; location /basic_status { stub_status; } }
如果 Nginx 版本低于1.7.5,則需要語法指令添加參數(任意參數):
server{ listen your-website-port; location /basic_status { stub_status on; } }
修改完成后,需要重新載入 Nginx,鍵入命令 nginx -s reload,然后就能在狀態頁(127.0.0.1:your-website-port/basic_status)看見你的監控參數了。大概是這個樣子:
Active connections: 1 server accepts handled requests 38 38 38 Reading: 0 Writing: 1 Waiting: 0
Nginx Plus 和 Nginx 在前面的設置差不多。配置狀態頁時,需要在配置文件中加上 server 模塊:
server { listen your-website-port; location /status { status; } location = /status.html { } }
重載一下Nginx,你會在狀態頁(127.0.0.1:your-website-port/status.html)看到大概這個樣子:
順便安利一下,裝一個 Ci,就能看到前面關于 Nginx 基于時間的運行狀態的圖了。免費注冊免費使用,還能設置報警策略。具體,戳這里。
Cloud Insight 集監控、管理、計算、協作、可視化于一身,幫助所有 IT 公司,減少在系統監控上的人力和時間成本投入,讓運維工作更加高效、簡單。
本文系國內 ITOM 行業領軍企業 OneAPM 工程師原創。想閱讀更多技術文章,請訪問 OneAPM 官方技術博客。
本文轉自 OneAPM 官方博客
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/39230.html
摘要:我會寫一些是后端技術前端工程相關的文章,偶爾會有一些大數據相關,也會推薦一些好玩的東西。 showImg(https://segmentfault.com/img/remote/1460000006767498); Nginx作為所有HTTP請求的入口,是非常重要的一層。本文主要介紹如何利用 Nginx日志實時監控每個業務的請求異常。? 這篇文章基于我之前的的一篇 《基于Lua+Kaf...
摘要:如何自建一個思路接入方案我們都知道訪問集群的服務需要接入。據我所知,接入的方案有種云廠商提供比如官方的實現第三方實現方案自建,比如使用這里重點記錄一下,如何自建一個的思路。控制中心是一個叫的程序,監控對應的,數據代理是有組成。 如何自建一個k8s ingress 思路 ingress 接入方案 我們都知道訪問k8s 集群的服務需要ingress 接入。 據我所知,ingress 接入的...
摘要:用戶實例以下是用戶局域網內采用代理已征得用戶同意,配置探針和探針監控自己服務器組件和應用的文章,參考局域網無外網的機器使用的辦法,用戶的主要操作是首先配置文件,集成配置代理,通過監控端口,的數據發送到,的數據發送到。 背景 隨著互聯網的發展,各種網絡攻擊手段也層出不窮,不管是大型企業還是中小企業,隨時都有被攻擊的危險,因此很多公司都會采取各種手段來維護自己服務器安全,其中比較常見的是采...
摘要:是由淘寶網發起的服務器項目。回源監控是內容分發網絡的簡稱,其分發的內容來自用戶源站,負責回源的模塊是最重要組成部分之一,使跨越單機的限制,完成網絡數據的接收處理和轉發。這部分主要介紹的一些調試技巧和回源資源監控的內容,以及相應的實例分享。 摘要: Tengine是由淘寶網發起的Web服務器項目。它在Nginx的基礎上,針對大訪問量網站的需求,提供更強大的流量負載均衡能力、全站HTTPS...
閱讀 2238·2021-11-15 11:39
閱讀 994·2021-09-26 09:55
閱讀 937·2021-09-04 16:48
閱讀 2846·2021-08-12 13:23
閱讀 927·2021-07-30 15:30
閱讀 2461·2019-08-29 14:16
閱讀 892·2019-08-26 10:15
閱讀 533·2019-08-23 18:40