RRDTOOL 是一個強大的繪製圖表的工具,下面來安裝和使用RRDTOOL
************************************************************************************
一 .安裝rrdtool,目前最新版本是1.4.7的版本, 在安裝以前須要去下載源碼包,rrdtool-1.4.7.tar.gz 下載完成以後存到系統的/usr/src目錄下
mysql
- #cd /usr/src
- #tar xzvf rrdtool-1.4.7.tar.gz
- #cd rrdtool-1.4.7
- #./configure --prefix=/usr/local/rrdtool
- #make
- #make install
- #ln -s /usr/local/rrdtool/bin/* /bin/
ok 安裝成功了,下面來講下繪製圖像的幾個步驟,
須要注意的是rrdtool命令參數太多了,這裏就不一一介紹,
二,繪製圖像的幾大步驟,
1, 建立rrd數據庫
sql
- #rrdtool create mysql.rrd --step 3 DS:myselect:COUNTER:5:0:U RRA:AVERAGE:0.5:1:28800 RRA:AVERAGE:0.5:10:2880 RRA:MAX:0.5:10:2880 RRA:LAST:0.5:10:2880
- mysql.rrd 是數據庫的名字,根據本身的須要定義
- --step 3 每3秒接受一次數據
- DS 數據源的類型
- GAUGE 保存一個數值原來的值
- COUNTER 遞增的數值
- DERIVE 有的時候能夠增有的時候能夠減
- 例 DS:name:GAUGE:5:0:U 接收最小值爲0 最大值未知 超過5秒後則不接收數據
- RRA 聚合函數
- AVERAGE 平均值
- MAX 最大值
- MIN 最小值
- LAST 單前值
- 例 RRA:AVERAGE:0.5:10:2880 每10個作一次聚合,保存2880個這樣的數據
2,更新數據到數據庫裏, 數據庫
- #rrdtool update mysql.rrd N:值1:值2
- N是從單前時間開始 把「值1」的值傳送給上面定義的第一個DS 把"值2"的值傳送給上面定義的第二個DS 定義幾個DS這裏就傳幾個值
3,生成圖像vim
- #rrdtool graph 圖片名稱 -s 開始時間 -t "標題1" -v "標題2" DEF:變量1=mysql.rrd:myselect:AVERAGE:step=3 LINE1:變量1#FF0000:"線條1標題"
- 標題1 是顯示在圖片正上方的標題
- 標題2 是顯示在圖片正左邊的標題
下面將給一個實例來完成整個過程,
需求,監控下某臺服務器的網絡流量的走勢圖,
1.創建數據文件並更新數據到數據庫裏, bash
- #mkdir /root/rrdtool 創建一個用於保存rrdtool數據的目錄 根據本身須要,
- #vim /root/rrdtool/Monitoring_flow.sh 腳本內容以下
- #!/bin/bash
- rrd="/root/rrdtool/net.rrd"
- DS1=intput
- DS2=output
- rrdtool create $rrd --step 3 DS:$DS1:DERIVE:5:0:U DS:$DS2:DERIVE:5:0:U RRA:AVERAGE:0.5:1:28800 RRA:LAST:0.5:1:28800
- while [ 1 ];do
- in=`ifconfig e | grep "RX bytes" | awk '{print $2}' | awk -F: '{print $2}'`
- out=`ifconfig br0 | grep "RX bytes" | awk '{print $6}' | awk -F: '{print $2}'`
- rrdtool update $rrd N:$in:$out
- sleep 3
- done
- #bash /root/rrdtool/Monitoring_flow.sh
2. 生成圖片 腳本以下服務器
- #vim /root/rrdtool/p_w_picpath.sh 內容以下
- #!/bin/bash
- # andy_f
- png_name="/root/rrdtool/net.`date +%F-%H.%M.%S`.png"
- rrd="/root/rrdtool/net.rrd"
- DS1=intput
- DS2=output
- rrdtool graph $png_name -t "網絡接口的出入流量" -v "默認單:字節" DEF:intput=$rrd:$DS1:AVERAGE:step=3 DEF:output=$rrd:$DS2:AVERAGE:step=3 LINE1:intput#FF0000:"接收流量
- " LINE1:output#00FF00:"發送流量"
若是須要看看圖片的時候就執行下此腳本, 會在/root/rrdtool目錄下生成一個以當前時間爲名的圖片,
網絡
- #bash /root/rrdtool/p_w_picpath.sh
見圖片, 此圖片是我監控我本身筆記本流量三四個小時的結果, 在監控的過程當中寫了一個腳原本加大上下行流量,ide
感言: 因爲rrdtool的參數太多了,在本身尚未徹底暈掉以前,以迅雷不及掩耳之勢,草草的寫下了此篇博客,裏面有好多東西本身都解釋不清楚,待有時間好好總結下,再完善此篇博客! 也但願朋友們能提供一些比較有用的參數給小弟,在下感激涕零,函數