RRDtool是一種存儲數據方式,是一種強大的繪圖引擎,那么在Linux上要如何使用RRDtool呢?下面小編就給大家介紹下Linux使用RRDtool的方法,一起來學習下吧 。
一、簡介
RRDtool是指Round Robin Database工具,即環狀數據庫 。從功能上說,RRDtool可用于數據存儲+數據展示 。著名的網絡流量繪圖軟件MRTG和集群監控系統Ganglia都使用的RRDtool 。
數據存儲方面,RRDtool采用“Round Robin”模式存儲數據 。所謂“Round Robin”是一種存儲數據的方式,使用固定大小的空間來存儲數據,并有指針指向最新的數據的位置 。我們可以把用于存儲數據的數據庫空間看成一個圓,上面有很多刻度,這些刻度所在的位置就代表用于存儲數據的地方 。所謂指針,可以認為是從圓心指向這些刻度的一條線 。指針會隨著數據的讀寫自動移動 。要注意的是,這個圓沒有起點和終點,所以指針可以一直移動,而不擔心到達終點后無法繼續寫入的問題 。在一段時間后,當所有的空間都存滿數據,就又從頭開始存放 。這樣整個存儲空間的大小就是一個固定的數值 。RRDtool所使用數據庫文件的后綴名是“.rrd” 。
數據展示方面,RRDtool可以看作是一個強大的繪圖引擎 。下圖是其官網上的一張效果圖,我們大致了解RRDtool的繪圖能力 。

二、基本語法
RRDtool的使用分為三個部分,建庫、更新數據、繪圖(具體使用shell命令) 。因此,我們也分上述三個部分介紹基本語法 。
1、建庫
為表述清晰,這里將建庫命令寫成分段形式,實際應用時應寫成一串 。
rrdtool create cpu.rrd # 數據庫名稱
--start $(date -d ‘1 days ago’ +%s) # 開始時間
--step 15 # 更新數據時間間隔
DS:cpu_user:GAUGE:120:0:NaN # DS:cpu_user,相當于變量名;后面的是DST:GAUGE,相當于數據類型;后面120是heartbeat,是最大沒有數據的間隔;后面兩個NaN分別是最小值、最大值限制 。
DS:cpu_system:GAUGE:120:0:NaN
DS:cpu_wio:GAUGE:120:0:NaN
DS:cpu_idle:GAUGE:120:0:NaN
RRA:AVERAGE:0.5:1:244 # RRA是數據存儲的形式,數據表
RRA:AVERAGE:0.5:24:244 # CF合并統計 有average、max、min、last四種
RRA:AVERAGE:0.5:168:244 # 0.5是xff,表示缺少數據量比例大于0.5時,數據顯示為空 。
RRA:AVERAGE:0.5:672:244 # PDP,計算出來的一個數據點,如平均值等
RRA:AVERAGE:0.5:5760:374 # CDP,使用多個PDP合并成一個CDP,CDP是真正存入RRA的值,也是繪圖時使用的值,1、24、168、672等表示多少個PDP合并成一個CDP
具體參數意義大家參見注釋,本段代碼的大意是創建一個rrd數據庫cpu.rrd,保存cpu相關信息,每15秒更新一次數據 。
二、更新
更新比較簡單,就是定時向數據庫(即.rrd文件)中寫入數據 。每次寫入命令,類似下面指令 。
rrdtool updatev /var/lib/monitor/rrds/server/cpu.rrd 1382646278:0.733211:0.433261:1.516414:97.317114
# /var/lib/monitor/rrds/server/cpu.rrd 是數據庫文件
# 1382646278是時間戳
# 0.733211:0.433261:1.516414:97.317114是寫入的具體數值,分別指代cpu_user、cpu_system、cpu_wio、cpu_idle 。
實際使用時應當寫一個程序定時獲取cpu利用率,并執行上述命令,將數據寫入數據庫 。
三、繪圖
與建庫時類似,為表述清晰,這里將繪圖命令寫成分段形式,實際應用時應寫成一串 。
/usr/bin/rrdtool graph /home/xx/cpu.png
--start ‘-3600’ --end N // 過去一小時的時間
--width 385 --height 190 // 圖片大小
--title ‘過去一小時CPU使用情況’ --upper-limit 100 --lower-limit 0 // 題目和上下限
推薦閱讀
- 代理IP軟件這么多,該如何選擇? qqip代理軟件
- 教你如何做鯉魚打挺
- 企業出售固定資產如何開票
- 如何自制小房子 自制小房子方法
- 如何不讓別人看微信聊天記錄 怎么防止女朋友查微信聊天記錄
- oppo手機小布助手怎么使用
- 如何查女朋友微信聊天記錄內容 怎么查我女朋友的微信記錄
- 教你如何做好清蒸魚
- 教你如何做出美味健康的早餐
- 未投入使用的設備計提折舊嗎
