什么是 Apache?
Apache 是一款 HTTP 服務(wù)器軟件,現在更名為 "http",而 Apache 則成了一個(gè)(包含httpd的項目)巨大的基金組織,根據習慣后文都用 Apache 特指 Apache HTTP Server(httpd)。Apache 誕生于1995年,且從 96 年 4 月起就一直是全球最流行的 web 服務(wù)器。該項目的定位是一個(gè)開(kāi)源且跨平臺(支持類(lèi) UNIX 系統和 Windows 系統)的 HTTP 服務(wù)器,旨在提供與當前 HTTP 標準同步,安全、高效、可拓展的服務(wù)。
監控Apache的參數
Apache提供哪些監控參數
現在主要使用的 Apache 版本是 Version 2.0,Version 2.2 和 Version 2.4。提供的監控參數基本沒(méi)有變化,下表是 Apache2.2 提供的主要監控參數(相對實(shí)用的)。
| 參數名稱(chēng) | 參數描述 |
|---|---|
| Total Accesses | 服務(wù)器自啟動(dòng)來(lái)接收到的請求連接數 |
| Total kBytes | 傳輸的總數據量,單位是KB |
| CPULoad | NCPU負荷 |
| Uptime | 運行時(shí)間,單位秒 |
| ReqPerSec | 每秒請求數 |
| BytesPerSec | 每秒傳輸數據量,單位B/s |
| BytesPerReq | 平均每個(gè)請求的數據傳輸量(事實(shí)上就是BytesPerSec/BytesPerSec) |
| BusyWorkers | 在跑的進(jìn)程數 |
| IdleWorkers | 空閑的進(jìn)程數 |
此外,還有其他監控參數如當前使用的 Apache 版本號、每個(gè)進(jìn)程狀態(tài),以及 Apache2.4 提供的新參數如當前的系統時(shí)間、Apache 安裝時(shí)間等等。這些數據猶如雞肋,有用卻并不是我們想在監控頁(yè)需要看到的。
簡(jiǎn)單說(shuō)明一下
Total Accesses 就是服務(wù)器啟動(dòng)后,總訪(fǎng)問(wèn)數,Total kBytes 對應于這些訪(fǎng)問(wèn)共用了多少數據傳輸量,單位是 KB。
CPULoad 是指當前服務(wù)器占用 CPU 的負荷值。值的一提的是,在 2.4 版本里還有 Server Load1,Server Load5 和 Server Load15 三個(gè)參數,分別表示前 1、5 和 15 分鐘內 cpu 的平均負荷。
Uptime 就是從啟動(dòng)到你看到不間斷的運行時(shí)間,單位秒。在 2.4 版里也多了個(gè) ServerUptime 參數,表示結果也人性化一點(diǎn),會(huì )分開(kāi)顯示天時(shí)分秒,然而這也改變不了它沒(méi)有什么用命運。
ReqPerSec,BytesPerSec 和 BytesPerReq,這個(gè)就不用解釋了就是字面上的意思,前兩個(gè)分別是每秒請求數、每秒傳輸的數據量。第三個(gè)參數是前兩個(gè)參數計算來(lái)的,計算公式是BytesPerReq=BytesPerSec/ReqPerSec。
BusyWorkers,IdleWorkers 分別是在跑的進(jìn)程和空閑的進(jìn)程數。IdleWorkers 就是負責等待新的訪(fǎng)問(wèn)(連接請求),而 BusyWorkers 就是在讀請求和發(fā)送回應。監控參數 Scoreboard 里面的'_'對應于 IdleWorkers,'W' 和 'R' 對應于 BusyWorkers。
具體參數可看示例官網(wǎng)狀態(tài)頁(yè),另外這個(gè)頁(yè)面是為了方便抓取數據而設置的。
下圖是通過(guò)定時(shí)抓取這些參數值制作的圖表。
如何獲取Apache監控參數
Apache性能監控參數會(huì )在一個(gè)監控頁(yè)面上顯示,這個(gè)監控頁(yè)需要開(kāi)啟 Apache 的 mod_status 模塊。這就要求在 Apache 的配置文件 httpd.conf 里添加一段 Location。在版本 2.0 和 2.2 里面,添加如下
<Location /server-status>
SetHandler server-status
Order Deny,Allow
Deny from all
Allow from example.com
</Location>
在版本 2.4 里面添加如下
<Location "/server-status">
SetHandler server-status
Require host example.com
</Location>
在版本 2.3.6 之后指令 ExtendedStatus 默認處于 On 的狀態(tài)。所以,在版本 2.3.6 之前,想要看到全部的監控參數,需要在 httpd.conf 中添加如下:
ExtendedStatus On
官網(wǎng)上也說(shuō)了,把這個(gè)打開(kāi)的話(huà)會(huì )影響到 Apache 的速度。請根據自身情況和實(shí)際需求,酌情使用。
配置完了需要重起一下 Apache,然后就會(huì )在你your.server.name/server-status上看到監控頁(yè)面,大概是這個(gè)樣子:
如果需要定時(shí)刷新的話(huà),只需要把網(wǎng)址改為your.server.name/server-status?refresh=N,每 N 秒自動(dòng)刷新一次。如果需要采集數據的話(huà),這個(gè)your.server.name/server-status?auto對你幫助會(huì )大一些。
順便安利一下,裝一個(gè)Ci,就能看到前面關(guān)于 Apache 基于時(shí)間的運行狀態(tài)的圖了。免費注冊免費使用,還能設置報警策略。具體,戳這里。
Cloud Insight 集監控、管理、計算、協(xié)作、可視化于一身,幫助所有 IT 公司,減少在系統監控上的人力和時(shí)間成本投入,讓運維工作更加高效、簡(jiǎn)單。
聯(lián)系客服