RRDTool和mrtg的比较

 
RRDTool mrtg 的比较
 
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!”。
 
----------------------------------------------------------------------------
----------------------------------------------------------------------------
 
     一直以来都是使用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 的一些基本用法 , 至於更深入的東西待您自己去發掘了 ----------------------------------------------------------------------------
----------------------------------------------------------------------------
----------------------------------------------------------------------------
----------------------------------------------------------------------------
----------------------------------------------------------------------------
----------------------------------------------------------------------------
 
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值