經過RDDTOOL簡單繪製圖像

 RRDTOOL 是一個強大的繪製圖表的工具,下面來安裝和使用RRDTOOL
************************************************************************************
一 .安裝rrdtool,目前最新版本是1.4.7的版本, 在安裝以前須要去下載源碼包,rrdtool-1.4.7.tar.gz 下載完成以後存到系統的/usr/src目錄下
mysql

  
  
  
  
  1. #cd /usr/src  
  2. #tar xzvf rrdtool-1.4.7.tar.gz  
  3. #cd rrdtool-1.4.7  
  4. #./configure --prefix=/usr/local/rrdtool  
  5. #make  
  6. #make install  
  7. #ln -s /usr/local/rrdtool/bin/* /bin/ 

ok 安裝成功了,下面來講下繪製圖像的幾個步驟,
須要注意的是rrdtool命令參數太多了,這裏就不一一介紹,

二,繪製圖像的幾大步驟,
1, 建立rrd數據庫
 sql

  
  
  
  
  1. #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 
  2.  
  3.  
  4. mysql.rrd 是數據庫的名字,根據本身的須要定義
  5.  
  6. --step 3  每3秒接受一次數據 
  7.  
  8. DS 數據源的類型 
  9.    GAUGE 保存一個數值原來的值 
  10.    COUNTER  遞增的數值 
  11.    DERIVE   有的時候能夠增有的時候能夠減 
  12.  例 DS:name:GAUGE:5:0:U  接收最小值爲0 最大值未知 超過5秒後則不接收數據 
  13.  
  14. RRA 聚合函數 
  15.    AVERAGE  平均值 
  16.    MAX   最大值 
  17.    MIN   最小值 
  18.    LAST  單前值 
  19.  例 RRA:AVERAGE:0.5:10:2880   每10個作一次聚合,保存2880個這樣的數據 
  20.   

2,更新數據到數據庫裏, 數據庫

  
  
  
  
  1. #rrdtool update mysql.rrd N:值1:值2      
  2. N是從單前時間開始 把「值1」的值傳送給上面定義的第一個DS 把"值2"的值傳送給上面定義的第二個DS    定義幾個DS這裏就傳幾個值 

3,生成圖像vim

  
  
  
  
  1. #rrdtool graph 圖片名稱 -s 開始時間 -t "標題1" -v "標題2" DEF:變量1=mysql.rrd:myselect:AVERAGE:step=3 LINE1:變量1#FF0000:"線條1標題" 
  2.  
  3. 標題1 是顯示在圖片正上方的標題 
  4. 標題2 是顯示在圖片正左邊的標題  
  5.   

 

下面將給一個實例來完成整個過程,

需求,監控下某臺服務器的網絡流量的走勢圖,
1.創建數據文件並更新數據到數據庫裏, bash

  
  
  
  
  1. #mkdir /root/rrdtool 創建一個用於保存rrdtool數據的目錄 根據本身須要,
  2. #vim /root/rrdtool/Monitoring_flow.sh 腳本內容以下
  3. #!/bin/bash 
  4. rrd="/root/rrdtool/net.rrd" 
  5. DS1=intput 
  6. DS2=output 
  7. 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 
  8. while [ 1 ];do 
  9.   in=`ifconfig  e | grep "RX bytes" | awk '{print $2}' | awk -F: '{print $2}'` 
  10.   out=`ifconfig  br0 | grep "RX bytes" | awk '{print $6}' | awk -F: '{print $2}'` 
  11.   rrdtool update $rrd N:$in:$out 
  12.   sleep 3  
  13. done 
  
  
  
  
  1. #bash /root/rrdtool/Monitoring_flow.sh

 2. 生成圖片 腳本以下服務器

  
  
  
  
  1. #vim /root/rrdtool/p_w_picpath.sh 內容以下
  2. #!/bin/bash 
  3. # andy_f 
  4. png_name="/root/rrdtool/net.`date +%F-%H.%M.%S`.png" 
  5. rrd="/root/rrdtool/net.rrd" 
  6. DS1=intput 
  7. DS2=output 
  8. rrdtool graph $png_name -t "網絡接口的出入流量" -v "默認單:字節" DEF:intput=$rrd:$DS1:AVERAGE:step=3 DEF:output=$rrd:$DS2:AVERAGE:step=3  LINE1:intput#FF0000:"接收流量 
  9. " LINE1:output#00FF00:"發送流量" 

 若是須要看看圖片的時候就執行下此腳本, 會在/root/rrdtool目錄下生成一個以當前時間爲名的圖片,
 網絡

  
  
  
  
  1. #bash /root/rrdtool/p_w_picpath.sh 

見圖片, 此圖片是我監控我本身筆記本流量三四個小時的結果, 在監控的過程當中寫了一個腳原本加大上下行流量,ide




感言: 因爲rrdtool的參數太多了,在本身尚未徹底暈掉以前,以迅雷不及掩耳之勢,草草的寫下了此篇博客,裏面有好多東西本身都解釋不清楚,待有時間好好總結下,再完善此篇博客! 也但願朋友們能提供一些比較有用的參數給小弟,在下感激涕零,函數

相關文章
相關標籤/搜索