不卡AV在线|网页在线观看无码高清|亚洲国产亚洲国产|国产伦精品一区二区三区免费视频

學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 網(wǎng)絡(luò)知識 > 網(wǎng)絡(luò)技術(shù) >

RRDtool是什么在Linux如何使用

時間: 加城1195 分享

  RRDtool是指Round Robin Database工具,即環(huán)狀數(shù)據(jù)庫。從功能上說,RRDtool可用于數(shù)據(jù)存儲+數(shù)據(jù)展示。著名的網(wǎng)絡(luò)流量繪圖軟件MRTG和集群監(jiān)控系統(tǒng)Ganglia都使用的RRDtool,那么在Linux上要如何使用RRDtool呢?下面小編就給大家介紹下Linux使用RRDtool的方法,一起來學(xué)習(xí)下吧。

  一、簡介

  數(shù)據(jù)存儲方面,RRDtool采用“Round Robin”模式存儲數(shù)據(jù)。所謂“Round Robin”是一種存儲數(shù)據(jù)的方式,使用固定大小的空間來存儲數(shù)據(jù),并有指針指向最新的數(shù)據(jù)的位置。我們可以把用于存儲數(shù)據(jù)的數(shù)據(jù)庫空間看成一個圓,上面有很多刻度,這些刻度所在的位置就代表用于存儲數(shù)據(jù)的地方。所謂指針,可以認為是從圓心指向這些刻度的一條線。指針會隨著數(shù)據(jù)的讀寫自動移動。要注意的是,這個圓沒有起點和終點,所以指針可以一直移動,而不擔心到達終點后無法繼續(xù)寫入的問題。在一段時間后,當所有的空間都存滿數(shù)據(jù),就又從頭開始存放。這樣整個存儲空間的大小就是一個固定的數(shù)值。RRDtool所使用數(shù)據(jù)庫文件的后綴名是“.rrd”。

  數(shù)據(jù)展示方面,RRDtool可以看作是一個強大的繪圖引擎。下圖是其官網(wǎng)上的一張效果圖,我們大致了解RRDtool的繪圖能力。

  二、基本語法

  RRDtool的使用分為三個部分,建庫、更新數(shù)據(jù)、繪圖(具體使用shell命令)。因此,我們也分上述三個部分介紹基本語法。

  1、建庫

  為表述清晰,這里將建庫命令寫成分段形式,實際應(yīng)用時應(yīng)寫成一串。

  rrdtool create cpu.rrd # 數(shù)據(jù)庫名稱

  --start $(date -d ‘1 days ago’ +%s) # 開始時間

  --step 15 # 更新數(shù)據(jù)時間間隔

  DS:cpu_user:GAUGE:120:0:NaN # DS:cpu_user,相當于變量名;后面的是DST:GAUGE,相當于數(shù)據(jù)類型;后面120是heartbeat,是最大沒有數(shù)據(jù)的間隔;后面兩個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是數(shù)據(jù)存儲的形式,數(shù)據(jù)表

  RRA:AVERAGE:0.5:24:244 # CF合并統(tǒng)計 有average、max、min、last四種

  RRA:AVERAGE:0.5:168:244 # 0.5是xff,表示缺少數(shù)據(jù)量比例大于0.5時,數(shù)據(jù)顯示為空。

  RRA:AVERAGE:0.5:672:244 # PDP,計算出來的一個數(shù)據(jù)點,如平均值等

  RRA:AVERAGE:0.5:5760:374 # CDP,使用多個PDP合并成一個CDP,CDP是真正存入RRA的值,也是繪圖時使用的值,1、24、168、672等表示多少個PDP合并成一個CDP

  具體參數(shù)意義大家參見注釋,本段代碼的大意是創(chuàng)建一個rrd數(shù)據(jù)庫cpu.rrd,保存cpu相關(guān)信息,每15秒更新一次數(shù)據(jù)。

  二、更新

  更新比較簡單,就是定時向數(shù)據(jù)庫(即.rrd文件)中寫入數(shù)據(jù)。每次寫入命令,類似下面指令。

  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 是數(shù)據(jù)庫文件

  # 1382646278是時間戳

  # 0.733211:0.433261:1.516414:97.317114是寫入的具體數(shù)值,分別指代cpu_user、cpu_system、cpu_wio、cpu_idle。

  實際使用時應(yīng)當寫一個程序定時獲取cpu利用率,并執(zhí)行上述命令,將數(shù)據(jù)寫入數(shù)據(jù)庫。

  三、繪圖

  與建庫時類似,為表述清晰,這里將繪圖命令寫成分段形式,實際應(yīng)用時應(yīng)寫成一串。

  /usr/bin/rrdtool graph /home/xx/cpu.png

  --start ‘-3600’ --end N // 過去一小時的時間

  --width 385 --height 190 // 圖片大小

  --title ‘過去一小時CPU使用情況’ --upper-limit 100 --lower-limit 0 // 題目和上下限

  --vertical-label 百分比 --rigid

  DEF:‘cpu_user’=‘/var/lib/monitor/rrds/server/cpu.rrd’:‘cpu_user’:AVERAGE # 獲得變量cpu_user

  AREA:‘cpu_user’#FF0000:‘用戶’ // 圖形形式,包括AREA、STACK、LINE等

  VDEF:cpu_user_last=cpu_user,LAST // 變量定義,取具體值

  VDEF:cpu_user_avg=cpu_user,AVERAGE

  GPRINT:‘cpu_user_last’:‘ Now\:%5.1lf%s’ // 在圖片中打印數(shù)值

  GPRINT:‘cpu_user_avg’:‘ Avg\:%5.1lf%s\j’ DEF:‘cpu_system’=‘/var/lib/monitor/rrds/server/cpu.rrd’:‘cpu_system’:AVERAGE STACK:‘cpu_system’#33cc33:‘系統(tǒng)’ VDEF:cpu_system_last=cpu_system,LAST VDEF:cpu_system_avg=cpu_system,AVERAGE GPRINT:‘cpu_system_last’:‘ Now\:%5.1lf%s’ GPRINT:‘cpu_system_avg’:‘ Avg\:%5.1lf%s\j’ DEF:‘cpu_wio’=‘/var/lib/monitor/rrds/server/cpu.rrd’:‘cpu_wio’:AVERAGE STACK:‘cpu_wio’#1C86EE:‘等待’ VDEF:cpu_wio_last=cpu_wio,LAST VDEF:cpu_wio_avg=cpu_wio,AVERAGE GPRINT:‘cpu_wio_last’:‘ Now\:%5.1lf%s’ GPRINT:‘cpu_wio_avg’:‘ Avg\:%5.1lf%s\j’ DEF:‘cpu_idle’=‘/var/lib/monitor/rrds/server/cpu.rrd’:‘cpu_idle’:AVERAGE STACK:‘cpu_idle’#e2e2f2:‘空閑’ VDEF:cpu_idle_last=cpu_idle,LAST VDEF:cpu_idle_avg=cpu_idle,AVERAGE GPRINT:‘cpu_idle_last’:‘ Now\:%5.1lf%s’ GPRINT:‘cpu_idle_avg’:‘ Avg\:%5.1lf%s\j’

  補充:MySQL 數(shù)據(jù)庫常用命令

  create database name; 創(chuàng)建數(shù)據(jù)庫

  use databasename; 進入數(shù)據(jù)庫

  drop database name 直接刪除數(shù)據(jù)庫,不提醒

  show tables; 顯示表

  describe tablename; 查看表的結(jié)構(gòu)

  select 中加上distinct去除重復(fù)字段

  mysqladmin drop databasename 刪除數(shù)據(jù)庫前,有提示。

  顯示當前mysql版本和當前日期

  select version(),current_date;

  數(shù)據(jù)庫維護方法

  在MySQL使用的過程中,在系統(tǒng)運行一段時間后,可能會產(chǎn)生碎片,造成空間的浪費,所以有必要定期的對MySQL進行碎片整理。

  當刪除id=2的記錄時候,發(fā)生的現(xiàn)象

  這個時候發(fā)現(xiàn)磁盤的空間并沒有減少。這種現(xiàn)象就叫做碎片化(有一部分的磁盤空間在數(shù)據(jù)刪除以后(空),還是無法被操作系統(tǒng)所使用。)

  常見的優(yōu)化:

  # alter table xxx engine myisam;

  # optimize table t1;

  注意: 在實際開發(fā)的過程中,上面兩個語句盡量少使用,因為在使用的過程中,MySQL的表的結(jié)構(gòu)會整體全部重新整理,需要消耗很多的資源,建議在凌晨兩三點鐘的時候執(zhí)行。(在linux下有定時器腳本可以執(zhí)行,crontab)


數(shù)據(jù)庫系統(tǒng)相關(guān)文章:

1.sql數(shù)據(jù)庫的操作

2.oracle數(shù)據(jù)庫基礎(chǔ)使用方法

3.sql數(shù)據(jù)庫的單表查詢

4.數(shù)據(jù)庫as的用法

5.服務(wù)器對大數(shù)據(jù)的作用和影響

4015219