RRDTool和mrtg的比较

来源:互联网 发布:中国纪录片 知乎 编辑:程序博客网 时间:2024/06/11 21:30
 
RRDToolmrtg的比较
 
MRTG的优点简单、易上手,基本安装完了之后只要更改一下配置文件即可。
缺点
1、使用文本式的数据库,数据不能重复使用;
2
、只能按日、周、月、年来查看数据;
3
、只能画两个DS(一条线、一个块);
4
、每取一次数据即需要绘图一次,浪费系统资源;
5
、无管理功能;
rrdtool的优点:
 1
、使用rrd存储格式,数据能重复使用,比如我可以将一个rrd文件中的数据与另一个rrd文件中的数据相加。
 2
、可以定义任意时间段画图,即你可以画出一张半年以来的数据的图,也可以画出一张半小时以来的图。
 3
、能画任意个DS
 4
CDEF让你能任意摆弄数据。

缺点:
1
rrdtool的作用只是存储数据和画图,它没有mrtg中集成的数据采集功能;
2
、在命令行的使用非常复杂,参数极多。
3
、无管理功能。

简单的说,rrdtool就是一个强大的绘图的引擎。
 
----------------------------------------------------------------------------
 
2004年我剛進某公司工作,當時我使用MRTG建立了一套系統,專門監測我們伺服器和其他網路設備的流量。
後來我想將其他的系統性能比如CPU負載、系統負載,網路連接數等一起監測起來。我在網上查找了很多的資料,也實現了這些功能,但總覺得實現的太費勁,管理起來太麻煩了。比如我有幾百個被監測點,分佈在不同的機房,而且我需要將這些伺服器和網路設備分類,這樣的話我就要將這些被監測點放在不同的mrtg配置檔中,運行多個crontab,而且自己還寫了一些html頁面對其進行管理。
後來有幸看到了一位師兄寫的大作“rrdtool 教學”,裏面列舉了rrdtool的種種優點,於是我下定決心要將MRTG更換為rrdtool。
MRTG的優點:簡單、易上手,基本安裝完了之後只要更改一下配置檔即可。
缺點:1、使用文本式的資料庫,資料不能重複使用;
2、只能按日、周、月、年來查看資料;
3、只能畫兩個DS(一條線、一個塊);
4、無管理功能;
rrdtool的優點:
1、使用rrd存儲格式,資料能重複使用,比如我可以將一個rrd檔中的資料與另一個rrd檔中的資料相加。
2、可以定義任意時間段畫圖,即你可以畫出一張半年以來的資料的圖,也可以畫出一張半小時以來的圖。
3、能畫任意個DS。
4、CDEF讓你能任意擺弄數據。
缺點:
1、rrdtool的作用只是存儲資料和畫圖,它沒有mrtg中集成的資料獲取功能;
2、在命令行的使用非常複雜,參數極多;
3、無管理功能。
簡單的說,rrdtool就是一個強大的繪圖的引擎。
由於其非常複雜的命令,對用戶非常不友好,我一度想自己用php寫一套系統。幸運的是,半年前我找到了cacti(www.cacti.net)。對該工具我只有一個字形容:“great!”。
 
----------------------------------------------------------------------------
----------------------------------------------------------------------------
 
cacti+rrdtool
  • Comments (0)
  • Permalink
  • TrackBack URI
     一直以来都是使用MRTG,通过监控每个机柜的交换机端口,来监控所有服务器的流量。MRTG的好处就是简单方便,安装后修改一下配置文件就可以直接使用。在服务器量少的时候,还好,一旦服务器数量众多,MRTG就有点力不从心,服务器超过400台以后,MRTG已经无法在10分钟内完成一次数据更新。只能降低数据更新频率,延长时间,同时由于服务器数量过多,MRTG持续占用服务器CPU资源,在服务器数量不断增加的情况下,只能增加监控的服务器。
      网上搜索了众多资料,最后选择Cacti+rrdtool。Cacti是一套php程序,它利用snmpget采集设备的SNMP数据,再利用rrdtool进行绘图。用了三天时间,终于把这套东西装了起来。只用了一台服务器,Cacti+rrdtool,代替了MRTG+3台监控服务器。而且管理起来尤其方便,通过Web界面就可以随意添加被监控设备。
Tags: Linux
 
----------------------------------------------------------------------------
----------------------------------------------------------------------------
 
 
 
 
3.1 mrtg 的優點
個人感覺即是籣單而好用,能符合多數人的需求.且網路上中文的資料多.
2.x 版後支援 Logformat RRD 而不為 text logfile, 以方便較短的 interval 及僅做資料收集動作
支援 Threhold Check,這個一般人都沒有什麼研究,但其實是 monitor 中重要的一個 Alert 動作
代码:

