如何利用MRTG監控Apache

如何利用MRTG監控Apache

MRTG是個很簡易的圖表工具,若你有一台對外服務的Linux主機的話,那麼可以畫一些圖表來當作監控唷!若主機真的有異常也會即時反應在圖表上,讓你可以快速的發掘問題,圖表看久之後也可以知道服務的曲線是怎樣的跑,對於整體的負載狀況也比較好掌控。

最近我把家裡能監控的網路都監控了,snmp搭配上mrtg對網卡的流量的監控是最基本的,網路上也很多資訊我也不不多做說明。我把主機的流量、動物機的流量與IP分享器的流量都監控,未來打算把我所有的主機都一起監控,看很多圖表的感覺還頗爽的XD,最近加入的是對於Apache的監控。

Apache能監控的項目其實頗多的,重點是看你想要得知怎樣的資訊,以及該如何解析各項數據的意義,最基本利用server-status就可以監控下列幾項:

  • Total Accesses
  • Total kBytes
  • CPULoad
  • Uptime
  • ReqPerSec
  • BytesPerSec
  • BytesPerReq
  • BusyWorkers
  • IdleWorkers

首先要開啟apache的server-status,修改apache的設定檔如下:

<Location /server-status>
    SetHandler server-status
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1 其他限定可以讀取的IP
</Location>

主要還是開啟server-status的設定,然後限制可以讀取的來源主機,基本上設定127.0.0.1就好了,若你有遠端的主機需要監控,記得在遠端主機加上自己電腦的IP,設定完成後reload或restart網頁服務即可。此時你就可以瀏覽 http://主機/server-status 查看目前apache的狀態,仔細看看這是很有用的資訊唷!而要用mrtg收集資訊是要瀏覽 http://主機/server-status?auto 來擷取一些網頁秀出的內容。(mrtg基本設定不再介紹,有問題還是可以發問。)

參考網路的一些文件,在系統內我們寫入一個小小的perl(假設命名apache.pl)
#!/usr/bin/perl
#
# apache-stats
use LWP::Simple;

my $stats=get("http://127.0.0.1/server-status?auto");
$stats =~ s/.*BusyWorkers: (\d+)//;
my $b = $1;
print "$b\n";
$stats =~ s/.*IdleWorkers: (\d+)//;
print $b + $1 . "\n";
print "\n\n";

# 依照我個人需求只抓取Busy和Idle的數量,全部數量則為Busy+Idle

mrtg的設定檔如下:(假設命名apache.cfg)
Target[apache-server]: `/usr/local/bin/apache.pl`  #perl的位置
MaxBytes[apache-server]: 100000
Options[apache-server]: growright,gauge,nopercent,dorelpercent,transparent, avgpeak, pngdate
Title[apache-server]: Apache Statistics
PageTop[apache-server]: <h1>Active Apache child processes</h1>
WithPeak[apache-server]: dwmy
YLegend[apache-server]: No. of child processes
ShortLegend[apache-server]: processes
LegendI[apache-server]:  active:
LegendO[apache-server]:  total:

設定完成之後就可以執行mrtg測試一下是否正常囉!(網頁輸出路徑的設定就不介紹囉!)
mrtg apache 執行三次之後若沒有錯誤訊息就代表OK囉!把mrtg的執行加入crontab每五分鐘跑一次就可以囉!

apache_mrtg_02.gif

我主要的設定是參考
http://wooga.drbacchus.com/mrtg-and-apache
但是apache可以監控的還非常的多,譬如以下網站就有很多元化的使用方式,這些設定頗不賴的唷!
http://howto.aphroland.org//HOWTO/MRTG/ApacheWithMRTG

能利用mrtg監控的東西還真是不少,下面網站還監控了apache使用的memory和mysql,只要用他寫好的程式就可以。
http://www.land10.nl/apachestatus/
最後大推的下面網站,全部設上去應該超過100個圖表可以即時監控吧!
http://howto.aphroland.org//HOWTO/MRTG/FrontPage

如何利用MRTG監控Apache

如何利用MRTG監控Apache 相關文章


參考內容推薦

利用mrtg监控apache状态_Linux系统管理_操作系统_希赛网

文章标题:利用mrtg监控apache状态。Linux是希赛网的一个技术频道。包含桌面应用,Linux系统管理,内核研究,嵌入式系统和开源等一些基本分类

如何利用MRTG監控Apache

MRTG是個很簡易的圖表工具,若你有一台對外服務的Linux主機的話,那麼可以畫一些圖表...

鳥哥的 Linux 私房菜 -

MRTG 的運作過程: 要瞭解 MRTG 的運作,就必須瞭解一下 SNMP (Simple Network Management Protocol) 這個協定,因為 MRTG 是透過 SNMP 協定來監控流量的。所以,所有的 MRTG 所偵測的裝置都必須符合 SNMP 的協定。那什麼是 SNMP 呢?

請問有關於MRTG &amp; SNMP的問題[論壇- 新手村]

各位前輩大家好,小弟最近想利用MRTG監控遠端主機的cpu負載, ..... 種特性,所以能利用apache 本身內建的防火牆功能,來給MRTG 網頁設定權限

使用mrtg监控apache状态

本文利用脚本实现对apache状态的监控 要实现监控apache状态,本文利用Apache模块 mod_status的输出信息,取出需要的值。 mod_status模块是为方便web服务器管理员检查服务器当前的运行状况的,该模块可以以html页面方式

以SNMP即時監控網站伺服器- 技術專欄

2012年9月18日 - 為此,本文將善用Mod-Apache-Snmp模組來即時監控網站,並 ... 由於MRTG軟體是利用GD等繪圖程式庫來繪製圖檔,所以系統必須先安裝相關的&nbsp;...

[PPT] MRTG安裝說明

MRTG不僅可用於監控網路卡的流量,還可以將操作者所需的資料繪製成圖形。 ... 在此之前,必須先撰寫一個shell scripts擷取記憶體資料,然後利用MRTG將這些資訊&nbsp;...

使用MRTG监控网络流量- 徐恩田的博客

2011年3月24日 - 使用MRTG监控网络流量 徐恩田 MRTG(MultiRouterTrafficGrapher)是 ... 5.4 MRTG用的是系统自带的RPM包,Apache用的是源码包,其它所需的&nbsp;...

利用mrtg监控apache状态-Linux频道

2009年4月20日 - 文章标题:利用mrtg监控apache状态。Linux是中国IT实验室的一个技术频道。包含桌面应用,Linux系统管理,内核研究,嵌入式系统和开源等一些&nbsp;...

以SNMP即時監控網站伺服器 - 技術專欄

為此,本文將善用Mod-Apache-Snmp模組來即時監控網站,並透過MRTG 讓數據以圖形化顯示,以便減輕網管人員的負擔。 物件識別碼(OID)介紹 利用MRTG進行圖形化管理 本次實作選擇老牌的SNMP繪圖軟體MRTG(Multi Router Traffic Grapher),這是一套 ...