#mrtg target
部份
Target[sg-apol-mgcd]:`/root/study/enum.sh softswitch ABC mgcd`
MaxBytes1[sg-apol-mgcd]:6000
MaxBytes2[sg-apol-mgcd]: 512000
Title[sg-apol-mgcd]: Class 5 VoIP SoftSwitch status
Legend1[sg-apol-mgcd]: CPU
時間
Legend2[sg-apol-mgcd]: MEM
使用
LegendI[sg-apol-mgcd]: CPU
時間()
LegendO[sg-apol-mgcd]: MEM
使用(KB)
YLegend[sg-apol-mgcd]: CPU/MEM usage
PageTop[sg-apol-mgcd]: <h1>Class 5 Soft Switch @APOL: mgcd daemon(Media GatewayControler )</h1>


# mrtg Threshold Check ,
定義 Alert 所在目錄, Alert ,Alert 程式
ThreshDir: /www/htdocs//mrtg/alert/
#
依我的程式,本例為 SoftSwitch CPU 每分鐘佔用超過 10 , MSN 傳送訊息給相關管理者,並從
#remote
重開 daemon service
ThreshMaxI[sg-apol-mgcd]: 1000
ThreshProgI[sg-apol-mgcd]:/www/htdocs/snmp.enum.org.tw/mrtg/alert/send_MSN.sh


3.2 mrtg 的缺點
mrtg 最大的缺點是處理效率問題
主要原因在於:
1. 偵測時間不能小於5分鐘,即使你每分鐘跑一次,圖上也是畫 5 分鐘的變化
2. 偵測 Target 過多,機器會跑不動,主因在
2.1 mrtg 每次都會畫圖(最多一個target 會更動到4個圖),不實際, Broswer 時才畫才可能偵測上千
       上萬個 Target.
2.2 要更新 log file(絕不是什麼插入一行數據,而是N筆資料的修改)
2.3 要更新每個 target html page
3. 不能表現三種以上資料

如果 Scope , mrtg 再上述幾點狀況不會構成問題, Scpoe ,例如, 1000+ Target 要做,大概 90% 的機
器都跑不動(可以把 mrtg.cfg 複製個 1000 ,每份改一個 filename & target name 即可測試).即使你用
speedcgi ,也只是把1000 變成 2000, 因為根本問題並沒有解決

mrtg 資料儲存的方法固定
如此 log 檔才不會太大, d w m y (day,week,month,year) 圖時才會快,不過你可以
想像,你的每五分鐘資料過了 50  個小時後(5x603=3015 分鐘,50小時) 就會變成 30 分鐘平均值....,..
當您需要一個月前每五分鐘值,以無法再從 mrtg 中找到,因為它會將6 5分鐘合併計算為一個30分鐘,
你無法改變這種現況.

無法繪出特定時間需求
mrtg 另外的限制是無法產生說我要最近3,最後三個月,近十年來等資料,上個月與本月比較,特別標示上班
時間...等繪圖,資料的運算處理上也較少,其僅能產生日週月等較固定的資料.

數值差異過大問題
如果你有兩個資料,一個是 Web 連線數,一個是 Web 資料傳輸量,此時你要將這兩個值畫在 mrtg ,你會發
,連線數的線圖將小得幾乎看不見,因為傳輸量的值太大了,以致於不能於圖上充份表現出來.除非你的 script
先做了適當的運算,如傳輸量以 K ,再輸出. (:mrtg 雖可讓你用 K 值當 Y ,但是此時連線數的線值看
起來就和0一樣了), mrtg 要解決此一問題,只有事先處理(連線數輸入 logfile 時先給他 x1000), rrdtool
是允許你後來再加工運算的


eth0 流量:藍線為 tx,綠線為 tr,但此時 tr 看起來幾乎感覺不到他的存在
(不知什麼是 TR/TX 建議您不要看下去了)

數值再處理的運算式功能
如果您的圖表上突然有一個很大的值,此時,mrtg 的圖檔原資料因 Y 軸的資料都將因此而壓縮,使用 rrdtool
可以用 GE (大於),LE(小於)…等運算式,讓您將這個值改成其他的值(有沒有意義需視您自身的需要而定)
代码:

CDEF:la60u=la60,1000,GT,1000,la60,IF

意思是如果 la60(rrdtool 裏的變數) 大於 1000, 那都算成 1000 來畫圖,不然就用 la60 原來的值
(if (la60 < 1000) then la60u=1000 , else la60u=la60)[/i]
CDEF 教學可參考http://rrdtool.planetmirror.com//tutorial/cdeftutorial.html

MRTG 自有其優缺點, RRDTOOL 也不見得是最佳解,用什麼東西來做你的 Monitor 端看個人的需要而定囉


以下,我們就開始來介紹 rrdtool 的一些基本用法,至於更深入的東西待您自己去發掘了----------------------------------------------------------------------------
----------------------------------------------------------------------------
----------------------------------------------------------------------------
----------------------------------------------------------------------------
----------------------------------------------------------------------------
----------------------------------------------------------------------------
 
 
原创粉丝点击