久久精品国产精品国产精品污,男人扒开添女人下部免费视频,一级国产69式性姿势免费视频,夜鲁夜鲁很鲁在线视频 视频,欧美丰满少妇一区二区三区,国产偷国产偷亚洲高清人乐享,中文 在线 日韩 亚洲 欧美,熟妇人妻无乱码中文字幕真矢织江,一区二区三区人妻制服国产

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

RRDTool学习资料备忘

發(fā)布時(shí)間:2023/11/30 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 RRDTool学习资料备忘 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

RRDtool?簡(jiǎn)介
[color=blue]
**********************************************************************************************************************
注?:該教程參考了如下內(nèi)容?:
A)官方文檔?:http://oss.oetiker.ch/rrdtool/doc/index.en.html
B)abel?兄的大作?:http://bbs.chinaunix.net/viewthread.php?tid=552224&highlight=rrdtool
??????????????http://bbs.chinaunix.net/viewthread.php?tid=552220&highlight=rrdtool
作者?:ailms?<ailms{@}263{dot}net>
版本?:v1
最后修改?:2006/11/18?0:06
**********************************************************************************************************************
[/color]
?
??在介紹?RRDtool?之前,讓我們先回顧一下它的前身:MRTG。相信只要做網(wǎng)管工作的朋友,對(duì)?MRTG?這個(gè)軟件一定不會(huì)陌生,

至少也可能聽過。MRTG?可以通過?SNMP?協(xié)議直接訪問?SNMP?Object?,例如?ifInOctect?和?ifOutOctect?;也可以通過外部?

script?的方式,來監(jiān)測(cè)cpu、內(nèi)存、磁盤利用率、數(shù)據(jù)庫的表空間利用率等信息。只要把?MRTG?放入?crontab?中讓其自動(dòng)運(yùn)行,

MRTG?就可以自動(dòng)為你繪制出每天、每周、每月、每年的統(tǒng)計(jì)圖表。?MRTG?甚至還為你提供了自動(dòng)生成配置文件的?cfgmaker?和

自動(dòng)生成?HTML?頁面的?indexmaker?這兩個(gè)工具,讓你省去逐個(gè)編寫?cfg?文件的痛苦。到目前為止,還有很多人在使用它。它現(xiàn)在

有?Unix、Windows?各種平臺(tái),windows?平臺(tái)上甚至出現(xiàn)了?PRTG?這樣和?MRTG?很象的東東,輕點(diǎn)鼠標(biāo)就可以漂亮的完成工作。

既然如此,我們?yōu)槭裁催€要介紹?RRDtool?呢?先讓我們看幾個(gè)問題,幾個(gè)在?MRTG?使用中常見的問題?:


[size=4]?一)MRTG?不能作什么?[/size]

A)[color=blue]MRTG?一張圖表只能顯示2個(gè)對(duì)象,一個(gè)輸入,一個(gè)輸出。[/color]如果你想同時(shí)顯示多個(gè)對(duì)象呢?例如筆者的單位有12臺(tái)服務(wù)器。如果想

???把它們的負(fù)載情況都顯示在一個(gè)圖表上,MRTG?至少需要6張圖。

B)[color=blue]MRTG無法回放數(shù)據(jù)。[/color]MRTG?的圖是自動(dòng)生成的,所采用的數(shù)據(jù)也是由?MRTG?自己提取的,例如5分鐘平均的記錄有288條,??MRTG每20分鐘合并一次,

????每次合并4個(gè)記錄。在50個(gè)小時(shí)后,288條記錄將全部變成20分鐘平均的數(shù)據(jù)。如果你想回放這些數(shù)據(jù)怎么辦呢?對(duì)不起,只能去

????看第2個(gè)圖了(每周)。

C)[color=blue]MRTG?只有?COUNTER?和?GAUGE?這兩種計(jì)算類新。[/color]如果我要監(jiān)測(cè)兩個(gè)數(shù)值型的對(duì)象之間的大小,它們之間的差值可以是正數(shù),也可以

???是負(fù)數(shù)。MRTG?能實(shí)現(xiàn)嗎?筆者在多次試驗(yàn)中發(fā)現(xiàn),MRTG?對(duì)于負(fù)數(shù)的和?‘.15’??這樣格式的小數(shù)(通常都是bc的輸出)的識(shí)別會(huì)出錯(cuò)。

???例如把?‘.72’?識(shí)別為?72,把?-1?識(shí)別為?1。

D)[color=blue]MRTG?無法實(shí)現(xiàn)有條件的繪圖。[/color]有時(shí)候我們只想看某個(gè)服務(wù)器在一年之中的宕機(jī)時(shí)間,正常時(shí)間我們不關(guān)心;或者我們想看當(dāng)前值和去年同期相比究竟如何??這些都是

?????MRTG無法做到的

[size=4]二)?MRTG?的優(yōu)點(diǎn)[/size]

那?MRTG?和?RRDtool?相比就沒有優(yōu)點(diǎn)了嗎?也不是。簡(jiǎn)單、方便就是它的最大優(yōu)點(diǎn)。

(MRTG?中還有一個(gè)好東西就是自動(dòng)告警功能,相比之下,RRDtool?在這方面的配置比較復(fù)雜,

?還不如直接作到?shell?script中)

前面提到?MRTG?能夠通過?cfgmaker?和?indexmaker?快速建立配置文件和HTML頁面。而?RRDtool?在這兩方面都需要自己動(dòng)手。

數(shù)據(jù)的采集→插入數(shù)據(jù)→提取數(shù)據(jù)→繪圖→建立?HTML?,這些步驟都是需要你自己動(dòng)手的。RRDtool?給了使用它的人最大程度的自由。但這種

自由對(duì)于新手或者沒有耐心的人來說可能是一種考驗(yàn)。相比之下,MRTG?就容易上手多了。


[size=4]?三)?RRDtool?的定義[/size]

???RRDtool?代表?“Round?Robin?Database?tool”?,作者同時(shí)也是?MRTG?軟件的發(fā)明人。官方站點(diǎn)位于http://oss.oetiker.ch/rrdtool/?。

???所謂的“Round?Robin”?其實(shí)是一種存儲(chǔ)數(shù)據(jù)的方式,使用固定大小的空間來存儲(chǔ)數(shù)據(jù),并有一個(gè)指針指向最新的數(shù)據(jù)的位置。我們可以把用于存儲(chǔ)
???
??數(shù)據(jù)的數(shù)據(jù)庫的空間看成一個(gè)圓,上面有很多刻度。這些刻度所在的位置就代表用于存儲(chǔ)數(shù)據(jù)的地方。所謂指針,可以認(rèn)為是從圓心指向這些刻度的

??一條直線。指針會(huì)隨著數(shù)據(jù)的讀寫操作自動(dòng)移動(dòng)。要注意的是,這個(gè)圓沒有起點(diǎn)和終點(diǎn),所以指針可以一直移動(dòng),而不用擔(dān)心到達(dá)終點(diǎn)后就無法前進(jìn)

??的問題。在一段時(shí)間后,當(dāng)所有的空間都存滿了數(shù)據(jù),就又從頭開始存放。這樣整個(gè)存儲(chǔ)空間的大小就是一個(gè)固定的數(shù)值。所以RRDtool?就是使用類似

??的方式來存放數(shù)據(jù)的工具,RRDtool?所使用的數(shù)據(jù)庫文件的后綴名是?‘.rrd’。


[size=4]?四)RRDtool?的特殊之處[/size]

A)?首先?RRDtool?存儲(chǔ)數(shù)據(jù),扮演了一個(gè)后臺(tái)工具的角色。但同時(shí)?RRDtool?又允許創(chuàng)建圖表,這使得?RRDtoo??看起來又像是前端工具。其他的數(shù)據(jù)庫

?????????只能存儲(chǔ)數(shù)據(jù),不能創(chuàng)建圖表。

B)?RDtool?的每個(gè)?rrd?文件的大小是固定的,而普通的數(shù)據(jù)庫文件的大小是隨著時(shí)間而增加的

C)?其他數(shù)據(jù)庫只是被動(dòng)的接受數(shù)據(jù),?RRDtool?可以對(duì)收到的數(shù)據(jù)進(jìn)行計(jì)算,例如前后兩個(gè)數(shù)據(jù)的變化程度(rate?of??change),并存儲(chǔ)該結(jié)果。

D)?RRDtool?要求定時(shí)獲取數(shù)據(jù),其他數(shù)據(jù)庫則沒有該要求。如果在一個(gè)時(shí)間間隔內(nèi)(heartbeat)沒有收到值,則會(huì)用?UNKN?代替,其他數(shù)據(jù)庫則不會(huì)這樣做

[size=4]?五)總結(jié)RRDtool?和?MRTG?的不同之處[/size]

A)?MRTG?是采用配置文件的方式來監(jiān)控的;

??????RRDtool?則沒有配置文件一說。所有操作都是通過命令(也可以寫成script方式)執(zhí)行

B)?MRTG?有自動(dòng)采集數(shù)據(jù)的功能(通過?snmp);

?????RRDtool?沒有,需要手工或者通過?shell/perl?腳本來獲取數(shù)據(jù)

C)?MRTG?每次運(yùn)行都會(huì)更新圖片和日志;

?????RRDtool?默認(rèn)知識(shí)接收數(shù)據(jù),并不會(huì)繪圖,除非手工執(zhí)行?graph?命令

D)?MRTG?采用明文的?log?方式存放歷史數(shù)據(jù);
????
?????RRDtool?采用數(shù)據(jù)庫的方式來存放數(shù)據(jù);

E)?MRTG?無法回放日志數(shù)據(jù),因?yàn)?MRTG?會(huì)對(duì)日志進(jìn)行合并;

?????RRDtool?采用?RRA?的概念,把不同統(tǒng)計(jì)周期的數(shù)據(jù)單獨(dú)存放,所以可以做到歷史數(shù)據(jù)的回放功能

F)?MRTG?的?log?中每種周期的記錄的數(shù)量是自動(dòng)維護(hù)的;
???
?????RRDtool?的?RRA?中的記錄數(shù)是可以自定義的。

G)?MRTG?中數(shù)據(jù)的統(tǒng)計(jì)時(shí)間間隔是固定的,例如?5分鐘平均,30分鐘平均,2小時(shí)平均,1天平均;
????
??????RRDtool?可以任意設(shè)置(試過1分鐘一次)

H)?MRTG?一張圖只能顯示2個(gè)對(duì)象;

?????RRDtool?可以顯示多個(gè)。

I)?MRTG?的數(shù)據(jù)類型只有?COUNTER?和?GAUGE?兩種;
?
????RRDtool?有5種,COUNTER、GAUGE、DERIVE、ABSOLUTE、COMPUTE

J)?MRTG?的圖表只能顯示當(dāng)前值、最大值、平均值;

?????RRDtool?可以顯示當(dāng)前值(LAST)、初值(FIRST)、最大值(MAX)、最小值(MIN)、平均值(AVG)、總和(TOTAL)等

K)?MRTG?繪圖方式只有?AREA、LINE?方式;

?????RRDtool?則有?AREA、LINE(1|2|3)、STACK?方式;

L)?MRTG?負(fù)責(zé)搜集、存儲(chǔ)、繪圖、建檔(HTML);

?????RRDtool?只負(fù)責(zé)存儲(chǔ)、繪圖這兩個(gè)階段,所以需要自己建立?HTML?文件

M)?MRTG?的運(yùn)算功能較差;

??????RRDtool?可以通過?CDEF?對(duì)取出來的數(shù)據(jù)進(jìn)行算術(shù)和邏輯運(yùn)算;

N)MRTG?只能原原本本的顯示數(shù)據(jù);

????RRDtool?可以對(duì)數(shù)據(jù)進(jìn)行處理,或者有條件的顯示;

看來?RRDtool?的功能是不是比?MRTG?強(qiáng)很多呢?!

[color=red]具體的差異目前就只能想到這些,不知各位還有沒有什么補(bǔ)充呢??!!^_^?!![/color]

相信這么講的話還是比較抽象的,不過不用急,目前只是一個(gè)開始而已。

下一節(jié)我們開始講如何安裝?RRDtool?。

[?本帖最后由?ailms?于?2006-12-4?09:24?編輯?]



?zhdh1999 回復(fù)于:2006-12-03 23:09:06

收藏?中。。。:D
謝謝lz


?platinum 回復(fù)于:2006-12-04 07:45:38

希望你能將這些貼子合并,現(xiàn)在這樣太分散了不便于管理和閱讀


?ailms 回復(fù)于:2006-12-04 09:21:41

回斑竹大人,之前是考慮到內(nèi)容太長(zhǎng),放在一個(gè)貼子里可能看得太類累了。

我現(xiàn)在已經(jīng)把全部?jī)?nèi)容放到一個(gè)帖子了,不過有些原來的貼子由于被回復(fù)了,所以刪除不了。



RRDtool?的安裝
[color=blue]
**********************************************************************************************************************
注?:該教程參考了如下內(nèi)容?:
A)官方文檔?:http://oss.oetiker.ch/rrdtool/doc/index.en.html
B)abel?兄的大作?:http://bbs.chinaunix.net/viewthread.php?tid=552224&highlight=rrdtool
??????????????http://bbs.chinaunix.net/viewthread.php?tid=552220&highlight=rrdtool
作者?:ailms?<ailms{@}263{dot}net>
版本?:v1
最后修改?:2006/11/18?0:06
**********************************************************************************************************************
[/color]

[size=4]?一)?安裝前的準(zhǔn)備[/size]

??以?Redhat?9?為例?:

??如果要安裝?source?包,請(qǐng)到?:http://oss.oetiker.ch/rrdtool/pub/?M=D,

??如果要安裝?RPM?包,請(qǐng)到http://dag.wieers.com/packages/rrdtool/?。

??不管采用那種方式,都需要先確認(rèn)當(dāng)前系統(tǒng)中是否有安裝如下RPM包?:

?


[root@dns1?bob]#?rpm?-qa?|grep?zlib
zlib-1.1.4-8
zlib-devel-1.1.4-8
[root@dns1?bob]#



[root@dns1?bob]#?rpm?-qa?|grep?libpng
libpng-1.2.2-20
libpng10-devel-1.0.13-11
libpng10-1.0.13-11
libpng-devel-1.2.2-20
[root@dns1?bob]#


?
[root@dns1?bob]#?rpm?-qa?|grep?freetype
freetype-utils-2.1.3-6
freetype-devel-2.1.3-6
freetype-2.1.3-6
freetype-demos-2.1.3-6
[root@dns1?bob]#



[root@dns1?bob]#?rpm?-qa?|grep??libart_lgpl?
libart_lgpl-2.3.11-2
libart_lgpl-devel-2.3.11-2
root@dns1?bob]#


[size=4]?二)RPM?方式安裝[/size]

Redhat?9?上?RRDtool?相關(guān)的?rpm?包如下,并非所有都要裝,有些只是同一個(gè)rpm包不同版本而已。

perl-rrdtool-1.0.50-3.rh9.rf.i386.rpm
perl-rrdtool-1.2.13-1.rh9.rf.i386.rpm
perl-rrdtool-1.2.15-1.rh9.rf.i386.rpm
php-rrdtool-1.0.50-3.rh9.rf.i386.rpm
rrdtool-1.0.50-3.rh9.rf.i386.rpm
rrdtool-1.2.13-1.rh9.rf.i386.rpm
rrdtool-1.2.15-1.rh9.rf.i386.rpm
rrdtool-devel-1.0.50-3.rh9.rf.i386.rpm
rrdtool-devel-1.2.13-1.rh9.rf.i386.rpm
rrdtool-devel-1.2.15-1.rh9.rf.i386.rpm
tcl-rrdtool-1.2.13-1.rh9.rf.i386.rpm


[size=4]?三)source?方式安裝[/size]

???Source?包就簡(jiǎn)單了,就一個(gè)??:http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.2.14.tar.gz

???下面就以?Source?包的方式安裝?:

????在開始?build?RRDtool?之前,要先決定兩件事?:

????第一是在那個(gè)目錄下執(zhí)行?build?操作。

????第二是想把?RRDtool?安裝在什么位置。

???例如?:


[root@dns1?bob]#?BUILD_DIR=/tmp/rrdbuild?
[root@dns1?bob]#?INSTALL_DIR=/usr/local/rrdtool-1.2.14
[root@dns1?bob]#?mkdir?-p?$BUILD_DIR
[root@dns1?bob]#?cd?$BUILD_DIR
[root@dns1?rrdbuild]?#?tar?zxf?rrdtool-1.2.14.tar.gz
[root@dns1?rrdbuild]?cd?rrdtool-1.2.14
[root@dns1?rrdbuild]?./configure?--prefix=$INSTALL_DIR?&&?make?&&?make?install


??然后需要的就是耐心的等待,正常情況下應(yīng)該是沒有問題的,如果還是報(bào)錯(cuò),注意檢查是否滿足上面的?RPM?需求。
?
??當(dāng)重新出現(xiàn)?shell?提示符時(shí),表示安裝結(jié)束。這時(shí)候可以執(zhí)行?rrdtool?命令看是否安裝成功

[size=4]?四)測(cè)試安裝是否成功[/size]

引用:
[root@dns1?rrdtool-1.2.14]#?/usr/local/rrdtool-1.2.14/bin/rrdtool

RRDtool?1.2.14??Copyright?1997-2006?by?Tobias?Oetiker?<tobi@oetiker.ch>
????????????Compiled?Oct?14?2006?10:55:28

Usage:?rrdtool?[options]?command?command_options

Valid?commands:?create,?update,?updatev,?graph,?dump,?restore,
?????????????last,?first,?info,?fetch,?tune,?resize,?xport

RRDtool?is?distributed?under?the?Terms?of?the?GNU?General
Public?License?Version?2.?(www.gnu.org/copyleft/gpl.html)

For?more?information?read?the?RRD?manpages

[root@dns1?rrdtool-1.2.14]#



???如果出現(xiàn)上述輸出則表示安裝已經(jīng)成功。不過每次都要輸入這么長(zhǎng)的命令豈不是很麻煩。最好加入到?PATH?中去。


[root@dns1?rrdtool-1.2.14]#?vi?~/.bashrc

把?PATH?一行修改為?:

PATH=$PATH:$HOME/bin:/usr/local/rrdtool-1.2.14/bin


??整個(gè)安裝過程到此就結(jié)束了,是不是很簡(jiǎn)單呢?^_^

??如果你是想安裝到別的地方,只要把上面對(duì)應(yīng)的?/usr/local/rrdtool-1.2.14?替換為你想要的目錄就可以了

好了,下一節(jié)我們講MRTG和?RRDtool?實(shí)施前的規(guī)劃問題。

[?本帖最后由?ailms?于?2006-12-4?09:36?編輯?]


?ailms 回復(fù)于:2006-12-04 09:22:13

前期規(guī)劃
[color=blue]
**********************************************************************************************************************
注?:該教程參考了如下內(nèi)容?:
A)官方文檔?:http://oss.oetiker.ch/rrdtool/doc/index.en.html
B)abel?兄的大作?:http://bbs.chinaunix.net/viewthread.php?tid=552224&highlight=rrdtool
??????????????http://bbs.chinaunix.net/viewthread.php?tid=552220&highlight=rrdtool
作者?:ailms?<ailms{@}263{dot}net>
版本?:v1
最后修改?:2006/11/18?0:06
**********************************************************************************************************************
[/color]
???可能大家會(huì)覺得奇怪,做個(gè)?RRDtool?還要規(guī)劃什么?俗話說:磨刀不誤砍柴工。好的規(guī)劃必須具備靈活性、可擴(kuò)展性,否則會(huì)給

將來的使用帶來不少的麻煩。我們先談一下?MRTG?的規(guī)劃,再談?RRDtool?的規(guī)劃。

[size=4]一)MRTG?的前期規(guī)劃[/size]

A)[color=blue]想要監(jiān)測(cè)監(jiān)測(cè)什么對(duì)象?[/color]并列出一個(gè)清單;

B)[color=blue]想要以什么方法來取得數(shù)據(jù)?[/color]是通過?SNMP?還是?shell?、perl?。如果使用?SNMP?,監(jiān)測(cè)對(duì)象所在主機(jī)??

??????的?SNMP?服務(wù)安裝了嗎?是否配置完畢;

C)[color=blue]每個(gè)對(duì)象的監(jiān)測(cè)時(shí)間是多長(zhǎng)時(shí)間一次?[/color]并以此對(duì)監(jiān)測(cè)對(duì)象進(jìn)行分類。例如筆者本人共用?MRTG?監(jiān)測(cè)了?80?多個(gè)對(duì)象,并根據(jù)

?????內(nèi)容分成四類?:

?????重要狀態(tài)方面?:?例如?HACMP?的切換動(dòng)作監(jiān)控;Oracle?服務(wù)的狀態(tài);LVM?中的?vg?是否在線;服務(wù)器是否宕機(jī)等。這些監(jiān)

???????????????????????????????測(cè)對(duì)象對(duì)于一個(gè)系統(tǒng)的運(yùn)行來說都是十分重要的,一旦發(fā)生故障,需要立即處理的。所以對(duì)于這類對(duì)象,按最

??????????????????????????????小時(shí)間間隔(5分鐘一次)設(shè)置

?????I/O性能方面?:主要是?I/O?吞吐量、I/O?服務(wù)時(shí)間方面的監(jiān)測(cè)。這類對(duì)象是7分鐘一次

??????次要狀態(tài)方面?:例如?cpu利用率、內(nèi)存利用率、在線人數(shù)、溫度、撥號(hào)用戶人數(shù)等。20分鐘一次

?????利用率方面?:?由于實(shí)際應(yīng)用的問題,所以對(duì)利用率比較關(guān)心。單獨(dú)拎出來做一塊監(jiān)測(cè)。主要是監(jiān)控Oracle?的各個(gè)表空間的利

????????????????????????????用率,以及LVM磁盤系統(tǒng)各個(gè)分區(qū)的利用率。每25分鐘一次

?????監(jiān)控機(jī)本身?:負(fù)責(zé)監(jiān)控的監(jiān)控機(jī)本身也需要監(jiān)控。主要監(jiān)控當(dāng)前監(jiān)測(cè)的對(duì)象數(shù)量,以及系統(tǒng)負(fù)荷。這類就30分鐘一次。


D)[color=blue]每個(gè)對(duì)象一個(gè)?cfg?文件?還是全部集中在一個(gè)?cfg?文件中呢?[/color]我本人還是比較傾向于每個(gè)?Target一個(gè)?cfg?文件,每個(gè)?cfg?中都定

????????義?Workdir、Language???這兩個(gè)選項(xiàng)。針對(duì)上面的5個(gè)分類,建立5個(gè)?“大的”cfg?文件,再利用?MRTG?中的??Include?功能導(dǎo)入一個(gè)個(gè)

?????????“小的”、具體的?cfg?文件。這樣當(dāng)日后對(duì)某個(gè)監(jiān)測(cè)對(duì)象進(jìn)行修改時(shí)(例如修改數(shù)據(jù)的獲取腳本,或者修改圖片的外觀),可以單獨(dú)測(cè)試

?????????該對(duì)象。不用連同其他對(duì)象也一起跑一次,節(jié)省不少時(shí)間。如果想取消那個(gè)對(duì)象的監(jiān)測(cè),在前面提到的那個(gè)“大的”cfg?文件中,把對(duì)應(yīng)

????????的?Include?語句注釋掉就可以了,是不是更方便呢?

E)[color=blue]為個(gè)監(jiān)控對(duì)象起一個(gè)合適的名稱[/color]。一般用?<host_iterm>?的方式。這一步也滿重要的。一開始不注意,隨便給個(gè)名字,等到后來自己都

????搞不清楚了,建議一開始就規(guī)劃好。如果要使用?MRTG?的告警功能,就更應(yīng)該好好規(guī)劃了,要不然收到告警郵件都不知道是那個(gè)對(duì)象,那個(gè)機(jī)

????器出現(xiàn)問題,白白浪費(fèi)時(shí)間。

F)[color=blue]是否需要用到?MRTG?的告警功能。[/color]MRTG?有告警功能,可以設(shè)置輸入/出的最大值,最小值。超過限制就會(huì)調(diào)用?ThreshProgI?和?ThreshProgO?

???選項(xiàng)指定的程序。我一般用發(fā)送郵件和HTML配合的方式。下面是告警部分的截圖?:




??

?差不多也就這些了,就可以開始動(dòng)手寫?script?了。

[size=4]?二)RRDtool?的前期規(guī)劃[/size]

RRDtool?的前期規(guī)劃相對(duì)多一點(diǎn),因?yàn)?RRDtool?很多東西需要自己設(shè)定。除了上述?MRTG?考慮的幾點(diǎn)之外,我一般還考慮以下幾點(diǎn)?:

A)[color=blue]是一個(gè)?RRD?文件中包括多個(gè)監(jiān)測(cè)對(duì)象(DS),還是分成多個(gè)?RRD?文件??[/color]RRDtool?提供了?tune?操作,可以增加監(jiān)測(cè)對(duì)象或者刪除?RRD?文

????件中的某個(gè)對(duì)象,而且繪圖時(shí)也可以指定要畫的是那個(gè)對(duì)象,這點(diǎn)看個(gè)人喜歡而定。

B)[color=blue]如何統(tǒng)計(jì)取得的數(shù)據(jù)?:[/color]MRTG?是固定的,5分鐘、20分鐘、2小時(shí)、1天。RRDtool?則可以自己設(shè)置

C)[color=blue]如何保存/統(tǒng)計(jì)這些數(shù)據(jù)?:[/color]這是和?MRTG?不同的地方。MRTG?log?的建立和維護(hù)是自動(dòng)的,RRDtool?的數(shù)據(jù)存放

?????則需要自己定義。但我們可以參照?MRTG?的方式:
???
????每日統(tǒng)計(jì)圖(5分鐘平均)??:?600?個(gè),大約2天的時(shí)間

????每周統(tǒng)計(jì)圖(20分鐘平均)?:?600?個(gè),大約8天的時(shí)間

????每月統(tǒng)計(jì)圖?(2小時(shí)平均)?:?600?個(gè),50?天的時(shí)間

????每年統(tǒng)計(jì)圖?(1天平均)?:730?個(gè),?2年的時(shí)間

D?[color=blue]要以什么方式繪圖?:[/color]MRTG?只有曲線(LINE)和方塊(AREA)兩種;RRDtool?除了這兩種外,還有一種是?STACK?方式。就是在前一個(gè)曲線或者方

????塊的基礎(chǔ)上繪圖圖,而不是直接從?X?軸開始繪圖。這樣繪制出來的圖比較清晰,不會(huì)出現(xiàn)交叉的現(xiàn)象,但此時(shí)?Y?軸的值等于當(dāng)前對(duì)象的值加上前一

???個(gè)繪圖對(duì)象的值。例如前一個(gè)對(duì)象(cpu?的系統(tǒng)進(jìn)程利用率)的值是10,采用的是?AREA?方式繪圖。當(dāng)前對(duì)象(cpu?的用戶級(jí)進(jìn)程的利用率)是5,

???采用的是?STACK?方式,則“cpu的用戶級(jí)進(jìn)程利用率”對(duì)應(yīng)的Y軸刻度是10+5=15;所以如果不加說明,別人可能會(huì)誤解。

[size=4]三)實(shí)際例子[/size]

A)[color=blue]搞清楚究竟想要監(jiān)測(cè)什么對(duì)象?:[/color]監(jiān)測(cè)本地主機(jī)的網(wǎng)絡(luò)流量。包括?eth0?和?lo?接口的流量。

B)[color=blue]想要以什么方法來取得數(shù)據(jù)?:[/color]sar?也可以統(tǒng)計(jì)網(wǎng)卡接口的流量。但這里我們用?SNMP?,訪問?ifInOctets?和?ifOutOctets?。

????假設(shè)腳本名稱是?get_eth0_traffic.sh?和?get_lo_traffic.sh

C)[color=blue]每個(gè)對(duì)象的監(jiān)測(cè)時(shí)間是多長(zhǎng)時(shí)間一次?:[/color]5分鐘

D)[color=blue]是采用一個(gè)?RRD?文件還是多個(gè)?:[/color]2個(gè)?RRD?文件,一個(gè)是?eth0.rrd,一個(gè)是?lo.rrd

E)[color=bl;ue]為每個(gè)監(jiān)測(cè)對(duì)象起名?:[/color]分別是?eth0_in?,eth0_out?,lo_in?,lo_out

F)[color=blue]統(tǒng)計(jì)頻率?:[/color]5分鐘、20分鐘、2小時(shí)、1天

G)[color=blue]如何保存統(tǒng)計(jì)數(shù)據(jù)?:[/color]600個(gè)、600個(gè)、600個(gè)、730個(gè)

H)[color=blue]要以什么方式繪圖?:[/color]目前暫不考慮該問題。等到實(shí)際繪圖時(shí)再體驗(yàn)。

[color=red]注?:實(shí)際上我們可以把數(shù)據(jù)的插入、繪圖一起做到?get_eth0_traffic.sh?和?get_lo_traffic.sh?中,但目前這兩個(gè)腳本只是負(fù)責(zé)取數(shù)據(jù)并輸出而已,

???????????????到最后我們?cè)侔堰@些功能合并到一起。[/color]

[size=4]?四)下面是腳本的內(nèi)容[/size]


[root@dns1?bob]#?cat?get_eth0_traffic.sh?
#!/bin/bash

#?首先取得?eth0?接口的?ifIndex?
index=$(snmpwalk?-IR?localhost?RFC1213-MIB::ifDescr?|grep?eth0|cut?-d?'='?-f?1|cut?-d?'.'?-f?2)

#?再通過?snmp?協(xié)議取得?ififInOctets?和?ifOutOctets?的值
#?由于在?/etc/snmp.conf?中配置了?defVersion?和?defCommunity?,所以?snmpget?命令不用指定這兩個(gè)參數(shù)

eth0_in=$(snmpget?-IR?-Os?localhost?ifInOctets.${index}|cut?-d?':'?-f?2|tr?-d?'[:blank:]')
eth0_out=$(snmpget?-IR?-Os?localhost?ifOutOctets.${index}|cut?-d?':'?-f?2?|tr?-d?'[:blank:]')
echo?$eth0_in
echo?$eth0_out

[root@dns1?bob]#



[root@dns1?bob]#?cat?get_lo_traffic.sh??????
#!/bin/bash
#?首先取得?eth0?接口的?ifIndex?

index=$(snmpwalk?-IR?localhost?RFC1213-MIB::ifDescr?|grep?lo|cut?-d?'='?-f?1|cut?-d?'.'?-f?2)
lo_in=$(snmpget?-IR?-Os?localhost?ifInOctets.${index}|cut?-d?':'?-f?2|tr?-d?'[:blank:]')
lo_out=$(snmpget?-IR?-Os?localhost?ifOutOctets.${index}|cut?-d?':'?-f?2?|tr?-d?'[:blank:]')
echo?$lo_in

echo?$lo_out
[root@dns1?bob]#


再把這2個(gè)腳本放入?crontab?中,每5分鐘執(zhí)行一次


*/5?*?*?*?*?/home/bob/get_eth0_traffic.sh
*/5?*?*?*?*?/home/bob/get_lo_traffic.sh


不過這樣會(huì)有討厭的郵件產(chǎn)生,也可以在腳本中用?while?true?循環(huán),配合?sleep?300?讓腳本一直運(yùn)行,而不是重復(fù)啟動(dòng)腳本。具體選擇那樣你自己決定。

當(dāng)所有的準(zhǔn)備工作都完成后,就可以開始考慮建庫了。


?ailms 回復(fù)于:2006-12-04 09:22:46

建立?RRD?數(shù)據(jù)庫
[color=blue]
**********************************************************************************************************************
注?:該教程參考了如下內(nèi)容?:
A)官方文檔?:http://oss.oetiker.ch/rrdtool/doc/index.en.html
B)abel?兄的大作?:http://bbs.chinaunix.net/viewthread.php?tid=552224&highlight=rrdtool
http://bbs.chinaunix.net/viewthread.php?tid=552220&highlight=rrdtool
作者?:ailms?<ailms{@}263{dot}net>
版本?:v1
最后修改?:2006/11/17?17:35
**********************************************************************************************************************
[/color]

????準(zhǔn)備工作都做完了,腳本也寫完了,就可以開始建庫了。建庫實(shí)際上就是建立后綴名為?.rrd?的?RRD?文件。

[size=4]一)語法格式[/size]

rrdtool?create?filename?[--start|-b?start?time]?[--step|-s?step]?
[DS:ds-name:DST:dst?arguments]??
[RRA:CF:cf?arguments]


其中?filename?、DS?部分和?RRA?部分是必須的。其他兩個(gè)參數(shù)可免。

[size=4]二)參數(shù)解釋[/size]

A)<filename>?:默認(rèn)是以?.rrd?結(jié)尾,但也以隨你設(shè)定。

B)?--step?:就是?RRDtool?“期望”?每隔多長(zhǎng)時(shí)間就收到一個(gè)值。和?MRTG?的?interval?同樣含義。默認(rèn)是5分鐘。我們的腳本也應(yīng)該是

??????????每5分鐘運(yùn)行一次。

C)?--start?:給出?RRDtool?的第一個(gè)記錄的起始時(shí)間。RRDtool?不會(huì)接受任何采樣時(shí)間小于或者等于指定時(shí)間的數(shù)據(jù)。也就是說?–-start

??????指定了數(shù)據(jù)庫最早的那個(gè)記錄是從什么時(shí)候開始的。如果?update?操作中給出的時(shí)間在?–-start?之前,則?RRDtool拒絕接受。--satrt?選項(xiàng)也是
??????
??????可選的。按照?我們?cè)谇耙黄械脑O(shè)定,則默認(rèn)是當(dāng)前時(shí)間減去?600*300秒,也就是50個(gè)小時(shí)前。?如果你想指定--start?為1天前,可以用??

?
--start?$(date?-d?'1?days?aog'?+%s)


??????注意,--start?選項(xiàng)的值必須是?timestamp?的格式。

D)?DS?:DS?用于定義?Data?Soure?。也就是用于存放腳本的結(jié)果的變量名(DSN)。

??????就是我們前面提到的?eth0_in?,eth0_out,?lo_in?,?lo_out?。DSN?從?1-19?個(gè)字符,必須是?0-9,a-z,A-Z?。

E)?DST?:DST?就是?Data?Source?Type?的意思。有?COUNTER、GUAGE、DERIVE、ABSOLUTE、COMPUTE?5種。

??????????????由于網(wǎng)卡流量屬于計(jì)數(shù)器型,所以這里應(yīng)該為?COUNTER?。

F)?RRA?:RRA?用于指定數(shù)據(jù)如何存放。我們可以把一個(gè)RRA?看成一個(gè)表,各保存不同?interval?的統(tǒng)計(jì)結(jié)果

G)PDP?:Primary?Data?Point?。正常情況下每個(gè)?interval?RRDtool?都會(huì)收到一個(gè)值;RRDtool?在收到腳本給來的值后?會(huì)計(jì)算出另外

??????一個(gè)值(例如平均值),這個(gè)?值就是?PDP?;這個(gè)值代表的一般是“xxx/秒”的含義。注意,該值不一定等于RRDtool??收到的那個(gè)值。除非是?
??????
???????GAUGE?,可以看下面的例子就知道了??????

H)?CF?:CF?就是?Consolidation?Function?的縮寫。也就是合并(統(tǒng)計(jì))功能。有?AVERAGE、MAX、MIN、LAST?四種

??????分別表示對(duì)多個(gè)PDP?進(jìn)行取平均、取最大值、取最小值、取當(dāng)前值四種類型。具體作用等到?update?操作時(shí)?再說。

I)?CDP?:Consolidation?Data?Point?。RRDtool?使用多個(gè)?PDP?合并為(計(jì)算出)一個(gè)?CDP。也就是執(zhí)行上面?的CF?操作后的結(jié)果。這個(gè)值就是存入?RRA?

??????的數(shù)據(jù),繪圖時(shí)使用的也是這些數(shù)據(jù)。


[size=4]?三)再說?DST?[/size]

????DST?的選擇是十分重要的,如果選錯(cuò)了?DST?,即使你的腳本取的數(shù)據(jù)是對(duì)的,放入?RRDtool?后也是錯(cuò)誤的,更不用提畫出來的圖是否有意義了。
????
????如何選擇?DST?看下面的描述?:

???A)COUNTER?:必須是遞增的,除非是計(jì)數(shù)器溢出(overflows)。在這種情況下,RRDtool?會(huì)自動(dòng)修改收到的值。例如網(wǎng)絡(luò)接口流量、收到的
???
????????packets?數(shù)量都屬于這一類型。

???B)DERIVE:和?COUNTER?類似。但可以是遞增,也可以遞減,或者一會(huì)增加一會(huì)兒減少。

???C)ABSOLUTE?:ABSOLUTE?比較特殊,它每次都假定前一個(gè)interval的值是0,再計(jì)算平均值。

???D)GAUGE?:GAGUE?和上面三種不同,它沒有“平均”的概念,RRDtool?收到值之后字節(jié)存入?RRA?中

???E)COMPUTE?:COMPUTE?比較特殊,它并不接受輸入,它的定義是一個(gè)表達(dá)式,能夠引用其他DS并自動(dòng)計(jì)算出某個(gè)值。例如?
???
??????? DS:eth0_bytes:COUNTER:600:0:U?DS:eth0_bits:COMPUTE:bytes,8,*?

???????則?eth0_bytes?每得到一個(gè)值,eth0_bits?會(huì)自動(dòng)計(jì)算出它的值:將?eth0_bytes?的值乘以?8?。不過?COMPUTE?型的?DS?有個(gè)限制,只能應(yīng)用
???????
???????它所在的?RRD?的?DS?,不能引用其他?RRD?的?DS。?COMPUTE?型?DS?是新版本的?RRDtool?才有的,你也可以用?CDEF?來實(shí)現(xiàn)該功能。?
????????
?????????
????F)AVERAGE?類型適合于看“平均”情況,例如一天的平均流量,。所以?AVERAGE?適用于需要知道?‘xxx/秒’?這樣的需求。但采用?AVERAGE?型時(shí),你并不知道

????????在每個(gè)?CDP?中(假設(shè)30分鐘平均,6個(gè)PDP組成)之中,流量具體是如何變化的,什么時(shí)候高,什么時(shí)候低。這于需要用到別的統(tǒng)計(jì)類型了

????G)MAXIMUM?、MINIMUM不適用想知道“xxx/秒”這樣的需求,而是適用于想知道某個(gè)對(duì)象在各個(gè)不同時(shí)刻的表現(xiàn)的需求,也就是著重點(diǎn)在于各個(gè)時(shí)間點(diǎn)。

?????????也就是所謂的“趨勢(shì)”了,還是上面的例子,如果采用?MAXIMUM?或者?MINIMUM?的?CF?,可以看出接口在每個(gè)?CDP?的周期內(nèi)最高是達(dá)到多少,最低又是多

?????????少,如果是?AVERAGE?的話,有可能前5個(gè)?PDP?都很均勻,但最后一個(gè)?PDP?的值發(fā)生很大的突變。這時(shí)候如果用?AVERAGE?可能是看不出來的,因?yàn)橥蛔兊牟?

?????????分被平均分配到整個(gè)時(shí)間段內(nèi)了,所以看不出突變這一現(xiàn)象;但如果用?MAXIMUM?就可以清楚的知道在該?CDP?的周期內(nèi),曾經(jīng)有達(dá)到某個(gè)值的時(shí)候。所以用?

????????MAXIMUM?或者?MINIMUM?就可以知道某個(gè)對(duì)象在某個(gè)時(shí)間段內(nèi)最大達(dá)到多少,最低低到什么程度。

????????例如要看某個(gè)接口在一天內(nèi)有沒有超過50Mb?流量的時(shí)候就要用?MAXIMUM

???????例如要看磁盤空間的空閑率在一天內(nèi)有沒有低于?20%?的時(shí)候就要用?MINIMUM

?????H)LAST?類型適用于?“累計(jì)”的概念,例如從xxx時(shí)候到目前共累計(jì)xxxx?這樣的需求。例如郵件數(shù)量,可以用?LAST?來表示?30?分鐘內(nèi)總共收到多少個(gè)郵件,同

?????????樣?LAST?也沒有平均的概念,也就是說不適用于?‘xxx/秒’?這樣的需求,例如你不能說平均每秒鐘多少封郵件這樣的說法;同樣也不適用于看每個(gè)周期內(nèi)的變化,

?????????例如30分鐘內(nèi)共收到100封郵件,分別是?:第一個(gè)5分鐘20封,第二個(gè)5分鐘30封,第三個(gè)5分鐘沒有,第4個(gè)5分鐘10封,第5個(gè)5分鐘也沒有,第6個(gè)5分鐘
?????????
?????????40封。如果用?MAXIMUM?或者?MINIMUM?就不知道在30分鐘內(nèi)共收到100封郵件,而是得出30和0。所以?LAST?適用于每隔一段時(shí)間被觀察?對(duì)象就會(huì)復(fù)位的
?????????
?????????情況。例如每30分鐘就收一次郵件,郵件數(shù)量就是?LAST?值,同時(shí)現(xiàn)有的新郵件數(shù)量就被清零;到下一個(gè)30分鐘再收一次郵件,又得到一個(gè)?30??分鐘的?LAST?值。
?????????
?????????這樣就可以得得出“距離上一次操作后到目前為止共xxx”的需求。(例如距離上一次收取郵件后又共收到100封新郵件)

[size=4]?四)DST?實(shí)例說明[/size]

這樣說可能還是比較模糊,可以看下面的例子,體會(huì)一下什么是?DST?和?PDP??:

引用:

Values?=?300,?600,?900,?1200????????#?假設(shè)?RRDtool?收到4個(gè)值,分別是300,600,900,1200

Step?=?300?seconds????????????????????#?step?為?300

COUNTER?=?1,1,?1,1????????????? ????#?(300-0)/300,(600-300)/300,(900-600)/300,(1200-900)/300?,所以結(jié)果為?1,1,1,1

DERIVE?=?1,1,1,1?????????????????????????#?同上

ABSOLUTE?=?1,2,3,4???????????????????#?(300-0)/300,(600-0)/300?,?(900-0)/300,?(1200-0)/300,所以結(jié)果為?1,2,3,4

GAUGE?=?300,600,900,1200??????????#?300?,?600?,900?,1200?不做運(yùn)算,直接存入數(shù)據(jù)庫





所以第一行的?values?并不是?PDP?,后面4行才是?PDP?

?
[size=4]?五)開始建庫[/size]


[root@dns1?root]#?rrdtool?create?eth0.rrd?\
>?--start?$(date?–d?‘1?days?ago’?+%s)?\
>?--step?300?\
>?DS:eth0_in:COUNTER:600:0:12500000?\ #??600?是?heartbeat;0?是最小值;12500000?表示最大值;?
>?DS:eth0_out:COUNER:600:0:12500000?\ #?如果沒有最小值/最大值,可以用?U?代替,例如?U:U
>?RRA:AVERAGE:0.5:1:600?\ #?1?表示對(duì)1個(gè)?PDP?取平均。實(shí)際上就等于?PDP?的值
>?RRA:AVERAGE:0.5:4:600?\ #?4?表示每4個(gè)?PDP?合成為一個(gè)?CDP,也就是20分鐘。方法是對(duì)4個(gè)PDP取平均,?
>?RRA:AVERAGE:0.5:24:600?\??#?同上,但改為24個(gè),也就是24*5=120分鐘=2小時(shí)。
>?RRA:AVERAGE:0.5:288:730 #?同上,但改為288個(gè),也就是?288*5=1440分鐘=1天
[root@dns1?root]#??

?
?檢查一下結(jié)果


root@dns1?bob]#?ll?-h?eth0.rrd
-rw-r--r--????1?root?????root??????????41K?11月?19?23:16?eth0.rrd
[root@dns1?bob]#


有的人可能會(huì)問,上面有兩個(gè)?DS,那?RRA?中究竟存的是那個(gè)?DS?的數(shù)據(jù)呢?實(shí)際上,這些?RRA?是共用的,你只需建立一個(gè)?RRA,它就可以用于全部的?DS?。

所以在定義?RRA?時(shí)不需要指定是給那個(gè)?DS?用的。


[size=4]六)什么是?CF?[/size]

以第2個(gè)RRA?和?4,2,1,3?這4個(gè)?PDP?為例

AVERAGE?:則結(jié)果為?(4+2+1+3)/4=2.5

MAX?:結(jié)果為4個(gè)數(shù)中的最大值?4

MIN?:結(jié)果為4個(gè)數(shù)中的最小值1

LAST?:結(jié)果為4個(gè)數(shù)中的最后一個(gè)?3

同理,第三個(gè)RRA和第4個(gè)RRA則是每24個(gè)?PDP、每288個(gè)?PDP?合成為1個(gè)?CDP

[size=4]?七)解釋度(Resolution)[/size]

這里要提到一個(gè)?Resolution?的概念,在官方文檔中多處提到?resolution?一詞。Resolution?究竟是什么?Resolutino?有什么用?

舉個(gè)例子,如果我們要繪制1小時(shí)的數(shù)據(jù),也就是60分鐘,那么我們可以從第一個(gè)RRA?中取出12個(gè)?CDP?來繪圖;也可以從第2個(gè)?RRA

中取出2個(gè)?CDP?來繪圖。到底?RRDtool?會(huì)使用那個(gè)呢?

讓我們看一下?RRA?的定義?:RRA:AVERAGE:0.5:4:600?。

Resolution?就等于?4?*?step?=?4?*?300?=?1200?,也就是說?,resolution?是每個(gè)CDP?所代表的時(shí)間范圍,或者說?RRA?中每個(gè)?CDP(記錄)

之間的時(shí)間間隔。所以第一個(gè)?RRA?的?resolution?是?1*?step=300,第2是?1200,第三個(gè)是?24*300=7200,第4個(gè)?RRA?是?86400?。

默認(rèn)情況下,RRDtool?會(huì)自動(dòng)挑選合適的?resolution?的那個(gè)?RRA?的數(shù)據(jù)來繪圖。我們大可不必關(guān)心它。但如果自己想取特定?RRA?的數(shù)據(jù),就需要用到它了。

關(guān)于?Resolution?我們還會(huì)在?fetch?和?graph?操作中提到它。


[size=4]八)xff?字段[/size]

細(xì)心的朋友可能會(huì)發(fā)現(xiàn),在?RRA?的定義中有一個(gè)數(shù)值,固定是?0.5?,這個(gè)到底是什么東東呢?

這個(gè)稱為?xff?字段,是?xfile?factor??的縮寫。讓我們來看它的定義?:

引用:
The?xfiles?factor?defines?what?part?of?a?consolidation?interval?may?be?made?up?from?*UNKNOWN*?data?while

?the?consolidated?value?is?still?regarded?as?known.?It?is?given?as?the?ratio?of?allowed?*UNKNOWN*?PDPs?to?
?
?the?number?of?PDPs?in?the?interval.?Thus,?it?ranges?from?0?to?1?(exclusive)
?



這個(gè)看起來有點(diǎn)頭暈,我們舉個(gè)簡(jiǎn)單的例子?:例如
RRA:AVERAGE:0.5:24:600?

這個(gè)?RRA?中,每24個(gè)?PDP?(共兩小時(shí))就合成為一個(gè)?CDP,如果這?24?個(gè)?PDP?中有部分值是?UNKNOWN?(原因可以很多),例如1個(gè),那么這個(gè)?CDP?

合成的結(jié)果如何呢?是否就為?UNKNOWN?呢?

不是的,這要看?xff?字段而定。Xff?字段實(shí)際就是一個(gè)比例值。0.5?表示一個(gè)?CDP?中的所有?PDP?如果超過一半的值為?UNKNOWN?,則該?CDP?的值就被標(biāo)為

UNKNOWN。也就是說,如果24個(gè)?PDP中有12個(gè)或者超過12個(gè)?PDP?的值是?UNKNOWN?,則該?CPD?就無法合成,或者合成的結(jié)果為?UNKNOWN;

如果是11個(gè)?PDP?的值為?UNKNOWN?,則該?CDP?的值等于剩下?13??個(gè)?PDP?的平均值。

如果一個(gè)?CDP?是有2個(gè)?PDP?組成,xff?為?0.5?,那么只要有一個(gè)?PDP?為?UNKNOWN?,則該?PDP?所對(duì)應(yīng)的?CDP?的值就是?UNKNOWN?了


?ailms 回復(fù)于:2006-12-04 09:23:47

RRDtool簡(jiǎn)體中文教程_5:如何獲取RRD文件的信息
獲取?RRD?文件的信息
[color=blue]
**********************************************************************************************************************
注?:該教程參考了如下內(nèi)容?:
A)官方文檔?:http://oss.oetiker.ch/rrdtool/doc/index.en.html
B)abel?兄的大作?:http://bbs.chinaunix.net/viewthread.php?tid=552224&highlight=rrdtool
http://bbs.chinaunix.net/viewthread.php?tid=552220&highlight=rrdtool
作者?:ailms?<ailms{@}263{dot}net>
版本?:v1
最后修改?:2006/11/17?17:35
**********************************************************************************************************************
[/color]

[size=4]?一)前言[/size]

???可能你已經(jīng)頗不亟待的想知道如何往?RRD?文件插入數(shù)據(jù)、如何繪圖了吧?hoho,先別急,在你做這些事情之前,最好先思考以下幾個(gè)問題?:

???A)如果給你一個(gè)?RRD?文件,你能知道它的第一次/最后一次?update?的時(shí)間是在什么時(shí)候嗎?

???B)如果你很久之前建立了一個(gè)?RRD?文件,現(xiàn)在因?yàn)楣ぷ髟蛐枰獙?duì)該?RRD?文件進(jìn)行一些修改。不過遺憾的是,
???
???????你已經(jīng)不記得得當(dāng)初設(shè)置的具體選項(xiàng)和參數(shù)了,??這時(shí)候該怎么辦呢?
???????
???這兩個(gè)問題就對(duì)應(yīng)今天要講的兩個(gè)操作?:first/last?、info?。
???
???first?就是用于查看該?RRD?文件中某個(gè)?RRA?的第一個(gè)數(shù)據(jù)是在什么時(shí)候插入的(或者說第一次更新);
???
???last?就是查看該?RRD?文件的最近一次更新;
???
???info就是查看?rrd?文件的結(jié)構(gòu)信息。
???
???下面就以實(shí)際例子來看一下該怎么用這三個(gè)命令?:
???
???
[size=4]二)如何查詢一個(gè)?RRD?文件的結(jié)構(gòu)信息[/size]
???
????

[root@dns1?bob]#?rrdtool?info?eth0.rrd (由于輸出信息較多,截取了一部分)
filename?=?"eth0.rrd"
rrd_version?=?"0003"
step?=?300 #?RRDtool?希望每5分鐘收到一個(gè)數(shù)據(jù)
last_update?=?1163862985 #?這是最近一次更新的?timestamp?。可以用?date?轉(zhuǎn)換為具體的時(shí)間
ds[eth0_in].type?=?"COUNTER" #?有一個(gè)名為?eth0_in?的?DS,DST是?COUNTER
ds[eth0_in].minimal_heartbeat?=?600 #?hearbeat?時(shí)間是600?秒
ds[eth0_in].min?=?0.0000000000e+00 #?eth0_in?的最小值是?0?(bytes)
ds[eth0_in].max?=?1.2500000000e+07 #?eth0_in?的最大值是?1250000000?(bytes)
ds[eth0_in].last_ds?=?"UNKN"
ds[eth0_in].value?=?0.0000000000e+00
ds[eth0_in].unknown_sec?=?85
ds[eth0_out].type?=?"COUNTER"
ds[eth0_out].minimal_heartbeat?=?600
ds[eth0_out].min?=?0.0000000000e+00
ds[eth0_out].max?=?1.2500000000e+07
ds[eth0_out].last_ds?=?"UNKN"
ds[eth0_out].value?=?0.0000000000e+00
ds[eth0_out].unknown_sec?=?85
rra[0].cf?=?"AVERAGE" #?第一個(gè)?RRA?的編號(hào)是0,不是1。
rra[0].rows?=?600 #?共保存?600?個(gè)記錄
rra[0].pdp_per_row?=?1 #?每個(gè)?CDP?由一個(gè)?PDP?統(tǒng)計(jì)得出
rra[0].xff?=?5.0000000000e-01 #?只要當(dāng)前interval?的?PDP?為?unknown?,則該?CDP?的值也是unknown
rra[0].cdp_prep[0].value?=?NaN
rra[0].cdp_prep[0].unknown_datapoints?=?0
rra[0].cdp_prep[1].value?=?NaN
rra[0].cdp_prep[1].unknown_datapoints?=?0
rra[1].cf?=?"AVERAGE" #?第二個(gè)?RRA?的編號(hào)是?1。同樣也是?AVERAGE?型。
rra[1].rows?=?600 #?也是保存?600?個(gè)記錄
rra[1].pdp_per_row?=?4 #?每個(gè)?CDP?由4個(gè)?PDP?的求平均值得出
rra[1].xff?=?5.0000000000e-01 #?每個(gè)?CDP?最多允許2個(gè)?PDP?為?unknown?,超過則該?CDP?為unknown
rra[1].cdp_prep[0].value?=?NaN
rra[1].cdp_prep[0].unknown_datapoints?=?3
rra[1].cdp_prep[1].value?=?NaN
rra[1].cdp_prep[1].unknown_datapoints?=?3
[root@dns1?bob]#



[color=red]由于信息太長(zhǎng),這里截取了后面2個(gè)?RRA?的信息。[/color]


[size=4]三)第一次更新/最近一次更新[/size]

如果想知道最近一次更新發(fā)生在什么時(shí)候,除了可以用上面的?info?操作,還可以用?last?操作


[root@dns1?bob]#?rrdtool?last?eth0.rrd
1163862985
[root@dns1?bob]#


如果轉(zhuǎn)換成具體的時(shí)間就是?:


[root@dns1?bob]#?rrdtool?last?eth0.rrd?|xargs?-i?date?-d?'1970-01-01?{}?sec?utc'
六?11月?18?23:16:25?CST?2006
[root@dns1?bob]#



[root@dns1?bob]#?rrdtool?first?eth0.rrd
1163683200
[root@dns1?bob]#


如果換成具體的時(shí)間就是?:


[root@dns1?bob]#?[root@dns1?bob]#?rrdtool?first?eth0.rrd?|xargs?-i?date?-d?'1970-01-01?{}?sec?utc'?
四?11月?16?21:20:00?CST?2006
[root@dns1?bob]#


這三個(gè)命令的語法都非常簡(jiǎn)單,但并不可以因此小看它們的功能,尤其是?info?操作。日后如果需要對(duì)?RRD?文件進(jìn)行調(diào)整,是經(jīng)常需要用到的。


?ailms 回復(fù)于:2006-12-04 09:24:20

更新?RRD?文件
[color=blue]
**********************************************************************************************************************
注?:該教程參考了如下內(nèi)容?:
A)官方文檔?:http://oss.oetiker.ch/rrdtool/doc/index.en.html
B)abel?兄的大作?:http://bbs.chinaunix.net/viewthread.php?tid=552224&highlight=rrdtool
http://bbs.chinaunix.net/viewthread.php?tid=552220&highlight=rrdtool
作者?:ailms?<ailms{@}263{dot}net>
版本?:v1
最后修改?:2006/11/17?17:35
**********************************************************************************************************************
[/color]

[size=4]一)前言[/size]

寫了N多東東,總算到了?update?部分了。這里有必要比較一下?RRDtool?和?MRTG?在?update?方面的差別。

?A)MRTG?可以通過?SNMP?協(xié)議直接訪問?SNMP?對(duì)象,你只需要在?cfg?文件中的?Target?指定?OID?,MRTG?就可以自動(dòng)替你取回?cái)?shù)據(jù)。
???
???????例如Target[as1_eth0]:?2:n7css@172.17.64.11:::::1?,表示使用?SNMP?v1?協(xié)議訪問?172.17.64.11?主機(jī)上?index?為?2?的那個(gè)接口,
???
???????默認(rèn)是取?ifInOctets?和?ifOutOctets?這兩個(gè)對(duì)象的值。RRDtool?則沒有這個(gè)功能,只能你自己寫腳本取數(shù)據(jù)。
???????
B)MRTG?只支持?COUNTER?和?GAUGE?類型的?Target?;RRDtool?則還可以使用?DERIVE、ABSOLUTE、COMPUTE
??
C)由于上面的原因,MRTG?無法識(shí)別小數(shù),負(fù)數(shù)。例如你給?MRTG?一個(gè)?-1?的值,它會(huì)解釋為?1?;這點(diǎn)可以通過?LOG?看出來。
??
???????小數(shù)也不行。例如?.72?(bc?的輸出)會(huì)被識(shí)別為?72?,而不是?0.72。
???????
D)MRTG?每次?update?每次運(yùn)行只更新一次,或者說只插入一行記錄。但?RRDtool?可以在一個(gè)?updat操作中插入多個(gè)記錄。

E)MRTG?一次要求2個(gè)值,RRDtool?則沒有該方面的限制。

F)最大的一個(gè)區(qū)別是,?MRTG?在收到一個(gè)值后會(huì)自動(dòng)得出?timestamp?,并記錄在?log?的第一個(gè)字段;而?RRDtool?是需要你給出一個(gè)?timestamp?,
??
???????表示該數(shù)據(jù)是什么時(shí)間采集的。
???
[size=4]二)update?操作的語法格式[/size]



rrdtool?{update?|?updatev}?filename?
[--template|-t?ds-name[:ds-name]...]
N|timestamp:value[:value...]?
at-timestamp@value[:value...]
[timestamp:value[:value...]?...]



N?表示?now?的意思,會(huì)被?RRDtool?替換為當(dāng)前的?timestamp?,也就是?date?+%s?的結(jié)果。Timestamp?部分比較靈活,可以是數(shù)字形式,也可以是

AT-風(fēng)格的時(shí)間(參考?at?命令的?manual),有點(diǎn)類似于自然語言的風(fēng)格。


[size=4]三)手工方式?update?數(shù)據(jù)庫[/size]

我們先學(xué)習(xí)一下如何手工?update?數(shù)據(jù)庫。Update?命令分成兩部分?:

A)時(shí)間戳?(timestamp):表示該數(shù)據(jù)是在那個(gè)時(shí)間點(diǎn)采集的。Timestamp?的格式可以非常靈活?:

數(shù)字形式?:例如1164419418?,表示?“六?11月?25?09:50:18?CST?2006”。通常用于手工插入的方式。

快捷方式?:N?。字母N?表示當(dāng)前時(shí)間(Now)。如果是通過?crontab?的方式來運(yùn)行?update?操作,這是最實(shí)用的方式。

AT-風(fēng)格?:所謂的?AT?風(fēng)格的時(shí)間,可以參考?at?命令的?manual。例如?now、yesterday、now-1hour、now+5min?都是?AT風(fēng)格的時(shí)間。
?
??? ????????????????????要注意的是,如果使用?AT風(fēng)格的時(shí)間,則時(shí)間和第一個(gè)value之間使用?@?分隔,而不是?“:”

B)數(shù)值部分?:一個(gè)?RRD?文件可以有多個(gè)?DS?,所以一次?update?可以給出多個(gè)?value?。多個(gè)?value?之間用?“:”?分隔。不過是不是所有的?DS?都必須

?????給出值呢?不一定。有時(shí)候你只想給出一部分?DS?的值,甚至有時(shí)候某些類型的?DS?是不允許賦值的,例如?COMPUTE?型的?DS?就是這樣一個(gè)例子。
?????

[size=4]四)實(shí)際操作[/size]

實(shí)例一?:一個(gè)錯(cuò)誤的例子

[root@dns1?bob]#?rrdtool?update?eth0.rrd?1163862980:1:2
ERROR:?illegal?attempt?to?update?using?time?0?when?last?update?time?is?1163862985?(minimum?one?second?step)
[root@dns1?bob]#


咦?為什么出錯(cuò)了呢?是語法錯(cuò)誤嗎?不是的,RRDtool?提示最近一次更新是在1163862985?這個(gè)時(shí)候。也就是說,update?給出的時(shí)間戳必須大于該值。

不能等于或者小于該時(shí)刻。因?yàn)閿?shù)據(jù)一旦插入到?RRA?中,就不允許再次修改。所以?update?會(huì)檢查給出的時(shí)間戳是否大于最后一次更新的時(shí)間戳,如果不是

則報(bào)錯(cuò),不予執(zhí)行。那如何才能知道最近一次更新的時(shí)間戳呢?還記得前一篇“如何獲取RRD文件的信息”中介紹的?last?和?info?命令嗎?對(duì)了!就是它們。

執(zhí)行一下看看是什么結(jié)果??


[root@dns1?bob]#?rrdtool?last?eth0.rrd
1163862985
[root@dns1?bob]#


last?操作顯示的時(shí)間戳和上面的報(bào)錯(cuò)信息給出的值一樣。這個(gè)時(shí)間是


[root@dns1?bob]#?date?-d?'1970-01-01?1163862985?sec?utc'
六?11月?18?23:16:25?CST?2006
[root@dns1?bob]#


總之如果要?update?數(shù)據(jù)庫,則?update?操作給出的時(shí)間戳必須晚于最后一次?update?的時(shí)間。


實(shí)例二?:還是一個(gè)錯(cuò)誤的例子

我們挑?23:16的下一個(gè)5分鐘23:20作為時(shí)間戳吧。


[root@dns1?bob]#?date?-d?'2006-11-18?23:20'?+%s
1163863200
[root@dns1?bob]#


所以?update?命令為?:


[root@dns1?bob]#?rrdtool?update?eth0.rrd?1163863200:1
ERROR:?expected?2?data?source?readings?(got?1)?from?1163863200:1:...
[root@dns1?bob]#


還是不行?!!

仔細(xì)看錯(cuò)誤信息,原來是我們給少了一個(gè)值。還記得?info?命令嗎?這會(huì)兒它派上用場(chǎng)了。


[root@dns1?bob]#?rrdtool?info?eth0.rrd
filename?=?"eth0.rrd"
…..(省略)
last_update?=?1163862985
ds[eth0_in].type?=?"COUNTER"
ds[eth0_out].type?=?"COUNTER"


原來是2個(gè)?DS?,怪不得?RRDtool?會(huì)報(bào)錯(cuò)了

實(shí)例三?:這次應(yīng)該成功了吧?


[root@dns1?bob]#?rrdtool?update?eth0.rrd?1163863200:1:2
[root@dns1?bob]#


這會(huì)倒是沒有錯(cuò)誤信息,那究竟數(shù)據(jù)是否別插入到?RRA?中了呢?

對(duì)于該問題,有兩個(gè)方法,一個(gè)是通過?fetch?操作,從?RRA?中提取數(shù)據(jù);但這個(gè)我們下一篇再講。

還有一種方法就是用?updatev?操作來代替?update?。updatev?的?v?表示?verbose?的意思,現(xiàn)在就來看?updatev?的作用?:
?

實(shí)例四?:updatev?的好處?

我們執(zhí)行多個(gè)?update?操作


[root@dns1?bob]#?rrdtool?last?eth0.rrd
1163864400
[root@dns1?bob]#
[root@dns1?bob]#?rrdtool?update?eth0.rrd?1163864700:3000:4000
[root@dns1?bob]#?rrdtool?updatev?eth0.rrd?1163865000:3300:4600
return_value?=?0
[1163865000]RRA[AVERAGE][1]DS[eth0_in]?=?1.0000000000e+00
[1163865000]RRA[AVERAGE][1]DS[eth0_out]?=?2.0000000000e+00


可以看到?return?value?是?0,這個(gè)?return?value?你可以理解為?shell?編程中的?exit?status?。updatev用?0?表示成功,-1?表示失敗。

不過我們插入的值明明是?3300?和?4600?,為什么出來的結(jié)果是?1和2?呢?

這是因?yàn)?eth0_in?和?eth0_out?都是?COUNTER?型的?DS,所以?RRDtool?在收到?3300?和?4600?后,會(huì)作一個(gè)運(yùn)算,就是

(3300-3000)/?step?(300)=?1,(4600-4000)/step(300)=2?,這就是?1和?2?這兩個(gè)值的來源了。還記得前面提到的?PDP?嗎?

這兩個(gè)值?(1?和2)就是?PDP?了,而不是?3300?和?4600??。這點(diǎn)要搞清楚。


實(shí)例五?:另外一個(gè)?updatev?的例子

[root@dns1?bob]#
[root@dns1?bob]#?rrdtool?updatev?eth0.rrd?1163865300:3300:4600
return_value?=?0
[1163865300]RRA[AVERAGE][1]DS[eth0_in]?=?0.0000000000e+00
[1163865300]RRA[AVERAGE][1]DS[eth0_out]?=?0.0000000000e+00
[root@dns1?bob]#


在1163865300?這個(gè)時(shí)刻我們給出的值和上次一樣,所以?eth0_in?和?eth0_out?的?PDP?都為?0

搞清楚了?PDP?的概念,現(xiàn)在我們來看什么是?CDP?,以及?CDP?是如何計(jì)算的


實(shí)例六?:通過?updatev?掌握?CF?的概念


[root@dns1?bob]#?rrdtool?updatev?eth0.rrd?1163865600:4000:5000
return_value?=?0
[1163865600]RRA[AVERAGE][1]DS[eth0_in]?=?2.3333333333e+00
[1163865600]RRA[AVERAGE][1]DS[eth0_out]?=?1.3333333333e+00
[1163865600]RRA[AVERAGE][4]DS[eth0_in]?=?1.6666666667e+00
[1163865600]RRA[AVERAGE][4]DS[eth0_out]?=?1.6666666667e+00
[1163865600]RRA[AVERAGE][24]DS[eth0_in]?=?NaN
[1163865600]RRA[AVERAGE][24]DS[eth0_out]?=?NaN
[root@dns1?bob]#


這次的輸出和上次又不一樣了。這次?update?操作影響到幾個(gè)?RRA?,看到?[]?中的?1,4,24?了嗎?它們就是代表不同的?RRA?中每個(gè)?CDP?所包含的?PDP?數(shù)量。

1?就是?1個(gè)?CDP?包含1?個(gè)?PDP,4?就是?一個(gè)?CDP?包含4個(gè)?PDP(20分鐘)、24?就是?一個(gè)?CDP?包含24個(gè)?PDP(2小時(shí))。

不過為什么沒有?288?呢?eth0.rrd?的第4個(gè)?RRA?不是規(guī)定每288個(gè)?PDP?合并為一個(gè)?CDP?嗎?

因?yàn)檫@個(gè)時(shí)候還輪不到它出場(chǎng)。1163865600?/?7200?=?161648?,?也就是說剛好1163865600?是在?7200?的某個(gè)周期上(161648)。

但1163865600?/?86400?≈?13470.66?,說明1163865600?還不到?86400?的周期。

必須等到13471*?86400=1163894400?才會(huì)出現(xiàn)?[288]?的?CDP,那這個(gè)時(shí)間戳代表的時(shí)間是什么時(shí)候呢?看下面的?date?命令就知道了?:


[root@dns1?bob]#?date?-d?'1970-01-01?1163894400?sec?utc'
日?11月?19?08:00:00?CST?2006
[root@dns1?bob]#
[root@dns1?root]#?date?-d?'1970-01-01?1163865600?sec?utc'?
日?11月?19?00:00:00?CST?2006
[root@dns1?root]#


這樣不就是剛好相差1天的時(shí)間了嗎?你可能會(huì)覺得很奇怪,為什么不是00:00?而是?08:00呢?

還記得create?操作的語法嗎?其中有一個(gè)?–-start?參數(shù)嗎?不記得了?沒關(guān)系,那就得用?first?操作來重新找出來,


[root@dns1?bob]#?rrdtool?first?eth0.rrd?--rraindex?3
1100822400
[root@dns1?bob]#
[root@dns1?bob]#?date?-d?'1970-01-01?1100822400?sec?utc'
五?11月?19?08:00:00?CST?2004
[root@dns1?bob]#

?
看到了嗎?是?2004?年的?11?月19日早上8點(diǎn)正,距離?2006-11-19?剛好是2年,也就是?730?天,因?yàn)?eth0.rrd?的第4個(gè)RRA?

只保存730個(gè)記錄。每個(gè)記錄時(shí)間上相差1天。也就是第一個(gè)記錄是?2004/11/19?8:00?,第二個(gè)記錄是?2004/11/20?8:00?,

第三個(gè)記錄代表?2004/11/21?8:00?,依次類推。所以離1163865600?最近的下一個(gè)記錄是發(fā)生在?2006/11/19?8:00?。

所以嚴(yán)格意義上來說,RRDtool?中的一天并不一定是從?0:00?開始的,但可以保證的就是兩個(gè)記錄之間肯定相差86400秒(1天)。


[size=4]四)自動(dòng)更新數(shù)據(jù)庫[/size]

其實(shí)這些都只不過是手工?update?時(shí)需要注意的一些地方,如果是自動(dòng)更新數(shù)據(jù)庫,時(shí)間戳方面就交給?RRDtool?去處理吧,我們不用操心了。

前面我們已經(jīng)寫好了一個(gè)腳本,現(xiàn)在就用它來更新


[root@dns1?bob]#?cat?get_eth0_traffic.sh?
#!/bin/bash

#?首先取得?eth0?接口的?ifIndex?

index=$(snmpwalk?-IR?localhost?RFC1213-MIB::ifDescr?|grep?eth0|cut?-d?'='?-f?1|cut?-d?'.'?-f?2)

#?再通過?snmp?協(xié)議取得?ififInOctets?和?ifOutOctets?的值

#?由于在?/etc/snmp.conf?中配置了?defVersion?和?defCommunity?,所以?snmpget?命令不用指定這兩個(gè)參數(shù)

eth0_in=$(snmpget?-IR?-Os?localhost?ifInOctets.${index}|cut?-d?':'?-f?2|tr?-d?'[:blank:]')

eth0_out=$(snmpget?-IR?-Os?localhost?ifOutOctets.${index}|cut?-d?':'?-f?2?|tr?-d?'[:blank:]')

echo?${eth0_in}

echo?${eth0_out}

#?需要我要用這些數(shù)據(jù)來更新?eth0.rrd?,注意?update?時(shí)的?timestamp?我們用的是?N?

/usr/local/rrdtool-1.2.14/bin/rrdtool?updatev?/home/bob/eth0.rrd?N:${eth0_in}:${eth0_out}

[root@dns1?bob]#


[size=4]五)接下來是什么呢?[/size]

有了數(shù)據(jù),下面該學(xué)什么了呢?是繪圖嗎?

不是!^_^!!?(估計(jì)有人快瘋了吧)

在繪圖之前,你有沒有想過?RRDtool?在繪圖時(shí)如何取數(shù)據(jù)的呢?

例如我想畫2小時(shí)內(nèi)的數(shù)據(jù),那么我們有4個(gè)?RRA?,其?resolution?分別是?300,1200,7200,86400?

(還記得什么是?resolution?嗎?就是每個(gè)?RRA?中兩個(gè)?CDP?相隔的時(shí)間)。是從第一個(gè)?RRA?取出?7200/300=24?個(gè)記錄,

還是從第二個(gè)?RRA?取出?7200/1200=6?個(gè)記錄呢?或者是從第三個(gè)?RRA?中取出1個(gè)記錄就可以呢?

這些問題我們就留待下一篇再學(xué)習(xí)吧。這里給大家留幾個(gè)問題?:

[color=red]

引用:

A) 如果?eth0.rrd?在5分鐘內(nèi)收到不止1個(gè)更新,結(jié)果會(huì)怎樣?提示:用?updatev?就可以看出來了

B) 如果過了?eth0.rrd?在5分鐘內(nèi)沒有收到腳本返回的值,是否立即就用?UNKNOWN?作為?PDP?的值?

C) 參考上面的例子,搞清楚?heartbeat?的含義

D) 在搞清楚?heartbeat?后,再想一下?heartbeat?和?step?之間的關(guān)系。
?????



[/color]


?ailms 回復(fù)于:2006-12-04 09:25:08

從?RRD?文件中提取數(shù)據(jù)
[color=blue]
**********************************************************************************************************************
注?:該教程參考了如下內(nèi)容?:
A)官方文檔?:http://oss.oetiker.ch/rrdtool/doc/index.en.html
B)abel?兄的大作?:http://bbs.chinaunix.net/viewthread.php?tid=552224&highlight=rrdtool
http://bbs.chinaunix.net/viewthread.php?tid=552220&highlight=rrdtool
作者?:ailms?<ailms{@}263{dot}net>
版本?:v1
最后修改?:2006/11/17?17:35
**********************************************************************************************************************
[/color]

[size=4]一)前言[/size]
RRD?是?Round?Robin?Database?的意思,那么是否可以象普通的數(shù)據(jù)庫進(jìn)行查詢操作呢?

答案是可以的。fetch?就是用來做這種事情的工具。當(dāng)然?fetch?不能和?select?語句相比,它只是根據(jù)用戶指定的時(shí)間,

從合適的?RRA?中取出數(shù)據(jù),并加以格式化。不過和?MRTG?相比,已經(jīng)好很多了,至少你不用取看該死的?log?文件。

實(shí)際上,fetch?操作其實(shí)可以不學(xué),因?yàn)?RRDtool?會(huì)自動(dòng)幫你選好數(shù)據(jù)。但你如何確定?RRDtool?取的數(shù)據(jù)就是你想要的呢?

或者說你如何證明?RRDtool?繪制出來的圖是正確的呢?

廢話少說,下面開始正文

[size=4]二)fetch?操作的語法[/size]


rrdtool?fetch?filename?CF?[--resolution|-r?resolution]?[--start|-s?start]?[--end|-e?end]


其中?--start、--end、-r?都是可選的?。RRDtool?默認(rèn)的?--end?是?now?,--start?是?end-1day?,也就是1天前。

CF?可以是?AVERAGE、MAX、MIN、LAST?,當(dāng)然必須建庫時(shí)有該?CF?類型的?RRA?才可以查,否則會(huì)報(bào)錯(cuò)。


[size=4]三)fetch?如何取數(shù)據(jù)[/size]

在確定了時(shí)間范圍后,RRDtool?會(huì)從多個(gè)?RRA?中挑選最佳的那個(gè)?RRA?的數(shù)據(jù)。至于什么是“最佳”,則從兩個(gè)方面考慮?:

A)[color=blue]第一是該?RRA?的數(shù)據(jù)要盡可能的覆蓋所請(qǐng)求的時(shí)間范圍。[/color]如何計(jì)算一個(gè)?RRA?的覆蓋時(shí)間呢?以?eth0.rrd?的第一個(gè)RRA?為例,

?????有?600?個(gè)記錄,每個(gè)記錄相隔300秒,則總的時(shí)間覆蓋范圍是180000?秒≈2天,所以如果?–-start?和?-–end?規(guī)定的時(shí)間范圍
?????
?????大于2天,則?RRDtool?不會(huì)從該?RRA?中取數(shù)據(jù)。

B)[color=blue]第二是?resolution?的要求。[/color]還是上面的例子,如果是要畫3天的數(shù)據(jù),從時(shí)間覆蓋范圍上來講,第2、3、4?個(gè)?RRA?都符合要求。

?????那究竟挑選那個(gè)?RRA?的數(shù)據(jù)呢?如果?fetch?中有指定?–r?選項(xiàng),則挑選?resolution?等于?–r?指定的值那個(gè)?RRA?的數(shù)據(jù)。如果沒有?
?????
?????–r?選項(xiàng),則從第一個(gè)合適的?RRA?中取數(shù)據(jù)。

C)fetch?如果不加?–-start、--end、-r?,則默認(rèn)輸出?resolution?最小的那個(gè)?RRA?的數(shù)據(jù)。就像下面的例子1一樣。

?[size=4]四)實(shí)際例子[/size]

實(shí)例一?:默認(rèn)情況


[root@dns1?bob]#?rrdtool?fetch?eth0.rrd?AVERAGE?|more
eth0_in????????????eth0_out

1164467700:?1.1337243905e+01?9.6323712631e-02
1164468000:?1.7896453039e+01?0.0000000000e+00
1164468300:?1.8469136234e+01?1.2215723119e+00
。。。。(中間省略)
1164553800:?6.9634610564e+01?4.9644415243e+01
1164554100:?nan?nan




[root@dns1?bob]#?date (當(dāng)前時(shí)間)
日?11月?26?23:11:12?CST?2006

[root@dns1?bob]#?date?-d?'1970-1-1?1164554100?sec?utc' (最后一個(gè)記錄的時(shí)間)
日?11月?26?23:15:00?CST?2006
[root@dns1?bob]#

[root@dns1?bob]#?date?-d?'1970-1-1?1164467700?sec?utc' (第一個(gè)記錄的時(shí)間)
六?11月?25?23:15:00?CST?2006
[root@dns1?bob]#



fetch?輸出的第一列是?timestamp?,表示后面的數(shù)據(jù)是在什么時(shí)間收到的。”:”?后面就是DS的值。fetch?不能指定只取那個(gè)?DS?的數(shù)據(jù),

只能一次性取出全部?DS?的值。可以看到,eth0.rrd?有兩個(gè)?DS?:eth0_in?和?eth0_out?,每個(gè)?DS?的值用?空格進(jìn)行分隔,一律采用科學(xué)記數(shù)法的格式。

如果?fetch?不指定?–-start?和?-–end?,則默認(rèn)取從當(dāng)前時(shí)刻算起,往前1天的數(shù)據(jù)(289個(gè)記錄)。因?yàn)楝F(xiàn)在是?23:11?,還不到?23:15,所以最后一個(gè)記

錄的值是?NaN?(Not?a?Number),也就是?UNKNOWN?的意思。可以看到,兩個(gè)記錄之間的時(shí)間間隔是300。

?
?實(shí)例二:使用?--start?和?--end?指定時(shí)間范圍


[root@dns1?bob]#?rrdtool?fetch?eth0.rrd?AVERAGE?--start?1164467700?--end?1164553800?|more
eth0_in????????????eth0_out

1164468000:?1.7896453039e+01?0.0000000000e+00
1164468300:?1.8469136234e+01?1.2215723119e+00
1164468600:?1.5988336199e+01?1.4417769382e-01
。。。。。(中間省略很多)
1164553800:?6.9634610564e+01?4.9644415243e+01
1164554100:?1.7481962958e+02?2.3086574912e+02
[root@dns1?bob]#


可以看到第一個(gè)記錄和最后一個(gè)記錄都比?–-start??和?–-end?晚了300秒。


實(shí)例三?:使用?AT風(fēng)格的時(shí)間
?

[root@dns1?bob]#?rrdtool?fetch?eth0.rrd?AVERAGE?--start?end-1day?--end?1164553800?|more
eth0_in????????????eth0_out

1164467700:?1.1337243905e+01?9.6323712631e-02
1164468000:?1.7896453039e+01?0.0000000000e+00
。。。。。。。(中間省略很多)
1164554100:?1.7481962958e+02?2.3086574912e+02
[root@dns1?bob]#


注意?--start?的值是?end-1day?,這就是?AT風(fēng)格的時(shí)間。end?就是?--end?中給出的1164553800?。具體的時(shí)間范圍是表示起始時(shí)間從1164553800?往前1天?。

可以看到,現(xiàn)在第一個(gè)記錄和實(shí)例二相比,提前了300秒。和例2中的?–start?一致了。所以能夠用?AT風(fēng)格的時(shí)間的時(shí)候還是用?AT?風(fēng)格的時(shí)間比較方便。

可以省去計(jì)算的麻煩,別人也比較容易看。


實(shí)例四?:提取指定?resolution?的數(shù)據(jù)


[root@dns1?bob]#?rrdtool?fetch?eth0.rrd?AVERAGE?--start?1164467700?--end?start+1day?-r?1200?|more
eth0_in????????????eth0_out

1164468000:?1.7899370295e+01?3.8782610300e+00
1164469200:?2.0828335735e+01?3.4166666667e-01
1164470400:?1.4581351504e+01?3.5000000000e-02
。。。。。。(中間省略很多)
1164554400:?9.4367707174e+01?9.4866775629e+01
[root@dns1?bob]


可以看到,現(xiàn)在記錄兩兩之間的時(shí)間間隔變成了1200?了。輸出的行數(shù)為?(86400/1200)+1=73?(72+1)。


實(shí)例五:如果指定一個(gè)不存在的?resolution?呢?


[root@dns1?bob]#?rrdtool?fetch?eth0.rrd?AVERAGE?--start?1164467700?--end?start+1day?-r?1000?|more?
eth0_in????????????eth0_out

1164468000:?1.7899370295e+01?3.8782610300e+00
1164469200:?2.0828335735e+01?3.4166666667e-01
。。。。。。(中間省略很多)
1164554400:?9.4367707174e+01?9.4866775629e+01
[root@dns1?bob]#


我們指定的?resolution?是?1000?,但并沒有那個(gè)?RRA?的?resolution?為?1000,所以?RRDtool?挑選了第一個(gè)合適的?resolution?,

也就是?1200?的那個(gè)?RRA?的數(shù)據(jù)作為結(jié)果輸出。注意,RRDtool?只會(huì)挑選?resolution?比?–r?指定的值相等或者更高的?RRA?,不會(huì)挑

選比?–r?指定的值小的?RRA?。
例如在該例子中,RRDtool?就不會(huì)挑選?resolution=300?的第一個(gè)?RRA?。為什么呢?

各位可以自己根據(jù)第三部分“fetch?如何提取數(shù)據(jù)”的兩個(gè)準(zhǔn)則考慮一下


實(shí)例六?:再來看一個(gè)?–r?的例子

如果我不想指定?–-start?或者?–end?,就想看?resolution?為?1200?呢?


[root@dns1?bob]#?rrdtool?fetch?eth0.rrd?AVERAGE?-r?1200
eth0_in????????????eth0_out

1164470400:?1.4581351504e+01?3.5000000000e-02
1164471600:?1.9312781373e+01?3.5000000000e-02
。。。。。(中間省略很多)
1164555600:?8.5249300043e+01?7.0171152327e+01
1164556800:?nan?nan
[root@dns1?bob]#


咦?為什么還是使用記錄的時(shí)間間隔還是?300?秒呢?我們不是指定了?–r?1200?嗎?

老實(shí)說,這種方法?90%?以上的機(jī)率是不會(huì)成功嗎?那應(yīng)該怎么辦呢?

實(shí)例七?:正確使用?–r?的方式


[root@dns1?bob]#?rrdtool?fetch?eth0.rrd?AVERAGE?-r?1200?--end?$((($(date?+%s)/1200)*1200))?|more
eth0_in????????????eth0_out

1164470400:?1.4581351504e+01?3.5000000000e-02
1164471600:?1.9312781373e+01?3.5000000000e-02
1164472800:?1.7383358822e+01?3.5000000000e-02
1164474000:?1.4781054841e+01?3.3225406191e-01
。。。。。。(中間省略很多)
1164555600:?8.5249300043e+01?7.0171152327e+01
1164556800:?nan?nan
[root@dns1?bob]#


現(xiàn)在?resolution?已經(jīng)變成?1200?的了。同理,如果想看?7200,86400?resolution的?RRA,只要把?end?部分的?(?)中的數(shù)字替換為相應(yīng)的值就可以了。



[root@dns1?bob]#?rrdtool?fetch?eth0.rrd?AVERAGE?-r?7200?--end?$((($(date?+%s)/7200)*7200))???

[root@dns1?bob]#?rrdtool?fetch?eth0.rrd?AVERAGE?-r?86400?--end?$((($(date?+%s)/86400)*86400))


?
實(shí)例八?:關(guān)于?fetch?提取數(shù)據(jù)準(zhǔn)則1的測(cè)試


[root@dns1?bob]#?rrdtool?fetch?eth0.rrd?--start?now-3day?AVERAGE?|more
eth0_in????????????eth0_out

1164298800:?nan?nan
1164300000:?nan?nan
。。。。。。(中間省略很多)
1164556800:?6.4118014239e+01?1.8871145267e+01
1164558000:?nan?nan
[root@dns1?bob]#


和第一個(gè)例子不同,這次的?resolution?是?1200?了?為什么呢?因?yàn)槲覀冎付ǖ臅r(shí)間范圍是3天,而第一個(gè)?RRA只保存2天的數(shù)據(jù)多一點(diǎn),所以?RRDtool?不會(huì)從

該?RRA?取數(shù)據(jù),那么會(huì)從那個(gè)?RRA?取數(shù)據(jù)呢?由于我們沒有指定?–r?選項(xiàng),所以?RRDtool?選擇1200?的那個(gè)?RRA?

實(shí)例九?:關(guān)于?fetch?提取數(shù)據(jù)準(zhǔn)則2的測(cè)試


[root@dns1?bob]#?rrdtool?fetch?eth0.rrd?--start?now-3day?AVERAGE?-r?7200?|more
eth0_in????????????eth0_out

1164304800:?nan?nan
1164312000:?nan?nan
1164319200:?nan?nan
。。。。。。(中間省略很多)
1164549600:?5.1899602485e+01?4.3073128067e-01
1164556800:?7.9766222122e+01?4.0644151093e+01
1164564000:?nan?nan
[root@dns1?bob]#



現(xiàn)在?resolution?不再是?1200?,而是指定的?7200?了。

因?yàn)殡m然?resolution=1200?的?RRA?就可以滿足?--start?和?--end?的需求,

但因?yàn)?-r?指定?resolution=7200?,所以從第3個(gè)?RRA?中取數(shù)據(jù)

[size=4]五)總結(jié)[/size]

從上面我們可以看出,fetch?實(shí)際上是非常復(fù)雜的一個(gè)命令,如果想要輸出你所要的數(shù)據(jù),就必須考慮好幾個(gè)因素?:

A)[color=blue]第一是具體想輸出的時(shí)間范圍?[/color]

B)[color=blue]第二是計(jì)算好?–-start?和?–end。建議至少給出一個(gè),最好2個(gè)都給出[/color]

C)[color=blue]第三是如果有多個(gè)RRA符合條件,則使用?–r?指定具體的?resolution[/color]


?ailms 回復(fù)于:2006-12-04 09:25:49

使用RRDtool?進(jìn)行繪圖(一)
[color=blue]
**********************************************************************************************************************
注?:該教程參考了如下內(nèi)容?:
A)官方文檔?:http://oss.oetiker.ch/rrdtool/doc/index.en.html
B)abel?兄的大作?:http://bbs.chinaunix.net/viewthread.php?tid=552224&highlight=rrdtool
http://bbs.chinaunix.net/viewthread.php?tid=552220&highlight=rrdtool
作者?:ailms?<ailms{@}263{dot}net>
版本?:v1
最后修改?:2006/11/17?17:35
**********************************************************************************************************************
[/color]

[size=4]一)前言[/size]

使用RRDtool?我們最關(guān)心什么?當(dāng)然是如何把數(shù)據(jù)畫出來了。雖然前面談了很多,但這些都是基礎(chǔ)來的。掌握好了,可以讓你在繪圖時(shí)更加得心應(yīng)手。

本來還有?RPN?(反向波蘭表達(dá)式)一節(jié)的,但考慮一下,覺得還是放到后面,先從基本的繪圖講起。

這一節(jié)的內(nèi)容雖然很多,但基本都是實(shí)驗(yàn)性的內(nèi)容,只要多試幾次就可以了。

[size=4]二、graph?操作的語法[/size]


rrdtool?graph?filename?[option?...]?
[data?definition?...]
[data?calculation?...]
[variable?definition?...]
[graph?element?...]
[print?element?...]


其中的?data?definiton、variable?definition?、data?calculation、分別是下面的格式


DEF:<vname>=<rrdfile>:<ds-name>:<CF>[:step=<step>][:start=<time>][:end=<time>][:reduce=<CF>]
VDEF:vname=RPN?expression
CDEF:vname=RPN?expression


其中?filename?就是你想要生成的圖片文件的名稱,默認(rèn)是?png?。你可以通過選項(xiàng)修改圖片的類型,可以有?PNG、SVG、EPS、PDF四種。

A)DEF?是?Definition?(定義)的意思。定義什么呢?你要繪圖,總要有數(shù)據(jù)源吧?DEF?就是告訴?RRDtool?從那個(gè)?RRD?中取出指定

????DS(eth0_in、eth0_out)的某個(gè)類型的統(tǒng)計(jì)值(還可以指定?resolution、start、end),并把這一切放入到一個(gè)變量?<vname>中?。
????
????你可能會(huì)感到奇怪,為什么還有一個(gè)?CF?字段?因?yàn)?RRA?有多種??CF?類型,有些?RRA?可能用來保存平均值、有些?RRA?可能用于統(tǒng)計(jì)最大值、
????
????最小值等等。所以你必須同時(shí)指定使用什么?CF?類型的?RRA的數(shù)據(jù)。至于?:start?和?:end?、:reduce?則用得比較少,最常用的就是?:step?了,
????
????它可以讓你控制?RRDtool?從那個(gè)?RRA?中取數(shù)據(jù)。

B)VDEF?是?Variable?Definition?(變量定義)的意思。定義什么呢?記得?MRTG?在圖表的下面有一個(gè)稱之為?Legend?的部分嗎?

????那里顯示了1個(gè)或者2個(gè)?DS?(MRTG?沒有?DS?一說,這里是借用?RRDtool?的)的?“最大值”、“平均值”、“當(dāng)前值”。這些值是如何
????
????計(jì)算的呢?
????
????RRDtool?中用?VDEF?來定義。這個(gè)變量專門存放某個(gè)?DS?某種類型的值,例如?eth0_in?的最大值、eht0_out?的當(dāng)前值等。當(dāng)你需要象
????
?????MRTG??一樣輸出數(shù)字報(bào)表(Legend)?時(shí),就可以在?GPRINT?子句(sub?clause)中調(diào)用它。
???
???同樣它也需要用一個(gè)變量來存放數(shù)值。要注意的是,舊版?的?RRDtool?中是用另外一種格式來達(dá)到相同的目的。新版的?RRDtool?則推薦使用
???
????VDEF???語句。但在使用過程中,卻發(fā)現(xiàn)?VDEF?的使用反而造成了困擾。?例如你有5個(gè)?DS?要畫,每個(gè)?DS?你都想輸出最大值、最小值、平均值
????
????、當(dāng)前值。??如果使用?VDEF?,則需要?4?*?5?=?20?個(gè)?VDEF?語句,這會(huì)造成極大的困擾。具體例子可以看第十一節(jié)“數(shù)字報(bào)表”部分。
???
C)CDEF?是?Calculation?Define?的意思。使用過MRTG?的都會(huì)體會(huì)到一點(diǎn),MRTG?的計(jì)算能力實(shí)在太差了。例如你有兩個(gè)?Target?,

??????一個(gè)是?eth0_in?,?一個(gè)是?eth0_out,如果要把它們相加起來,再除以8,得出?bytes?為單位的值,如何計(jì)算呢?或者說你只想看
??????
??????eth0_in?中超過?10Mb/s?的那部分,?其余的不關(guān)心,又如何實(shí)現(xiàn)呢?因?yàn)?MRTG?不能對(duì)它從?log?取出來的數(shù)據(jù)進(jìn)行修改,只能原
??????
??????原本本的表現(xiàn),所以很難滿足我們的要求。而使用?CDEF?,?這一切都可以很容易的實(shí)現(xiàn)。CDEF?支持很多數(shù)學(xué)運(yùn)算,甚至還支持簡(jiǎn)
??????
??????單的邏輯運(yùn)算?if-then-else?,可以解決前面提到的第2個(gè)問題:如何只繪制你所關(guān)?心的數(shù)據(jù)。不過這一切都需要熟悉?RPN?的語法,
??????
??????所以我們放到下一節(jié)介紹,這一節(jié)就介紹如何把?RRDtool?中的數(shù)據(jù)以圖表的方式顯示出來。
??????
??????
[size=4]三)選項(xiàng)分類[/size]

本部分我們按照官方文檔的方式,把選項(xiàng)分成幾大類,分為??:

A)Time?range?:?用于控制圖表的X軸顯示的起始/結(jié)束時(shí)間,也包括從RRA中提取指定時(shí)間的數(shù)據(jù)。

B)Labels?:用于控制?X/Y?軸的說明文字。

C)Size?:用于控制圖片的大小。

D)Limits?:用于控制?Y?軸的上下限。

E)Grid?:用于控制?X/Y?軸的刻度如何顯示。

F)Miscellaneous?:其他選項(xiàng)。例如顯示中文、水印效果等等。

G)Report?:數(shù)字報(bào)表

需要說明的是,本篇當(dāng)中并不是列出了所有選項(xiàng)的用法,只是列出較為常用的選項(xiàng),如果想查看所有選項(xiàng)的的用法,可以到官方站點(diǎn)下載文檔,

這里就不一一列出了,望各位見諒。


[size=4]四)時(shí)間范圍控制(Time?Range)[/size]


[-s|--start?time]?[-e|--end?time]?[-S|--step?seconds]


既然要繪圖,就應(yīng)該有一個(gè)起始/結(jié)束的時(shí)間。Graph?操作中有?–s?,-e?選項(xiàng)。這兩個(gè)選項(xiàng)即可以用于控制圖表的?X?軸顯示的時(shí)間范圍,也可以用

于控制?RRDtool?從?RRA?中提取對(duì)應(yīng)時(shí)間的數(shù)據(jù)。如果沒有指定?–-end?,默認(rèn)為?now;如果沒有指定?–-start,則默認(rèn)為1天前。如果兩者都沒有

指定,則圖表默認(rèn)顯示從當(dāng)前算起1天內(nèi)的。數(shù)
回頭看一下?DEF?中,也有?:start?,:end?,?:step?,這些和?–-start、--end、--step?之間有什么關(guān)系呢?

讓我們先看?:step?和?–step之間的關(guān)系是如何的。

下面以?eth0.rrrd?為例,假設(shè)要繪制的時(shí)間范圍?range?等于?end?-start[

A)如果?0?<??ragne?<?180000?(第一個(gè)?RRA?的時(shí)間覆蓋范圍)?,則默認(rèn)從第1個(gè)RRA中取數(shù)據(jù)?:

?????如果?DEF?中給出的?:step?>?300?,例如?1000?,則從?resolution=?1000?的或者第一個(gè)高于?1000?的RRA?中挑選數(shù)據(jù),由于?eth0.rrd?中沒有
????
?????????????????????????????????????????????????????resolution?=?1000?的?RRA,則?RRDtool?會(huì)從?resolution?=?1200?的第2?RRA?中取數(shù)據(jù)。

?????如果?DEF?中給出的?:step?<=?300?,例如?200?,則?RRDtool?會(huì)忽略該設(shè)定,還是從第一個(gè)?RRA?中取數(shù)據(jù)。

B)如果?180000?<?range?<?720000??,由于第一個(gè)RRA只能保存2天的數(shù)據(jù),所以默認(rèn)從第2個(gè)RRA中取數(shù)據(jù)?:

?????如果?DEF?中給出的?:step?>?1200?,例如?1800,則?RRDtool?會(huì)從?resolution?=?7200?的第3?RRA?中取數(shù)據(jù)

?????如果?DEF?中給出?:step<=?1200,例如?300?,則?RRDtool?會(huì)忽略,還是從第2個(gè)?RRA?中取數(shù)據(jù)

C)如果?720000?<?range?<??4320000?,則默認(rèn)從第三個(gè)?RRA?中取數(shù)據(jù)?:

?????如果?DEF?中給出的?:step?>?7200?,例如?10000?,則從第4個(gè)?RRA中取數(shù)據(jù)

?????如果?DEF?中給出的?:step?<=?7200?,?例如?1200?,則忽略該值,并還是從第3?個(gè)?RRA?中取數(shù)據(jù)

D)如果?4320000?<?range?<?63072000?,則默認(rèn)從第4個(gè)?RRA?中取數(shù)據(jù)?:

?????如果?DEF?中給出的?:step?>?86400?,則行為未知

?????如果?DEF?中給出的?:step?<=86400?,則從第4個(gè)?RRA?中取數(shù)據(jù)

E)-S?選項(xiàng)可以直接控制?RRDtool?如何挑選?RRA?。

????例如?-S?1200?,即使DEF?中不加?:setp?,則?RRDtool?會(huì)從第2個(gè)?RRA?中取數(shù)據(jù),即使?rang?<?180000?

????如果?-S?和?:step?同時(shí)出現(xiàn),則?:step?優(yōu)先。

F)DEF?中的?:start?和?:end?可以覆蓋?–-start?和?–-end?的值。

?????默認(rèn)情況下,如果?DEF?中不加?:start?和?:end?,則等于?–-start?和?–end

????如果?DEF?中定義了?:start?和?:end?,則以?:start?和?:end?為準(zhǔn)。

實(shí)例1?:使用?–-start?指定?X?軸的起始時(shí)間


[root@dns1?bob]#?rrdtool?graph?1.png?\
>?--start?now-120000?\ #?表示起始時(shí)間是當(dāng)前時(shí)間往前?120000?秒,也就是?33?個(gè)小時(shí)左右
>?DEF:value1=eth0.rrd:eth0_in:AVERAGE?\ ?#?從eth0.rrd?中取出?eth0_in?的數(shù)據(jù),CF?類型為?AVERAGE
>?AREA:value1#ff0000 #?用“方塊”的形式來繪制?value1?,注意這里是用?value1?,不是用?eth0_in
481x154 #?如果?RRDtool?有繪圖方面的語句,則這里顯示圖片大小,否則為?0x0。
[root@dns1?bob]#




可以看到?X?軸的文字有些是亂碼,不過不要緊,你可以臨時(shí)已用?env?LANG=C?rrdtool?xxxx?來解決該問題,或者在后面用

?–n?來設(shè)定?RRDtool?使用中文字體,就不會(huì)出現(xiàn)這樣的情況了


實(shí)例2?:使用?:step?從第2個(gè)RRA中取數(shù)據(jù)



[root@dns1?bob]#?rrdtool?graph?2.png?\
>?--start?now-120000?\
>?DEF:value1=eth0.rrd:eth0_in:AVERAGE:step=1000?\ #?:step?指定?resolution=1000?
>?AREA:value1#ff0000
481x154
[root@dns1?bob]#?


這里是?:step=1000,但?RRDtool?會(huì)取?:step=1200?的?第2個(gè)?RRA?的數(shù)據(jù)來繪圖,可以和上面的?1.png?比較,發(fā)現(xiàn)比較平滑。




實(shí)例3?:使用?–S?從第2個(gè)RRA中取數(shù)據(jù)


[root@dns1?bob]#?rrdtool?graph?4.png?
>?-S?1200?\ #?使用?–S?控制?RRDtool?從?resolution=1200?的?RRA?中取數(shù)據(jù)
>?--start?now-120000?\
>?DEF:value1=eth0.rrd:eth0_in:AVERAGE?\
>?AREA:value1#ff0000????????
481x154
[root@dns1?bob]#?

?
?

可以看到和上面的圖一樣,說明?RRDtool?的確按照?-S?的設(shè)置從第2個(gè)RRA?中取數(shù)據(jù)了

使用?–S?可以對(duì)?DEF?中所有的?DS?都使用相同的?resolution,等于在每個(gè)?DEF后都加上?:step=<value>?,value?是?–S?的值

實(shí)例4?:同時(shí)使用?–S?和?:step?


[root@dns1?bob]#?rrdtool?graph?5.png?
>?-S?1200?\ #?-S?指定?resolution=1200
>?--start?now-120000?\
>?DEF:value1=eth0.rrd:eth0_in:AVERAGE:step=300?\ #?:step?指定?resolution=300
>?AREA:value1#ff0000?????
481x154
[root@dns1?bob]#





可以看到?5.png?和?1.png?是一樣的,也就是說?–S?1200?并沒有起作用,而是?:step=300?起作用了

實(shí)例5?:使用?:start?和?:end?只顯示指定時(shí)間內(nèi)的數(shù)據(jù)


[root@dns1?bob]#?rrdtool?graph?1.png?\
>?--start?now-1h?\ #?X?軸顯示1個(gè)小時(shí)的長(zhǎng)度
>?DEF:value1=eth0.rrd:eth0_in:AVERAGE:start=now-600:end=now-300?\ #?但只取10分鐘前到5分鐘前的這部分
>?AREA:value1#00ff00:in??
475x168
[root@dns1?bob]#




?如果我們不加?:start?和?:end?,則效果如下?:
?
?

我們甚至可以讓兩個(gè)對(duì)象顯示不同的時(shí)間,例如?

實(shí)例6?:讓兩個(gè)對(duì)象顯示不同時(shí)間段的數(shù)據(jù)


[root@dns1?bob]#?rrdtool?graph?1.png?\
>?--start?now-2h?\ #?規(guī)定時(shí)間為2小時(shí)內(nèi)
>?DEF:value1=eth0.rrd:eth0_in:AVERAGE:end=now:start=end-1h?\ #?規(guī)定時(shí)間為1小時(shí)內(nèi)
>?DEF:value2=eth0.rrd:eth0_out:AVERAGE?\ #?沒有指定?:start?和?:end,默認(rèn)和?–-start?一樣也是2小時(shí)
>?AREA:value1#00ff00:in?\
>?LINE2:value2#ff0000:out:STACK?
475x168
[root@dns1?bob]#





實(shí)例7?:把一段時(shí)間分為幾段分別顯示?:


[root@dns1?bob]#?rrdtool?graph?1.png?\
>?DEF:value1=eth0.rrd:eth0_in:AVERAGE:end=now:start=end-1h?\ #?當(dāng)前1小時(shí)內(nèi)
>?DEF:value2=eth0.rrd:eth0_in:AVERAGE:end=now-1h:start=now-2h?\ #?2小時(shí)前
>?DEF:value3=eth0.rrd:eth0_in:AVERAGE:end=now-2h:start=now-3h?\ #?3小時(shí)前
>?LINE1:value1#00ff00:"1?hours?ago"?\
>?LINE2:value2#ff0000:"2?hours?ago"?\
>?LINE3:value3#000000:"3?hours?ago"??
475x168
[root@dns1?bob]





我們把3個(gè)小時(shí)內(nèi)的數(shù)據(jù)用三種不同粗細(xì)、不同顏色的曲線畫了出來。

看到了嗎,out部分(紅色)顯示了2個(gè)小時(shí)內(nèi)的流量,而in部分(綠色)則只顯示了1個(gè)小時(shí)內(nèi)的部分

在這里要提一點(diǎn),雖然我們指定了?–-start?或者?–-end?,或者?:start?,?:end,但并不意味著曲線就一定會(huì)從指定的時(shí)間點(diǎn)開始和結(jié)束。

例如我們上面指定了?:start=now-600:end=now-300?,也就是只顯示5分鐘的數(shù)據(jù)。但圖表出來的效果卻是10(10:05-10:15)分鐘

的數(shù)據(jù),這是因?yàn)槲覀兲暨x的時(shí)間當(dāng)中“不慎”橫垮了兩個(gè)周期(10:05-10:10,10:10-10:15),所以?RRDtool?會(huì)把它們?nèi)慨嫵鰜?#xff0c;而

不是只畫其中的5分鐘。

[?本帖最后由?ailms?于?2006-12-4?09:44?編輯?]


?ailms 回復(fù)于:2006-12-04 09:27:24

使用RRDtool?進(jìn)行繪圖_(二)
?[color=blue]
**********************************************************************************************************************
?注?:該教程參考了如下內(nèi)容?:
A)官方文檔?:http://oss.oetiker.ch/rrdtool/doc/index.en.html
B)abel?兄的大作?:http://bbs.chinaunix.net/viewthread.php?tid=552224&highlight=rrdtool
http://bbs.chinaunix.net/viewthread.php?tid=552220&highlight=rrdtool
作者?:ailms?<ailms{@}263{dot}net>
版本?:v1
最后修改?:2006/11/17?17:35
**********************************************************************************************************************
[/color]

[size=4]五)說明文字(Label)[/size]


[-t|--title?string]?[-v|--vertical-label?string]


-t?是用于圖表上方的標(biāo)題,-v?是用于?Y?軸的說明文字

實(shí)例1?:給圖表增加標(biāo)題


[root@dns1?bob]#?rrdtool?graph?1.png?\
>?--start?now-183600?\ #?從當(dāng)前開始往前51個(gè)小時(shí)
>?-t?"51?hours?ago"?-v?"Traffic"?\ #?標(biāo)題是?“51?hours?ago”,Y?軸的說明文字是?“Traffic”
>?DEF:value1=eth0.rrd:eth0_in:AVERAGE?\
>?DEF:value2=eth0.rrd:eth0_out:AVERAGE?\
>?LINE1:value1#0000ff:in?\ #?注釋?:以1個(gè)像素寬的曲線畫出?value1,顏色是藍(lán)色,圖例的說明文字是“in”
>?LINE2:value2#ff0000:out #?注釋?:以2個(gè)像素寬的曲線畫出?value2,顏色是紅色,圖例的說明文字是?“out”
497x179
[root@dns1?bob]#




現(xiàn)在我們用的是?LINE?的方式來繪圖。LINE?可以有3種,分別是?LINE1|2|3,也就是線條的粗細(xì)。還有一種是?STACK?方式下面再介紹。

可以看到流入的流量比流出的流量稍大,這樣看的話,out?流量比較難看,是否可以有別的方式呢?RRDtool?還提供了

另外一種格式,就是?STACK?。意思就是在前一個(gè)對(duì)象的基礎(chǔ)(把前一個(gè)對(duì)象的值當(dāng)成?X?軸)上繪圖,而不是從?X?軸開始。

實(shí)例2?:使用?STACK?方式繪圖


[root@dns1?bob]#?rrdtool?graph?3.png?\
>?--start?now-120000?\
>?-t?"33?hours?ago"?\
>?-v?"Traffic"?\
>?DEF:value1=eth0.rrd:eth0_in:AVERAGE?\
>?DEF:value2=eth0.rrd:eth0_out:AVERAGE?\
>?AREA:value1#00ff00:in?\
>?LINE:value2#ff0000:out:STACK #?注意最后的?“STACK”?,表示在?value1?的基礎(chǔ)上繪圖
497x179
[root@dns1?bob]#





這是沒有采用?STACK?方式繪圖的效果?:



可以看得出上面采用?STACK?方式的比較清晰,但要注意,采用?STACK?方式后,在讀取?out?流量時(shí),Y?軸的刻度不再是?out?的值,

應(yīng)該用刻度值減去?in?的值,才是?out?真正的值。這點(diǎn)比較麻煩。需要配合?GPRINT?語句才能達(dá)到一定的效果。

[size=4]六)圖表大小(Size)[/size]


[-w|--width?pixels]?[-h|--height?pixels]


這里說圖表大小而不是圖片大小,是因?yàn)?–w?,-h?控制的是?X/Y?軸共同圍起來的那部分大小,而不是整個(gè)圖片的大小,這點(diǎn)在前面就可以看出了。

默認(rèn)的圖表大小是?400?(長(zhǎng))x?100?(高),但一般會(huì)返回497x179?這樣的數(shù)字,這個(gè)才是圖片的大小。

RRDtool?比?MRTG?好的一個(gè)地方就是?MRTG?一放大圖片,就會(huì)變得模糊。RRDtool?則不會(huì)。

在官方文檔中,-w?似乎是一個(gè)比較敏感的參數(shù),我們看下面的描述?:

引用:
First?it?makes?sure?that?the?RRA?covers?as?much?of?the?graphing?time?frame?as?possible.?Second?it?looks?at?the?resolution?of?the

?RRA?compared?to?the?resolution?of?the?graph.?It?tries?to?find?one?which?has?the?same?or?higher?better?resolution.?With?the?``-r''?
?
?option?you?can?force?RRDtool?to?assume?a?different?resolution?than?the?one?calculated?from?the?pixel?width?of?the?graph.



引用:
By?default,?rrdtool?graph?calculates?the?width?of?one?pixel?in?the?time?domain?and?tries?to?get?data?from?an?RRA?with?that?resolution.?

With?the?step?option?you?can?alter?this?behaviour.?If?you?want?rrdtool?graph?to?get?data?at?a?one-hour?resolution?from?the?RRD,?set?

step?to?3'600.?Note:?a?step?smaller?than?one?pixel?will?silently?be?ignored



這兩段話分別是從rrd-beginners??和?rrd_graph?文檔中摘出來的。似乎看起來?–w?會(huì)影響到圖表的?resolution?,進(jìn)一步影響到?RRDtool?如何選擇?RRA?,

但經(jīng)過實(shí)驗(yàn)卻發(fā)現(xiàn)并非如此。

[color=red]我對(duì)這兩段話中的圖表的?resolution?一詞不知如何理解和計(jì)算,希望好心的朋友能夠指點(diǎn)一下?^_^?.[/color]


實(shí)例1?:使用?–w?設(shè)定圖表大小為?300?像素


[root@dns1?bob]#?rrdtool?graph?3.png?
>?-w?300?\ #?設(shè)定?size?為?300?pixel
>?--start?now-120000?\
>?DEF:value1=eth0.rrd:eth0_in:AVERAGE?\
>?AREA:value1#ff0000???????????
381x154
[root@dns1?bob]#




可以看到圖表是不是變小了呢?而且整個(gè)圖片的大小也變小了。

如果用前面的話來推理,由于?120000/300(-w的值)=?400?>?300?(step),由于沒有?resolution=400?的?RRA,

所以應(yīng)該采用?resolution=7200?的第2個(gè)?RRA?的數(shù)據(jù)來繪圖,但實(shí)際上不是。



上面這個(gè)才是?300?pixel?寬,resolution=7200?的效果

所以我覺得?–w?和?–h?并不能影響?RRDtool?如何選擇?RRA?,只能起到縮小放大的作用。

BTW:當(dāng)你繪制的時(shí)間范圍較大時(shí),可以使用?–w?增大圖表大小,這樣看起來比較“舒服“




[size=4]七)?Y?軸上下限(Limits)[/size]

?
[-u|--upper-limit?value]?[-l|--lower-limit?value]?[-r|--rigid]

?
?默認(rèn)情況下,RRDtool?會(huì)和?MRTG?一樣自動(dòng)調(diào)整?Y?軸的數(shù)字,來配合當(dāng)前的數(shù)值大小。如果想禁止該特性,可以通過?–upper-limit?和
?
-–lower-limit?來做限制,表示Y軸顯示的值從多少到多少。如果沒有指定?–rigid?,則在圖表的上下邊界處還是會(huì)有一些延伸,但如果指定了
??
-–rigid?,則嚴(yán)格按照?–-upper-limit?和?–-lower-limit?繪制。

在使用?–lower-limit?時(shí)要注意,如果數(shù)據(jù)中有負(fù)數(shù),如果?-–lower-limit?為?0,則負(fù)數(shù)部分是顯示不出來的。

實(shí)例1?:使用?–-upper-limit?和?–-lower-limit?限制?Y?軸的上下限


[root@dns1?bob]#?rrdtool?graph?1.png?\
>?--start?now-120000?\
>?-v?"Traffic"?-t?"33?Hours?ago"?\
>?--lower-limit?-5000?\ #?限制Y軸下限為?-5000?
>?--upper-limit?10000?\ #?上限為?10000
>?--rigid?\ ? #?嚴(yán)格按照上面的規(guī)定來畫
>?DEF:value1=eth0.rrd:eth0_in:AVERAGE?\
>?DEF:value2=eth0.rrd:eth0_out:AVERAGE?\
>?AREA:value1#00ff00:in?\
>?LINE1:value2#ff0000:out:STACK
497x179
[root@dns1?bob]#





[size=4]八)?X/Y?軸刻度(Grid)[/size]


[-x|--x-grid?GTM:GST:MTM:MST:LTM:LST:LPR:LFM]?
[-x|--x-grid?none]
[-y|--y-grid?grid?step:label?factor]?
[-y|--y-grid?none]
[-Y|--alt-y-grid]
[-X|--units-exponent?value]


RRDtool?中設(shè)置?X?軸的刻度比較復(fù)雜,如果沒有必要,可以交給?RRDtool?自動(dòng)去處理。

例如上面的圖,33?小時(shí)的情況下,X?軸只有2個(gè)值,顯得很不足。這時(shí)候有兩種方法?:

A)一是使用?–w?增大圖表的寬度,這樣?RRDtool?會(huì)自動(dòng)加多一些刻度上去。



不過需要增加多大才會(huì)有上面的這種效果不得而知,所以這種方法不是很方便。

B)二是通過上面的選項(xiàng)自己設(shè)置?X/Y?軸的刻度如何顯示。首先看上圖,在垂直的線中,紅色的線稱為?Major?Grid(主要網(wǎng)格線),

????灰色的線稱為?Base?Grid?(次要網(wǎng)格線)(這里是借用?EXCEL?中的概念?^_^?)。?X?軸下面的時(shí)間文字成為?Label?。了解這
????
????三樣?xùn)|西后,就可以動(dòng)手調(diào)整刻度了。
????
C)有兩種方法可以快速去掉?X/Y?軸的刻度,就是?–-x-grid?none?和?–-y-grid?none

D)GTM:GST?:控制次要格網(wǎng)線的位置。GTM?是一個(gè)時(shí)間單位,可以是?SECOND、MINUTE、HOUR、DAY?、WEEK、MONTH、YEAR?。

?????GST?則是一個(gè)數(shù)字,控制每隔多長(zhǎng)時(shí)間放置一根次要格線。例如我們要畫一個(gè)1天的圖表,決定每15分鐘一根次要網(wǎng)格線,則格式為?MINUTE:15
?????
E)MTM:MST?:控制主要網(wǎng)格線的位置。MTM?同樣是時(shí)間單位,MST?是一個(gè)數(shù)字。接上面的例子,決定一個(gè)小時(shí)1根主要網(wǎng)格線。則格式為?HOUR:1?

?????LTM:LST?:控制每隔多長(zhǎng)時(shí)間輸出一個(gè)label?。決定為1小時(shí)1個(gè)?label?。則格式為?HOUR:1

G)LPR:LFM?:LTM:LST?只是決定了?label?的顯示位置了,沒有指定要顯示什么內(nèi)容。LPR?指的是如何放置?label?。如果LPR?為0,則數(shù)字對(duì)齊格線

????(適用于顯示時(shí)間)。如果不為0,則會(huì)做一些偏移(適用于顯示星期幾、月份等)。至于LFM?則需要熟悉一下?date?命令的參數(shù),常用的有?%a(星期幾)、
????
????%b(月份)、%d(天)、%H(小時(shí))、%M(分)、%Y(年)。我們決定顯示小時(shí)和分,所以用?%H%M

H)綜合起來,X?軸的刻度定義就是?–-x-grid?MINUTE:15:HOUR:1:HOUR:1:0:’%H:%M’。最好把?%H:%M?括起來

?????建議?MST是?GST?的2-6倍,MST?和?LST?相同。這樣畫出來的圖比較美觀一些


????

這明顯就是圖片太小了,不夠顯示。把上面的?:%M?去掉就可以了,只顯示小時(shí),不顯示分鐘

????

如果把圖片放大一點(diǎn)就更好了?(-w?800)

????

所以在設(shè)置?X?軸的刻度時(shí),要記得不要顯示太多東西,否則需要增大圖片的大小

????

I)Y?軸刻度的設(shè)置又不一樣了

???grid?step?:用于控制Y軸每隔多少顯示一根水平線

???label?factor?:默認(rèn)為1,也就是在每根水平線的高度那里顯示一個(gè)值。

???例如下面就是一個(gè)例子?(每隔800顯示一根水平線)

????

J)Y?軸還有一個(gè)很方便的選項(xiàng)就是?–Y?,它可以最大限度的優(yōu)化?Y?軸的刻度,建議每次繪圖都加上去。

K)Y?軸另外一個(gè)有用的選項(xiàng)就是?–X?(雖然選項(xiàng)名是?-X?,但確實(shí)是用來設(shè)置?Y?軸刻度值的)。在上面的圖我們看到?RRDtool?自動(dòng)對(duì)?Y?軸的值進(jìn)行調(diào)整,

?????以?k?為單位顯示。但如果你不想以?k?顯示,而是想固定以某個(gè)單位來顯示(M,b)該怎么辦呢?這就要用到?–X?選項(xiàng)了。-X?后面跟一個(gè)參數(shù),參數(shù)值
?????
?????范圍是?-18、-15、-12、-9、-6?、-3、0、3、6、9、12、15、18?。0?表示以原值顯示,3?表示數(shù)值除以1000,也就是以?k?為單位顯示,6?就是以
?????
?????M?顯示,9?就是以?G?顯示。如果你給出1或者2,則?RRDtool?也可以接受,但會(huì)被“靜悄悄”的改為0。下面就是一個(gè)以原值(-X?0)顯示的例子



[?本帖最后由?ailms?于?2006-12-4?09:44?編輯?]


?ailms 回復(fù)于:2006-12-04 09:28:00

使用RRDtool?進(jìn)行繪圖_(三)
[color=blue]
**********************************************************************************************************************
注?:該教程參考了如下內(nèi)容?:
A)官方文檔?:http://oss.oetiker.ch/rrdtool/doc/index.en.html
B)abel?兄的大作?:http://bbs.chinaunix.net/viewthread.php?tid=552224&highlight=rrdtool
http://bbs.chinaunix.net/viewthread.php?tid=552220&highlight=rrdtool
作者?:ailms?<ailms{@}263{dot}net>
版本?:v1
最后修改?:2006/11/17?17:35
**********************************************************************************************************************
[/color]


[size=4]九、?其他(Miscellaneous)[/size]


[-n|--font?FONTTAG:size:[font]]
[-g|--no-legend]
[-b|--base?value]


A)-n?|?--font?是一個(gè)有意思的選項(xiàng)。CU?的?abel?兄曾提供了一個(gè)中文?patch?可以實(shí)現(xiàn)顯示中文的效果。但對(duì)于我這等對(duì)?C?一竅不通的家伙,就不知道怎么用了。

????不過幸好?–n?選項(xiàng)可以實(shí)現(xiàn)這個(gè)目的,只需要中文字體的文件就可以搞定了。

?????[color=blue]首先你要找出一個(gè)中文的字體文件[/color]。例如/usr/share/fonts/zh_CN/TrueType/gkai00mp.ttf?。你也可以把?Windows?上的?C:\Windows\Fonts?下面的中
?????
?????文字體拷貝到?Linux?上,例如home/bob/Fonts/simhei.ttf?(黑體)效果不錯(cuò),其他的則不太行,會(huì)出現(xiàn)模糊或者重疊的情況。建議就使用黑體算了。

?????[color=blue]其次是確定字體大小。[/color]中文字體不宜小于?7?,否則看不清楚

?????[color=blue]確定你要修改的是圖表的那個(gè)部分[/color]。有?DEFAULT(全部),TITLE?(標(biāo)題)、AXIS(坐標(biāo)軸字體)、UNIT(Y軸單位字體)、LEGEND(圖例字體)幾種。

下面就以實(shí)際的例子來說明如何顯示中文?:

實(shí)例1?:使用?–n?讓?RRDtool?顯示中文


[root@dns1?bob]#?rrdtool?graph?4.png?\
>?-n?TITLE:10:'/home/bob/Fonts/simhei.ttf'?\ #?修改標(biāo)題的字體為黑體
>?-n?AXIS:10:'/home/bob/Fonts/simhei.ttf'?\ #?修改?X?軸的字體為黑體
>?--start?now-240000?\ #?大于3天的數(shù)據(jù)
>?DEF:value1=eth0.rrd:eth0_in:AVERAGE?\
>?AREA:value1#00ff00:in?-t?"33小時(shí)前的?eth0?接口流量"?-v?"traffic"
>?-Y?–w?600 #?圖表寬度為?600?pixel
503x190
[root@dns1?bob]#


這就是最終的效果了,可以看到標(biāo)題和?X?軸都是中文的,但?Y?軸的字體還是默認(rèn)的字體。



B)-g?|--no-legend?用于取消圖表下方的圖例,不過不建議這么做。

C)-b|--base?value?在?MRTG?和?RRDtool?中,默認(rèn)?1k=1000?,使用?–b?可以進(jìn)行調(diào)整,例如?–b?1024

[size=4]十)數(shù)字報(bào)表[/size]

看看上面的圖表,是不是覺得還少了些什么呢?對(duì)了,就是只有圖,沒有文字說明。如何象?MRTG?那樣能夠顯示“最大值”、“平均值”、“當(dāng)前值”呢?

這就需要用到?GRPINT?和?COMMENT?語句了。
GPRINT?就是在圖表的下方(仍然屬于圖片的內(nèi)部)輸出最大值、最小值、平均值這些東東;COMMENT?就是用來輸出一些字符串,例如報(bào)表的表頭。

A)GPRINT的格式是GPRINT:vname:CF:format?。由于?format?部分太多參數(shù)了,我這里就用最常用的那個(gè)?:?%x.ylf?。

B)COMMENT?的格式是COMMENT:text?。要注意?COMMENT?默認(rèn)是不輸出換行的,如果要輸出換行,必須用?“\n”?。

下面就以一個(gè)實(shí)例來說明如何打印報(bào)表?:?繪制1小時(shí)前的流量圖,并打印數(shù)字報(bào)表(參照?abel?兄給出的例子)


[root@dns1?bob]#?rrdtool?graph?1.png?\
>?--start?now-1h?-w?600?-n?DEFAULT:8?\
>?DEF:value1=eth0.rrd:eth0_in:AVERAGE?\
>?DEF:value2=eth0.rrd:eth0_out:AVERAGE?\
>?COMMENT:"?\n"?\
>?COMMENT:"?????????當(dāng)前值--------------平均值--------------最大值--------------最小值--------------\n"? ???>?COMMENT:"?\n"?
>?AREA:value1#00FF00:"流入"?\
>?GPRINT:value1:LAST:'%13.2lf'??\
>?GPRINT:value1:AVERAGE:%13.2lf??\
>?GPRINT:value1:MAX:%13.2lf??\
>?GPRINT:value1:MIN:%13.2lf??\
>?COMMENT:"?\n"?\
>?LINE2:value2#ff0000:"流出":STACK?\ #?注意這里是?STACK?方式
>?GPRINT:value2:LAST:%13.2lf??\
>?GPRINT:value2:AVERAGE:%13.2lf??\
>?GPRINT:value2:MAX:%13.2lf??\
>?GPRINT:value2:MIN:%13.2lf??\
>?COMMENT:"?\n"?\
>?COMMENT:”?\n”?\
>?COMMENT:"LAST?UPDATED?\:$(date?'+%Y-%m-%d?%H\:%M')\n"?-Y
687x270
[root@dns1?bob]#




[color=red]注意比較?Y?軸刻度值和“流出”部分的值的關(guān)系,?Y?軸刻度值?—“流入”?=“流出”[/color]

由于時(shí)間精力有限,關(guān)于對(duì)齊方面的工作就大家自己試驗(yàn)吧.如果繪制的對(duì)象數(shù)量不是很多,可以用橫向報(bào)表,不要用這種垂直的格式,

[color=red]這種格式的好處是便于比較各個(gè)對(duì)象的值。不過我可以肯定,如何讓這些數(shù)字和上面的表頭對(duì)齊是一個(gè)會(huì)令你極度抓狂的工作的!!![/color]

上面的??COMMENT?一是輸出表頭,二是輸出空行。注意,要用?COMMENT?輸出空行,必須用?COMMENT:’?\n’?。

注意到?‘\’?前面的空格嗎?這個(gè)是不可以漏的,否則就不會(huì)有空行的效果了。

[size=4]十一)特殊功能[/size]


VRULE:time#color[:legend]
HRULE:value#color[:legend]
SHIFT:vname:offset


A)VRULE/HRULE?可以用于在圖表上面繪制垂直線/水平線。例如我們想要在圖表上面標(biāo)出最大值,可以用?HRULE?在?Y?軸的指定刻度值

????那里繪制一根水平線,例如?HRUE:100000#ff0000:”最大值”?在?100k?處畫一根水平線,并指出這是最大值。



SHIFT?可以用來移動(dòng)數(shù)據(jù),例如?abel?兄曾經(jīng)在?“[教學(xué)]中的教學(xué)(二)?RRDTOOL?1.2?更新項(xiàng)目”中提到過一個(gè)問題,

就是“xx同期相比”如何畫?下面就以如何比較3天的數(shù)據(jù)。

實(shí)例1?:繪制連續(xù)3天的數(shù)據(jù)


[root@dns1?bob]#?rrdtool?graph?1.png?\
>?DEF:value1=eth0.rrd:eth0_in:AVERAGE:end=now:start=now-1d?\ #?1天前
>?DEF:value2=eth0.rrd:eth0_in:AVERAGE:end=now-1d:start=now-2d?\ #?2天前
>?DEF:value3=eth0.rrd:eth0_in:AVERAGE:end=now-2d:start=now-3d?\ #?3天前
>?LINE1:value1#00ff00:"1?day?ago"?\
>?LINE1:value2#ff0000:"2?days?ago"?\
>?LINE1:value3#000000:"3?days?aog"?\
>?-Y
475x168
You?have?new?mail?in?/var/spool/mail/root
[root@dns1?bob]#





為什么只有1天前的數(shù)據(jù)呢?因?yàn)槲覀儧]有指定?–-start?,RRDtool?默認(rèn)只繪制1天前的數(shù)據(jù)。由于這里覆蓋了3天,

所以我們可以把?–-start?定義為?–-start?now-3d?就可以了。



現(xiàn)在是不是3天的數(shù)據(jù)都畫出來了呢?不過由于它們是橫向排列的,所以要比較同個(gè)時(shí)間段的并不容易,能否把它們

按“垂直”的方式排列呢?這就要用到?SHIFT?了!


[root@dns1?bob]#?rrdtool?graph?3.png?\
>?DEF:value1=eth0.rrd:eth0_in:AVERAGE:end=now:start=now-1d?\ #?1天前
>?DEF:value2=eth0.rrd:eth0_in:AVERAGE:end=now-1d:start=now-2d?\ #?2天前
>?DEF:value3=eth0.rrd:eth0_in:AVERAGE:end=now-2d:start=now-3d?\ #?3天前
>?LINE1:value1#00ff00:"1?day?ago"??\
>?SHIFT:value2:86400?LINE1:value2#ff0000:"2?days?ago"?\ #?把曲線向右移動(dòng)1天
>?SHIFT:value3:172800?LINE1:value3#000000:"3?days?ago"?\ #?把曲線向右移動(dòng)2天
>?-Y?–w?600
475x168




[root@dns1?bob]#




和上面的圖表比較,是否可以發(fā)現(xiàn)?X?軸不同了,不再是3天,而是1天多1點(diǎn)了。而且3根曲線重疊在一起了,可以看出在這三天中,

只有1天前的23點(diǎn)左右有一點(diǎn)流量之外,其余絕大部分都沒有流量。

這就是?SHIFT?的功能了,可以把曲線/方塊沿著?X?軸移動(dòng)(左右都可以),我們達(dá)到比較同期數(shù)據(jù)的目的。是不是很好用呢?

[size=4]十二)總結(jié)[/size]

這次的內(nèi)容可真夠多的,足足寫了19頁。不過工具性的東西就是這樣?:別看內(nèi)容?N多,你只要?jiǎng)邮之嫵?個(gè)圖之后,就會(huì)覺得一

切都很簡(jiǎn)單了。以后只要套用就可以了。關(guān)鍵是如何更好的把你想要的數(shù)據(jù)以合適的發(fā)給你是呈現(xiàn)出來。

上面這些內(nèi)容都是我通過實(shí)驗(yàn)得出的,由于具體的環(huán)境不同,可能會(huì)跟大家的不同,或者出現(xiàn)錯(cuò)誤。我希望大家不要客氣,有錯(cuò)誤

的地方就指正,有什么好的發(fā)現(xiàn)也提出來,一起完善?RRDtool?的文檔。這樣就可以讓越來越多的人了解、掌握?RRDtool?了?。???

?(^_^)!

[?本帖最后由?ailms?于?2006-12-4?09:45?編輯?]


?ailms 回復(fù)于:2006-12-04 09:45:55

RRDtool簡(jiǎn)體中文教程_9:如何使用RPN
如何使用RPN
?[color=blue]
**********************************************************************************************************************
注?:該教程參考了如下內(nèi)容?:
A)官方文檔?:http://oss.oetiker.ch/rrdtool/doc/index.en.html
B)abel?兄的大作?:http://bbs.chinaunix.net/viewthread.php?tid=552224&highlight=rrdtool
http://bbs.chinaunix.net/viewthread.php?tid=552220&highlight=rrdtool
作者?:ailms?<ailms{@}263{dot}net>
版本?:v1
最后修改?:2006/11/17?17:35
**********************************************************************************************************************
[/color]

[size=4]一)前言[/size]

RPN?代表逆波蘭式(Reverse?Polish?Notation)。逆波蘭式最早于1920年由Jan?Lukasiewicz?發(fā)明,最神奇的地方是用它來表示數(shù)學(xué)表達(dá)式,

完全不需要括號(hào)。而且?RPN?不像普通的數(shù)學(xué)表達(dá)式那樣,操作符在操作數(shù)的中間,而是在操作數(shù)的右邊。例如?3+2?用?RPN?表示就是?3,2,+?;

3+(2X5)?用?RPN?表示就是?3,2,5,x,+?最后運(yùn)算的部分(加法部分)的操作符放在最后,乘號(hào)放在前面,表示先執(zhí)行?2?x?5?,在把結(jié)果和3相加。

在?RRDtool?中,RPN?還可以用來表示?if-then-else?關(guān)系。這點(diǎn)在繪圖中很有用。例如你要看?eth0?接口在一天當(dāng)中流量?≥?10Mb/s?的部分,“隱藏”

其他低于?10Mb/s?的部分,則可以用到這個(gè)功能。

[size=4]二)操作符[/size]

什么是?RPN

A)RPN?是?Reverse?Polish?Notation?的縮寫,是用于表示算術(shù)運(yùn)算和邏輯運(yùn)算的一種語法格式。

B)RRDtool?的?CDEF?語句中就經(jīng)常使用?RPN?來對(duì)?DEF?取出來的數(shù)據(jù)進(jìn)行運(yùn)算。

C)RPN?的特點(diǎn)是操作數(shù)和操作符出現(xiàn)的順序和運(yùn)算的順序一致,這樣就不需要使用括號(hào)了

D)RPN?的格式是?<value1>,<value2>,<operator>?,[<value1>,<value2>,<operator>]…?可以看出是操作數(shù)在前,操作符在后的格式

E)RPN?需要提到堆棧的概念(stack)。堆棧是用來存儲(chǔ)操作數(shù)和操作符的。

F)當(dāng)堆棧中壓入(push)一個(gè)操作符時(shí),就從堆棧中取出(pop)所需要的操作數(shù)進(jìn)行計(jì)算(根據(jù)操作的不同pop出不同數(shù)量的操作數(shù))。
??
?????結(jié)果再返回(push)堆棧,最終整個(gè)?RPN?應(yīng)該只返回一個(gè)值,或者說堆棧中只有一個(gè)元素

G)在?CDEF?中書寫?RPN?操作符,要一律以大寫的格式出現(xiàn)

H)?RPN?中,如果某個(gè)部分的運(yùn)算結(jié)果非?0,則被認(rèn)為是?true?,只有?0?才被認(rèn)為是?false?

[size=4]三)RPN?操作符的分類[/size]

A)布爾操作符?:GT、GE、LT、LE、EQ、NE、

B)特殊值比較符?:UN、ISINF、

C)條件操作符?:IF

D)比較操作符?:MIN、MAX、LIMIT

E)算術(shù)操作符?:+?、-、*、/、%、SIN,?COS,?LOG,?EXP,?SQRT、FLOOR,?CEIL、ATAN、ATAN2、DEG2RAD,?RAD2DEG

F)數(shù)據(jù)集操作符?:所謂數(shù)據(jù)集(sets),就是指多個(gè)數(shù)據(jù)。SORT、REV、AVG、TREND

G)特殊值?:UNKN、INF、NEINF、PREV、COUNT

H)時(shí)間操作符?:NOW、TIME、LTIME

I)堆棧操作符?:POP、DUP、EXC

四)RPN?操作的結(jié)果

A)布爾操作符?:從堆棧中?pop?出兩個(gè)元素,并根據(jù)比較結(jié)果返回?0?(false)?或者?1?。任何同?UNKNOWN?或者?INF?、NEINF?比較的都為?0

B)特殊值比較符?:從堆棧中?pop?出1個(gè)元素,并同?UNKNOWN?或者?INF、NEINF?比較。結(jié)果為?0?或者?1

C)條件操作符?:從堆棧中pop出3個(gè)元素,如果最后pop出的那個(gè)元素不為0(條件部分為?true),則第2次?pop?出的那個(gè)元素被重新入棧(then部分);

?????否則第一次pop出的元素重新入棧(else部分)。結(jié)果為?then?部分或者?else?部分返回的值,不一定為0或者1

D)比較操作符?:

?????對(duì)于?MIN/MAX?操作符來說,從堆棧中?pop?出兩個(gè)操作符,并把較大/小的那個(gè)重新入棧。如果其中有一個(gè)?unknown?,則結(jié)果為?unknonw

?????對(duì)于?LIMIT?操作符來說,先從堆棧中?pop?出2個(gè)操作數(shù),作為邊界的定義;再?pop?出1個(gè)操作數(shù),比較該操作數(shù)是否落在前面定義的范圍內(nèi)。
?????
?????如果是則把最后?pop?出的那個(gè)元素重新入棧;否則把?UNKN?值入棧;注意,是?UNKN?,不是?0

E)算術(shù)操作符?:根據(jù)操作符?pop?出所需數(shù)量的操作數(shù),并把算術(shù)運(yùn)算的結(jié)果重新入棧

F)數(shù)據(jù)集操作符?:

????對(duì)于?SORT、REV?來說,先從堆棧中?POP?出一個(gè)元素,該元素的值就是下面要?pop?出的元素的數(shù)量。然后對(duì)堆棧從上到下的若干個(gè)元素
????
???由第一次?pop?的出的那個(gè)元素的值決定)進(jìn)行排序/反向排序。結(jié)果再重新入棧。

???注意?:由于堆棧的特點(diǎn)是后進(jìn)先出,所以要操作的元素是從SORT操作符往左方向計(jì)數(shù)。例如v1,v2,v3,v4,3,SORT是對(duì)?v2~v4?排序,
???
????????????不是對(duì)?v1~v3?排序。??這點(diǎn)在書寫?RPN?時(shí)要特別注意。

???注意?:SORT?操作是最小值在堆棧的最頂部;REV?則相反,最小值是在堆棧的最頂部。

???對(duì)于?AVG?操作來說,同樣是先?pop?出1個(gè)元素,并按照指定的數(shù)量對(duì)后續(xù)的若干個(gè)操作數(shù)進(jìn)行操作,但結(jié)果只有一個(gè)數(shù)值,并入棧。


G)特殊值?:

????UNKN?表示壓入一個(gè)?UNKN?值;INF、NEINF?分別表示把?INF、NEINF?值壓入堆棧

H)時(shí)間操作符?:

???TIME?返回當(dāng)前所提取的記錄的?timestamp?,注意?TIME?直接返回當(dāng)前記錄的?timestamp?,不用任何參數(shù)

???NOW?返回當(dāng)前時(shí)間,同樣?NOW?不用任何參數(shù)

I)堆棧操作符?:

???POP?:彈出堆棧的最頂部的那個(gè)元素

??EXC?:交換堆棧頂部的第一個(gè)和第二個(gè)元素的值

[size=4]五)如何閱讀?RPN[/size]

A)首先按照從左到右的順序,找出第一個(gè)?RPN?操作符,并根據(jù)上一節(jié)的內(nèi)容,對(duì)相應(yīng)的操作數(shù)進(jìn)行操作

B)操作結(jié)果分成兩種?:

如果是一個(gè)值,直接替換掉該部分?RPN?

如果是多個(gè)值(數(shù)據(jù)集操作,但?AVG?操作只返回一個(gè)值),則結(jié)果可能為多個(gè)數(shù)值。則把這若干個(gè)數(shù)值用?‘,’?隔開,替換原來那部分?RPN?

C)如此循環(huán),一直到整個(gè)?RPN?只返回一個(gè)值為止

[size=4]六、RPN?實(shí)例[/size]

A)布爾型操作符?:2,1,GE?表示?2>=1?;

B)特殊值比較符?:mydata,UN?表示?mydata?==?UNKNOWN?

C)條件操作符?:mydata,UN,0,mydata,IF?表示如果?mydata?等于?UNKNOWN?,則返回?0;否則還是返回?mydata?本身

D)比較操作符?:mydata,20,MAX?表示返回?mydata,20?這兩個(gè)數(shù)值中較大的一個(gè);alpha,0,100,LIMIT?表示測(cè)試?alpha?的值是否小于等于0,大于等于100;

E)算術(shù)操作符?:1,2,-?表示?1-2=-1

F)數(shù)據(jù)集操作符?:

????v1,v2,v3,v4,v5,4,SORT?表示對(duì)?v1~v4?進(jìn)行正向排序,結(jié)果堆棧中還是有5個(gè)元素;

????v1,v2,v3,v4,3,AVG,+,2,/?表示對(duì)?v4,v3,v2?進(jìn)行求平均值,并把結(jié)果入棧。假設(shè)v2~v4的結(jié)果為?k?,則為?v1,k,+,2,/?也就是返回?(v1+k)/2

G)特殊值?:mydata,0,GT,UNKN,mydata,IF?表示如果?mydata?大于?0則返回?UNKNOWN?,否則還是?mydata?

H)時(shí)間操作符?:?TIME,`date?–d?“2006-10-01?10:00”?+%s`,GT,0,1,IF?表示如果當(dāng)前記錄的采集時(shí)間是在?2006-10-01?10:00?之后就返回1,否則返回?0

I)堆棧操作符?:POP?就立即彈出第一個(gè)元素
?

[size=4]七)如何表示?AND、OR?關(guān)系[/size]

A)我們知道?RPN?表達(dá)式的值除非0,否則都認(rèn)為是?true

B)我們可以利用?加法操作和乘法操作來實(shí)現(xiàn)?OR?和?AND?的邏輯關(guān)系;如果兩個(gè)?RPN?表達(dá)式的值相加不等于0,就一定為?true?;

?????如果兩個(gè)?RPN?表達(dá)式的值相乘不等于0,就一定為?true

C)AND?關(guān)系的例子?:例如要比較某個(gè)值(15,9)是否在特定范圍內(nèi)可以用?:

????15,10,GT,15,20,LT,*?,結(jié)果就是(15>10)*(15?<?20)=?1?*?1?=1?,所以為?true

?????9,10,GT,9,20,LT,*?,結(jié)果就是?(9?>10)*?(?9?<?20)=?0?*?1?=0?,所以為?false

D)OR?關(guān)系的例子:同上例如要比較某個(gè)值(7,15)小于10,或者大于20:

?????7,10,LT,7,20,GT,+?,結(jié)果為?(7?<?10)+?(7?>?20)?=?1+0?=?1,所以為?true

?????15,10,LT,15,20,GT,+?,結(jié)果為?(?15?<?10)?+?(?15?>?20)?=?0?+?0?=0?,所以為?false

E)不過使用?+?需要注意一個(gè)地方?:相加的雙方都必須是正數(shù),否則可能出現(xiàn)問題,例如一個(gè)正數(shù)(-5,true)和另外一個(gè)正數(shù)(5,true)相加為?0(false)

如果是按照?OR?的關(guān)系,應(yīng)該是?true?的,但結(jié)果變成0(false),所以在使用?+?來表示?OR?的關(guān)系時(shí),要注意該問題

F)使用?*?則沒有該問題了,正數(shù)?*?負(fù)數(shù)?=?負(fù)數(shù)?(true)。所以如果遇到?OR?關(guān)系的時(shí)候,可以轉(zhuǎn)換為?AND?關(guān)系來計(jì)算。

?????例如要表達(dá)?(x?<?a)?OR?(?x?>?b)?的關(guān)系,可以改為?(x?>a)?AND?(?x?<?b?)?,訣竅就是把比較操作符調(diào)反方向,把?+?改為?*

[size=4]八)實(shí)例[/size]

實(shí)例1:例如要看?eth0的總流量,可以用如下的定義


DEF:value1=eth0.rrd:eth0_in:AVERAGE?\
DEF:value2=eth0.rrd:eth0_out:AVERAGE?\
CDEF:value3=value1,value2,+?\
AREA:value3#ff0000:”total”


實(shí)例2?:假設(shè)我們要把?eth0?和?lo?的流入流量相加,得出總的流入流量


DEF:value1=eth0.rrd:eth0_in:AVERAGE?\
DEF:value2=lo.rrd:lo_out:AVERAGE?\
CDEF:value3=value2,UN,0,value2,IF?\
CDEF:value4=value1,value3,+?\
AREA:value4#00ff00:”total?in”

由于?lo.rrd?一直沒有數(shù)據(jù)插入,所以一直都是?NaN?,如果直接把?value1?和?value2?相加,由于?value2?是?UNKNOWN,

所以相加的結(jié)果也是?UNKNOWN?。圖表上將什么都不顯示,所以需要對(duì)?value2?進(jìn)行判斷,如果?value2?的值?UNKNOWN (value2,UN),

則返回0,否則返回?value2?本身。然后把這個(gè)值賦予變量?value3?,最后把?value1?和?value3?相加,才得出真正入流量
?
實(shí)例3?:只看?eth0?中流量大于?10Mb/s?的部分,其余不看


DEF:value1=eth0.rrd:eth0_in:AVERAGE?\
DEF:value2=eth0.rrd:eth0-_out:AVERAGE?\
CDEF:value3=value1,1000000,GT,value1,UNKN,IF?\
CDEF:value4=value2,1000000,GT,value2,UNKN,IF?\
AREA:value3#00ff00:”traffic_in?\>?10M\/s”?\
AREA:value4#ff0000:”traffic_out?\>?10Mb\/s”:STACK



實(shí)例4?:只繪制特定時(shí)間段(在?2006/11/29?10:30?~?2006/11/29?12:30)的數(shù)據(jù)


DEF:value1=eth0.rrd:eth0_in:AVERAGE?\
DEF:value2=eth0.rrd:eth0_out:AVERAGE?\
CDEF:value3=TIME,$(date?–d?‘2006-11-29?10:30’?+%s),GT,TIME,$(date?–d?'2006-11-29?12:30'?+%s),LT,*,value1,UNKN,IF?\
CDEF:value4=TIME,$(date?–d?‘2006-11-29?12:30’?+%s),GT,TIME,$(date?–d?'2006-11-29?13:30'?+%s),LT,*,value2,UNKN,IF?\
AREA:value3#00ff00:”traffic_in”?\
AREA:value4#ff0000:”traffic_out”:STACK



[size=4]九、完結(jié)[/size]

?相信到目前為止,大家對(duì)?RRDtool?的認(rèn)識(shí)應(yīng)該更深了吧。一定要多做實(shí)驗(yàn),這樣才能做到熟能生巧,靈活應(yīng)用。
?
?其實(shí)剩下的還有?xport、dump、restore、resize、tune、rrdcgi?幾個(gè)操作沒講,而且有一些應(yīng)用經(jīng)驗(yàn)方面的東西也沒有提到,
?
?不過想要全部寫出來,可能太耗時(shí)間和精力了,這些東西足足寫了我2個(gè)星期才寫完。中間還要不斷的做實(shí)驗(yàn)以驗(yàn)證正確性,怕誤導(dǎo)了大家。
?
?如果需要的話,可以自己下載官方文檔學(xué)習(xí),或者能有熱心的朋友補(bǔ)充就更好了,^_^?。
?
[size=4]十、?本人的一點(diǎn)學(xué)習(xí)體會(huì)[/size]

??本人從開始看?RRDtool?官方文檔到開始寫這篇教程,差不多用了2個(gè)月。?RRDtool?比學(xué)習(xí)?MRTG?難多了,資料少,RRDtool?的中文資料目前就只有?abel?

兄寫的那一篇教程,如果沒有實(shí)際的上機(jī)操作,是不可能看懂的,所以?abel?兄也特別交代這點(diǎn)。如果只一心想速成,到頭來反而吃虧的是自己。

???象sendmail、bind?這些服務(wù)器的配置,隨便在?google?上都可以搜到一大把所謂的“快速入門”,很多人也都照著做了。但明明別人可以的,為什么輪到自己
???
卻失敗呢?相信這是很多人心中曾有的郁悶經(jīng)歷。其實(shí)歸根到底就是基礎(chǔ)的問題,再深入一些就是學(xué)習(xí)心態(tài)的問題。“不積跬步,無以至千里;不積小流,無以成江海”。

配置一個(gè)服務(wù)器并不是照抄配置就可以的。環(huán)境的不同,需求的不同這些因素都要考慮在內(nèi)。怎么可能做到完全一樣呢?同一個(gè)語句換個(gè)環(huán)境可能就不行了。所以我很

少看那些所謂的快速入門,要么看?manual?,要么看書(說到這里,感覺?O’Reilly?的書真是不錯(cuò)!^_^),如果是象?RRDtool這種的,就只好看官方文檔了。
???
??學(xué)習(xí)的同時(shí)也要注意選擇好的教材。有時(shí)候一本好書能帶給無窮的好處。這點(diǎn)在我第一次看?O’Reilly?的?《dns?&?bind?4th》就有感覺,老外的書很注重循序漸進(jìn),
??
通常他們都是從某個(gè)實(shí)際工作環(huán)境的一個(gè)小例子說起,逐步引入各個(gè)命令、配置語句。然后隨著需求的壯大,不斷引入新的內(nèi)容,最后形成一個(gè)總體。這樣看完后會(huì)心中會(huì)

有一個(gè)整體的框架和概念。不象國(guó)內(nèi)一些書,毫不顧及條理,一上來就講語法、命令,搞得讀者很快都沒有興趣。這樣的書可謂害人不淺。

???同時(shí)也建議大家讀英文原版的書。為什么呢?雖然中文的看起來快一些,但學(xué)習(xí)不是競(jìng)走比賽。不是比誰看的快,而是比誰學(xué)的牢。英文書的詞匯其實(shí)都是專業(yè)詞匯,

只要看多了,自然記住了。實(shí)在記不住,可以用金山詞霸等工具輔助。俺的英文水平只有二級(jí),但并不妨礙我看書。況且看英文書,有一個(gè)“英文→中文”的轉(zhuǎn)換的過程。就

是揣摩作者這句話的含義,或者說這句話應(yīng)該如何翻譯好。有些人覺得這個(gè)沒有什么,但我覺得這個(gè)過程是你弄清作者思想的重要步驟。在你不斷的揣摩中,可能會(huì)有不同

的理解,直到你認(rèn)為這是最正確的那一種解釋為止。如果是看中文書,可能會(huì)由于惰性,比較容易就接受作者的想法,而失去這個(gè)主動(dòng)我思考的過程。

??一時(shí)有感而發(fā),胡亂寫了一通,請(qǐng)各位朋友見諒了。

??書山有路勤為徑,學(xué)海無涯苦做舟!

???愿以該座右銘和各位有志于Linux的朋友一起共勉!

??2006/12/2?22:23
?

轉(zhuǎn)載于:https://www.cnblogs.com/xalex/archive/2008/12/05/1348050.html

總結(jié)

以上是生活随笔為你收集整理的RRDTool学习资料备忘的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

青春草在线视频免费观看 | 国产区女主播在线观看 | 欧美freesex黑人又粗又大 | 永久免费观看国产裸体美女 | 国产真实夫妇视频 | 欧美日韩亚洲国产精品 | 国产成人精品一区二区在线小狼 | 日本精品高清一区二区 | 国产超碰人人爽人人做人人添 | 少妇人妻av毛片在线看 | 性做久久久久久久免费看 | 亚洲精品一区三区三区在线观看 | 国产精品内射视频免费 | 人人妻人人澡人人爽欧美一区九九 | 久久五月精品中文字幕 | 日本熟妇乱子伦xxxx | 天干天干啦夜天干天2017 | 久久精品国产99精品亚洲 | 夜精品a片一区二区三区无码白浆 | 欧洲熟妇精品视频 | 久久久久99精品成人片 | 亚洲国产综合无码一区 | 色一情一乱一伦一视频免费看 | 98国产精品综合一区二区三区 | 无码av最新清无码专区吞精 | 夜夜高潮次次欢爽av女 | 一二三四在线观看免费视频 | 国产午夜福利100集发布 | aⅴ在线视频男人的天堂 | 国产精品久久久久9999小说 | 奇米影视7777久久精品 | 亚洲一区二区三区四区 | 亚洲国产精华液网站w | 九九久久精品国产免费看小说 | 国产精品久久久久久久影院 | 天天av天天av天天透 | 一本色道婷婷久久欧美 | 国产无套内射久久久国产 | 亚洲一区二区三区含羞草 | 亚洲精品中文字幕乱码 | 国产乱人无码伦av在线a | 亚洲熟悉妇女xxx妇女av | 激情内射日本一区二区三区 | 中文字幕无码免费久久9一区9 | 亚洲综合伊人久久大杳蕉 | 午夜无码人妻av大片色欲 | 国产另类ts人妖一区二区 | 欧美怡红院免费全部视频 | 97久久精品无码一区二区 | 无套内射视频囯产 | 中文字幕无线码免费人妻 | 中文无码精品a∨在线观看不卡 | 亚洲日韩一区二区三区 | 在线a亚洲视频播放在线观看 | 99久久久无码国产aaa精品 | 欧美一区二区三区视频在线观看 | 女高中生第一次破苞av | 香港三级日本三级妇三级 | 国产电影无码午夜在线播放 | 日韩av无码一区二区三区 | 丰满少妇熟乱xxxxx视频 | 少妇高潮一区二区三区99 | 欧美老熟妇乱xxxxx | 亚洲国产精品一区二区第一页 | 国产在线aaa片一区二区99 | 男人扒开女人内裤强吻桶进去 | 亚洲春色在线视频 | 99久久人妻精品免费二区 | 一区二区三区乱码在线 | 欧洲 | 亚洲国产成人av在线观看 | 久久综合给久久狠狠97色 | 欧美精品一区二区精品久久 | 国产高潮视频在线观看 | 亚洲国产av美女网站 | 国产另类ts人妖一区二区 | 中文字幕中文有码在线 | 又大又硬又黄的免费视频 | 色狠狠av一区二区三区 | 东京一本一道一二三区 | 撕开奶罩揉吮奶头视频 | 青草视频在线播放 | 成在人线av无码免观看麻豆 | 久久久久av无码免费网 | 麻豆蜜桃av蜜臀av色欲av | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 亚洲一区二区三区香蕉 | 黑人粗大猛烈进出高潮视频 | v一区无码内射国产 | 成在人线av无码免观看麻豆 | 亚洲精品欧美二区三区中文字幕 | 亚洲综合久久一区二区 | 国产成人精品必看 | 国产无遮挡又黄又爽免费视频 | 亚洲精品成人av在线 | 亚洲色无码一区二区三区 | 国产亚洲视频中文字幕97精品 | 少妇人妻av毛片在线看 | 午夜无码人妻av大片色欲 | 欧洲vodafone精品性 | 久久精品人人做人人综合试看 | 精品久久久久久人妻无码中文字幕 | 日韩精品乱码av一区二区 | 青青久在线视频免费观看 | 永久免费观看美女裸体的网站 | 性欧美熟妇videofreesex | 午夜肉伦伦影院 | 波多野结衣av一区二区全免费观看 | 亚洲另类伦春色综合小说 | 国产 精品 自在自线 | 老司机亚洲精品影院无码 | 久久精品成人欧美大片 | 亚洲精品中文字幕久久久久 | 300部国产真实乱 | 欧美xxxx黑人又粗又长 | 99久久婷婷国产综合精品青草免费 | 国产亚洲视频中文字幕97精品 | 夜夜躁日日躁狠狠久久av | 成人无码视频在线观看网站 | 亚洲 另类 在线 欧美 制服 | 亚洲精品一区二区三区婷婷月 | 熟妇人妻无乱码中文字幕 | 国语精品一区二区三区 | 亚洲国产综合无码一区 | 亚洲毛片av日韩av无码 | 欧美猛少妇色xxxxx | 亚洲の无码国产の无码步美 | 久久无码专区国产精品s | 国产精品毛片一区二区 | 国产精品第一区揄拍无码 | 国产精品第一区揄拍无码 | 欧美黑人巨大xxxxx | 精品水蜜桃久久久久久久 | 国产精品99爱免费视频 | 欧美人与物videos另类 | 日本大香伊一区二区三区 | 中文字幕日产无线码一区 | 爽爽影院免费观看 | 亚洲色www成人永久网址 | 久久久久久av无码免费看大片 | 丝袜人妻一区二区三区 | 日韩人妻无码中文字幕视频 | 欧美激情综合亚洲一二区 | 国产乱人偷精品人妻a片 | 色妞www精品免费视频 | 中文字幕乱码中文乱码51精品 | 国产人妻人伦精品 | 无套内射视频囯产 | 亚洲一区二区三区偷拍女厕 | 精品aⅴ一区二区三区 | 久久天天躁狠狠躁夜夜免费观看 | 永久免费观看国产裸体美女 | 99久久婷婷国产综合精品青草免费 | 国产黑色丝袜在线播放 | 久久无码人妻影院 | 久久精品国产亚洲精品 | 午夜无码人妻av大片色欲 | 一本久道久久综合狠狠爱 | 精品夜夜澡人妻无码av蜜桃 | 老司机亚洲精品影院无码 | 麻豆精产国品 | 国产成人无码av在线影院 | 无码国产色欲xxxxx视频 | 初尝人妻少妇中文字幕 | 捆绑白丝粉色jk震动捧喷白浆 | 国产人成高清在线视频99最全资源 | 男人的天堂2018无码 | 西西人体www44rt大胆高清 | 国产三级精品三级男人的天堂 | 大色综合色综合网站 | 未满小14洗澡无码视频网站 | 2019nv天堂香蕉在线观看 | 国产人妻精品一区二区三区不卡 | 麻豆果冻传媒2021精品传媒一区下载 | 中文字幕中文有码在线 | 在教室伦流澡到高潮hnp视频 | 熟妇人妻无码xxx视频 | 国产精品视频免费播放 | 中文字幕无码日韩专区 | 亚洲成a人片在线观看无码3d | 无遮无挡爽爽免费视频 | 亚洲の无码国产の无码影院 | 2020久久超碰国产精品最新 | 国产精品久久久久无码av色戒 | 国产成人久久精品流白浆 | 99久久久无码国产精品免费 | 亚洲一区二区三区 | 又大又紧又粉嫩18p少妇 | 狠狠噜狠狠狠狠丁香五月 | 欧美日韩色另类综合 | 久久99精品国产.久久久久 | 免费观看激色视频网站 | 日韩欧美中文字幕公布 | 国产特级毛片aaaaaaa高清 | 亚洲日韩一区二区三区 | а√资源新版在线天堂 | 97se亚洲精品一区 | 精品国产精品久久一区免费式 | 亚洲欧洲日本综合aⅴ在线 | 免费人成在线观看网站 | 国产区女主播在线观看 | 理论片87福利理论电影 | 婷婷色婷婷开心五月四房播播 | 性色欲情网站iwww九文堂 | 亚洲精品无码人妻无码 | 亚洲精品一区二区三区婷婷月 | 国产精品无码永久免费888 | 少妇厨房愉情理9仑片视频 | 国产成人综合在线女婷五月99播放 | 亚洲人成网站在线播放942 | 四虎影视成人永久免费观看视频 | 欧美xxxxx精品 | 精品 日韩 国产 欧美 视频 | 欧美午夜特黄aaaaaa片 | 成人综合网亚洲伊人 | 乱码午夜-极国产极内射 | 人人妻在人人 | 一本大道伊人av久久综合 | 日本一区二区三区免费高清 | 中文字幕无码人妻少妇免费 | 一区二区三区高清视频一 | 色婷婷香蕉在线一区二区 | 一本加勒比波多野结衣 | 午夜精品一区二区三区在线观看 | 亚洲天堂2017无码中文 | 欧美真人作爱免费视频 | 亚洲区小说区激情区图片区 | 国产成人无码午夜视频在线观看 | 色偷偷av老熟女 久久精品人妻少妇一区二区三区 | 精品人妻人人做人人爽夜夜爽 | 无码av最新清无码专区吞精 | 97精品人妻一区二区三区香蕉 | 日本熟妇人妻xxxxx人hd | 色综合久久久无码中文字幕 | 麻豆国产97在线 | 欧洲 | 亚洲色偷偷偷综合网 | 午夜精品一区二区三区在线观看 | 色五月五月丁香亚洲综合网 | 午夜肉伦伦影院 | 波多野42部无码喷潮在线 | 国产 精品 自在自线 | 国产偷国产偷精品高清尤物 | 亚洲高清偷拍一区二区三区 | 少妇人妻av毛片在线看 | 人妻有码中文字幕在线 | 又紧又大又爽精品一区二区 | 国产亚洲美女精品久久久2020 | 欧美午夜特黄aaaaaa片 | 国产人妻久久精品二区三区老狼 | 日韩亚洲欧美中文高清在线 | 人妻夜夜爽天天爽三区 | 欧美国产日韩久久mv | 精品久久久中文字幕人妻 | 精品久久久无码人妻字幂 | 久久99精品国产.久久久久 | 奇米影视7777久久精品人人爽 | 自拍偷自拍亚洲精品10p | 国产无av码在线观看 | 精品国偷自产在线 | 欧美丰满老熟妇xxxxx性 | 一本加勒比波多野结衣 | 欧美黑人巨大xxxxx | 亚洲精品综合一区二区三区在线 | 人人超人人超碰超国产 | 欧美喷潮久久久xxxxx | 亚洲爆乳无码专区 | 扒开双腿吃奶呻吟做受视频 | 黑人巨大精品欧美黑寡妇 | 男女性色大片免费网站 | 国产亚av手机在线观看 | 亚洲啪av永久无码精品放毛片 | 自拍偷自拍亚洲精品被多人伦好爽 | 久久www免费人成人片 | 亚洲精品无码国产 | 动漫av一区二区在线观看 | 在线 国产 欧美 亚洲 天堂 | 欧美性猛交内射兽交老熟妇 | 性欧美疯狂xxxxbbbb | 日本高清一区免费中文视频 | 日本大香伊一区二区三区 | 亚洲色欲久久久综合网东京热 | 无码帝国www无码专区色综合 | 日韩欧美中文字幕在线三区 | 网友自拍区视频精品 | 国产精品久久久久影院嫩草 | 天堂久久天堂av色综合 | 东京一本一道一二三区 | 久久精品国产99精品亚洲 | 久久久久成人精品免费播放动漫 | 一本大道久久东京热无码av | 色婷婷香蕉在线一区二区 | 欧美精品一区二区精品久久 | 国产香蕉尹人综合在线观看 | 亚洲一区二区三区国产精华液 | 亚洲人成网站在线播放942 | 激情亚洲一区国产精品 | 国产美女极度色诱视频www | 波多野结衣aⅴ在线 | 免费乱码人妻系列无码专区 | 中文毛片无遮挡高清免费 | 国产国产精品人在线视 | 国内揄拍国内精品人妻 | 色综合久久久无码中文字幕 | 暴力强奷在线播放无码 | 岛国片人妻三上悠亚 | 少妇被粗大的猛进出69影院 | 国内精品人妻无码久久久影院蜜桃 | 日韩视频 中文字幕 视频一区 | 少妇高潮喷潮久久久影院 | 久久久精品成人免费观看 | 亚洲日韩精品欧美一区二区 | 欧美野外疯狂做受xxxx高潮 | 任你躁国产自任一区二区三区 | 奇米影视888欧美在线观看 | 久久午夜无码鲁丝片秋霞 | 午夜精品一区二区三区的区别 | 亚洲精品国偷拍自产在线观看蜜桃 | 波多野结衣 黑人 | 内射巨臀欧美在线视频 | 婷婷丁香五月天综合东京热 | 中文亚洲成a人片在线观看 | 亚洲熟悉妇女xxx妇女av | 在线а√天堂中文官网 | 精品一区二区不卡无码av | 久久国产自偷自偷免费一区调 | 性欧美牲交在线视频 | 一本大道久久东京热无码av | 久久久精品欧美一区二区免费 | 精品无码一区二区三区爱欲 | 国产精品丝袜黑色高跟鞋 | 成熟人妻av无码专区 | 一本色道久久综合亚洲精品不卡 | 窝窝午夜理论片影院 | 色综合视频一区二区三区 | 精品亚洲成av人在线观看 | 国产9 9在线 | 中文 | 丁香花在线影院观看在线播放 | 日本熟妇大屁股人妻 | 亚洲一区二区三区香蕉 | 丰腴饱满的极品熟妇 | 国产成人无码av在线影院 | 亚洲成av人片在线观看无码不卡 | 成人影院yy111111在线观看 | 亚洲一区二区三区播放 | 强辱丰满人妻hd中文字幕 | 红桃av一区二区三区在线无码av | 免费无码肉片在线观看 | 久久精品视频在线看15 | 2019nv天堂香蕉在线观看 | 久久久婷婷五月亚洲97号色 | 永久免费精品精品永久-夜色 | 无码人妻久久一区二区三区不卡 | 少妇性l交大片 | 精品国产青草久久久久福利 | 国产午夜福利100集发布 | 亚洲va欧美va天堂v国产综合 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 人妻夜夜爽天天爽三区 | 蜜桃av抽搐高潮一区二区 | 好男人社区资源 | 久久www免费人成人片 | 日韩精品成人一区二区三区 | 色欲人妻aaaaaaa无码 | 亚洲成色在线综合网站 | 天堂久久天堂av色综合 | 99精品无人区乱码1区2区3区 | 亚洲一区二区三区国产精华液 | 欧美黑人乱大交 | 3d动漫精品啪啪一区二区中 | 国产欧美亚洲精品a | 女人色极品影院 | 任你躁国产自任一区二区三区 | 亚洲综合精品香蕉久久网 | 国产精品亚洲综合色区韩国 | 中文字幕无码日韩专区 | 久精品国产欧美亚洲色aⅴ大片 | 亚洲国产av美女网站 | 在线成人www免费观看视频 | 国产午夜亚洲精品不卡下载 | 国产片av国语在线观看 | 国内揄拍国内精品少妇国语 | 影音先锋中文字幕无码 | 国内丰满熟女出轨videos | 高潮毛片无遮挡高清免费 | 亚洲日韩乱码中文无码蜜桃臀网站 | 婷婷六月久久综合丁香 | 激情内射日本一区二区三区 | 国产一精品一av一免费 | 久久zyz资源站无码中文动漫 | 亚洲a无码综合a国产av中文 | 天天摸天天碰天天添 | 精品人妻人人做人人爽 | 日本精品少妇一区二区三区 | 帮老师解开蕾丝奶罩吸乳网站 | 狠狠躁日日躁夜夜躁2020 | 亚洲国产日韩a在线播放 | 免费无码一区二区三区蜜桃大 | 色一情一乱一伦一视频免费看 | 国产无遮挡又黄又爽免费视频 | 成人试看120秒体验区 | 欧美熟妇另类久久久久久不卡 | 98国产精品综合一区二区三区 | 曰本女人与公拘交酡免费视频 | 国产国语老龄妇女a片 | 国产69精品久久久久app下载 | 黑人玩弄人妻中文在线 | 国产精品国产自线拍免费软件 | 波多野结衣乳巨码无在线观看 | 免费男性肉肉影院 | 国产亚洲精品久久久久久久久动漫 | 国产激情精品一区二区三区 | 国产香蕉97碰碰久久人人 | 亚洲理论电影在线观看 | 国产69精品久久久久app下载 | 在线欧美精品一区二区三区 | 亚洲 高清 成人 动漫 | 狠狠综合久久久久综合网 | 国产另类ts人妖一区二区 | 黑人巨大精品欧美黑寡妇 | 人妻aⅴ无码一区二区三区 | 超碰97人人做人人爱少妇 | 国产av无码专区亚洲a∨毛片 | 福利一区二区三区视频在线观看 | 成人无码精品一区二区三区 | 99久久精品午夜一区二区 | 亚洲中文字幕在线观看 | 欧美真人作爱免费视频 | 欧美zoozzooz性欧美 | 丰满人妻精品国产99aⅴ | 伊人久久大香线蕉亚洲 | √8天堂资源地址中文在线 | 亚洲日韩中文字幕在线播放 | 亚洲va欧美va天堂v国产综合 | 日本xxxx色视频在线观看免费 | 久久无码中文字幕免费影院蜜桃 | 久久久精品成人免费观看 | 伊在人天堂亚洲香蕉精品区 | 日韩精品一区二区av在线 | 国产精品久久久久久久9999 | 性欧美videos高清精品 | 久久综合九色综合欧美狠狠 | 国产无遮挡又黄又爽免费视频 | 性做久久久久久久免费看 | 国产精品欧美成人 | 日韩精品无码免费一区二区三区 | 久久99久久99精品中文字幕 | 中文无码精品a∨在线观看不卡 | 亚洲国产欧美日韩精品一区二区三区 | 成人精品视频一区二区 | 中文字幕无码日韩欧毛 | 久久 国产 尿 小便 嘘嘘 | 国产乱人伦av在线无码 | 双乳奶水饱满少妇呻吟 | 波多野结衣av一区二区全免费观看 | 国产精品久久国产精品99 | 成 人 免费观看网站 | 国产在线无码精品电影网 | 亚洲午夜福利在线观看 | 国产精品-区区久久久狼 | 亚洲 日韩 欧美 成人 在线观看 | 成人一在线视频日韩国产 | 国内少妇偷人精品视频免费 | 亚洲欧洲日本无在线码 | 在线欧美精品一区二区三区 | 日韩av无码中文无码电影 | 99久久久无码国产精品免费 | 婷婷色婷婷开心五月四房播播 | 亚洲 日韩 欧美 成人 在线观看 | 日韩欧美中文字幕在线三区 | 人人爽人人爽人人片av亚洲 | 亚洲性无码av中文字幕 | 中文字幕av日韩精品一区二区 | 香蕉久久久久久av成人 | 欧美精品国产综合久久 | 久久国产36精品色熟妇 | 欧美一区二区三区 | 麻豆国产人妻欲求不满 | 老子影院午夜伦不卡 | 婷婷丁香五月天综合东京热 | 国模大胆一区二区三区 | 中文精品久久久久人妻不卡 | 蜜桃臀无码内射一区二区三区 | 天天摸天天透天天添 | 国产亚洲人成在线播放 | 中国大陆精品视频xxxx | 日韩亚洲欧美精品综合 | 国产色精品久久人妻 | 国产午夜手机精彩视频 | 亚洲小说春色综合另类 | 蜜臀av无码人妻精品 | 国产国产精品人在线视 | 欧美国产亚洲日韩在线二区 | 国产尤物精品视频 | 色婷婷久久一区二区三区麻豆 | 久久人妻内射无码一区三区 | 麻豆成人精品国产免费 | 自拍偷自拍亚洲精品被多人伦好爽 | 国产莉萝无码av在线播放 | 3d动漫精品啪啪一区二区中 | 久久天天躁狠狠躁夜夜免费观看 | 成人综合网亚洲伊人 | 日本熟妇乱子伦xxxx | 国产精品-区区久久久狼 | 国产69精品久久久久app下载 | 在线播放免费人成毛片乱码 | 一个人看的www免费视频在线观看 | 精品久久8x国产免费观看 | 妺妺窝人体色www在线小说 | 亚洲色大成网站www | 台湾无码一区二区 | 18精品久久久无码午夜福利 | 国产欧美熟妇另类久久久 | 日日麻批免费40分钟无码 | 久久人人97超碰a片精品 | 无码精品人妻一区二区三区av | 亚洲经典千人经典日产 | 精品夜夜澡人妻无码av蜜桃 | 亚洲热妇无码av在线播放 | 强辱丰满人妻hd中文字幕 | 久久视频在线观看精品 | 色欲人妻aaaaaaa无码 | 国产精品无码一区二区桃花视频 | 女人高潮内射99精品 | 国产三级久久久精品麻豆三级 | 欧美乱妇无乱码大黄a片 | 久久zyz资源站无码中文动漫 | 色婷婷综合中文久久一本 | 99久久精品无码一区二区毛片 | 无码人妻精品一区二区三区不卡 | 欧美 日韩 人妻 高清 中文 | 国产精品自产拍在线观看 | 亚洲综合另类小说色区 | 真人与拘做受免费视频一 | 红桃av一区二区三区在线无码av | 欧美freesex黑人又粗又大 | 久久熟妇人妻午夜寂寞影院 | 精品国产一区二区三区av 性色 | 国产两女互慰高潮视频在线观看 | 国内少妇偷人精品视频 | 波多野结衣乳巨码无在线观看 | 少妇激情av一区二区 | 国产精品无码mv在线观看 | 野狼第一精品社区 | 国产精品亚洲综合色区韩国 | 人人爽人人爽人人片av亚洲 | 亚洲日本一区二区三区在线 | 欧美一区二区三区视频在线观看 | 欧美性黑人极品hd | 红桃av一区二区三区在线无码av | 日本一卡二卡不卡视频查询 | 色狠狠av一区二区三区 | 亚洲综合另类小说色区 | 国产午夜无码视频在线观看 | 久久久久久久久888 | 国产综合久久久久鬼色 | 久久 国产 尿 小便 嘘嘘 | 两性色午夜视频免费播放 | 人妻中文无码久热丝袜 | 国产农村乱对白刺激视频 | 狂野欧美激情性xxxx | 色婷婷欧美在线播放内射 | 狠狠cao日日穞夜夜穞av | a片免费视频在线观看 | 97精品国产97久久久久久免费 | 欧美激情一区二区三区成人 | 精品无码成人片一区二区98 | 日日橹狠狠爱欧美视频 | 樱花草在线社区www | 日韩无码专区 | 在线亚洲高清揄拍自拍一品区 | 少妇高潮一区二区三区99 | 亲嘴扒胸摸屁股激烈网站 | 中文字幕乱码人妻二区三区 | 无套内谢老熟女 | 国产精品丝袜黑色高跟鞋 | 麻花豆传媒剧国产免费mv在线 | 岛国片人妻三上悠亚 | 爽爽影院免费观看 | 婷婷综合久久中文字幕蜜桃三电影 | 性色欲情网站iwww九文堂 | 国产精品无码mv在线观看 | 国产精品美女久久久 | 日本大乳高潮视频在线观看 | 蜜桃视频韩日免费播放 | 麻豆人妻少妇精品无码专区 | 欧美人妻一区二区三区 | 亚洲午夜福利在线观看 | 亚洲伊人久久精品影院 | 天堂无码人妻精品一区二区三区 | av在线亚洲欧洲日产一区二区 | 亚洲成在人网站无码天堂 | 日韩亚洲欧美精品综合 | 日欧一片内射va在线影院 | 又湿又紧又大又爽a视频国产 | 精品国产一区av天美传媒 | 狠狠综合久久久久综合网 | 中文字幕中文有码在线 | 国产亚洲人成a在线v网站 | 国产真人无遮挡作爱免费视频 | 午夜福利一区二区三区在线观看 | 日韩精品无码免费一区二区三区 | 大肉大捧一进一出视频出来呀 | 曰本女人与公拘交酡免费视频 | 欧美丰满熟妇xxxx | 在线看片无码永久免费视频 | 波多野结衣一区二区三区av免费 | 久久99热只有频精品8 | 永久免费精品精品永久-夜色 | 成 人 免费观看网站 | 少妇无码av无码专区在线观看 | 久在线观看福利视频 | 中文字幕无码av波多野吉衣 | 福利一区二区三区视频在线观看 | 国产午夜无码精品免费看 | 欧美老人巨大xxxx做受 | 久久精品国产99精品亚洲 | 久久久久人妻一区精品色欧美 | 野外少妇愉情中文字幕 | 亚洲自偷自拍另类第1页 | 国产又粗又硬又大爽黄老大爷视 | 国产熟妇高潮叫床视频播放 | 美女极度色诱视频国产 | 中文字幕无码视频专区 | 亚洲中文字幕在线观看 | 久久精品女人天堂av免费观看 | 国产97色在线 | 免 | 婷婷五月综合缴情在线视频 | 97精品人妻一区二区三区香蕉 | 亚洲人成影院在线观看 | 中文精品无码中文字幕无码专区 | 漂亮人妻洗澡被公强 日日躁 | 日日天干夜夜狠狠爱 | 欧美亚洲国产一区二区三区 | 日日夜夜撸啊撸 | 熟女俱乐部五十路六十路av | 国产精品美女久久久 | 久久99精品久久久久婷婷 | 少妇性俱乐部纵欲狂欢电影 | 国产9 9在线 | 中文 | 国产av人人夜夜澡人人爽麻豆 | 婷婷色婷婷开心五月四房播播 | 亚洲中文字幕在线无码一区二区 | 国产在线精品一区二区高清不卡 | 色婷婷久久一区二区三区麻豆 | 精品无码国产一区二区三区av | 亚洲精品一区二区三区在线观看 | 免费观看的无遮挡av | 成人av无码一区二区三区 | 欧美野外疯狂做受xxxx高潮 | 久久精品视频在线看15 | 激情综合激情五月俺也去 | 欧美高清在线精品一区 | 国产 精品 自在自线 | 一本久久伊人热热精品中文字幕 | 无码国产激情在线观看 | 人人妻人人澡人人爽欧美一区九九 | 久久精品国产亚洲精品 | 国产成人无码午夜视频在线观看 | 精品 日韩 国产 欧美 视频 | 久久久精品成人免费观看 | 少妇性荡欲午夜性开放视频剧场 | 野狼第一精品社区 | 日韩精品无码一本二本三本色 | 国产精品无码mv在线观看 | 无码吃奶揉捏奶头高潮视频 | 一本久久伊人热热精品中文字幕 | v一区无码内射国产 | 狠狠色丁香久久婷婷综合五月 | 日韩av无码一区二区三区 | 久久久精品人妻久久影视 | 无码国产色欲xxxxx视频 | 亚洲一区av无码专区在线观看 | 免费国产黄网站在线观看 | 免费乱码人妻系列无码专区 | 国产在线一区二区三区四区五区 | 国产av一区二区三区最新精品 | 久久熟妇人妻午夜寂寞影院 | 国产婷婷色一区二区三区在线 | 给我免费的视频在线观看 | 鲁大师影院在线观看 | √8天堂资源地址中文在线 | 少妇无码av无码专区在线观看 | 精品久久久久久人妻无码中文字幕 | 夜夜躁日日躁狠狠久久av | 日本大香伊一区二区三区 | 国产亲子乱弄免费视频 | 日本欧美一区二区三区乱码 | 久久久久亚洲精品男人的天堂 | 国产av一区二区三区最新精品 | 国产精品无码mv在线观看 | 亚洲精品午夜无码电影网 | 性啪啪chinese东北女人 | 亚洲自偷自偷在线制服 | 牲欲强的熟妇农村老妇女视频 | 国产成人精品一区二区在线小狼 | 午夜精品一区二区三区的区别 | 又色又爽又黄的美女裸体网站 | 67194成是人免费无码 | 思思久久99热只有频精品66 | 国产精品久久国产精品99 | 99久久人妻精品免费一区 | 色窝窝无码一区二区三区色欲 | 精品国产一区二区三区四区在线看 | 一本久道久久综合婷婷五月 | 精品熟女少妇av免费观看 | 最新国产乱人伦偷精品免费网站 | 国产亚洲tv在线观看 | 东京无码熟妇人妻av在线网址 | 久久久久人妻一区精品色欧美 | 国产无av码在线观看 | 亚洲爆乳无码专区 | 国精品人妻无码一区二区三区蜜柚 | aⅴ在线视频男人的天堂 | 国内精品人妻无码久久久影院 | 性欧美熟妇videofreesex | 亚洲欧美日韩综合久久久 | 亚洲成av人影院在线观看 | 粉嫩少妇内射浓精videos | 人妻少妇精品久久 | 国产尤物精品视频 | 亚洲欧美日韩国产精品一区二区 | 国产高潮视频在线观看 | 亚洲伊人久久精品影院 | 国产精品久久久午夜夜伦鲁鲁 | 久久久久久av无码免费看大片 | 精品人人妻人人澡人人爽人人 | 国产精品无码成人午夜电影 | 亚洲呦女专区 | 成人精品一区二区三区中文字幕 | 无码吃奶揉捏奶头高潮视频 | 精品国产av色一区二区深夜久久 | 国产成人综合在线女婷五月99播放 | 久久综合九色综合欧美狠狠 | 久久久久久久久蜜桃 | 亚洲色偷偷男人的天堂 | 亚洲国产高清在线观看视频 | 亚洲国产精华液网站w | 秋霞特色aa大片 | 日韩人妻无码中文字幕视频 | 国产精品久久久午夜夜伦鲁鲁 | 国产乱人无码伦av在线a | 久久国产36精品色熟妇 | 欧洲欧美人成视频在线 | 无码人妻丰满熟妇区毛片18 | 久久久久se色偷偷亚洲精品av | 人人妻人人藻人人爽欧美一区 | 奇米影视7777久久精品 | 久久久久久久久蜜桃 | 国产精品-区区久久久狼 | 日本成熟视频免费视频 | 中国女人内谢69xxxx | 男女性色大片免费网站 | 日本丰满护士爆乳xxxx | 真人与拘做受免费视频一 | 少妇性俱乐部纵欲狂欢电影 | 国产婷婷色一区二区三区在线 | 国产免费久久久久久无码 | 亚洲另类伦春色综合小说 | 国语自产偷拍精品视频偷 | 中文字幕人妻无码一区二区三区 | 亚洲精品久久久久久久久久久 | 精品日本一区二区三区在线观看 | 性欧美videos高清精品 | 99久久无码一区人妻 | 澳门永久av免费网站 | 综合网日日天干夜夜久久 | 国语自产偷拍精品视频偷 | 麻豆果冻传媒2021精品传媒一区下载 | 欧美人与动性行为视频 | 国产精品久久久久久无码 | 欧美老妇与禽交 | 男女爱爱好爽视频免费看 | 亚洲国产午夜精品理论片 | 日日天日日夜日日摸 | 精品一区二区三区波多野结衣 | 亚洲欧美中文字幕5发布 | 日本一区二区更新不卡 | 久久久精品成人免费观看 | 狠狠cao日日穞夜夜穞av | 国产在线aaa片一区二区99 | 老熟女乱子伦 | 欧美老熟妇乱xxxxx | 高潮毛片无遮挡高清免费 | 亚洲s码欧洲m码国产av | 亚洲日本一区二区三区在线 | www国产亚洲精品久久网站 | 国产明星裸体无码xxxx视频 | 午夜精品一区二区三区的区别 | 久久综合激激的五月天 | 人妻少妇精品视频专区 | 好爽又高潮了毛片免费下载 | 亚洲aⅴ无码成人网站国产app | 丰满少妇女裸体bbw | 丰满少妇女裸体bbw | 国产亚洲精品精品国产亚洲综合 | 日韩人妻无码一区二区三区久久99 | 亚洲欧洲日本综合aⅴ在线 | 色一情一乱一伦一区二区三欧美 | 日日碰狠狠丁香久燥 | 香蕉久久久久久av成人 | 久久精品国产精品国产精品污 | 四虎国产精品一区二区 | 亚洲综合在线一区二区三区 | 国产亚洲精品久久久久久国模美 | 久久天天躁狠狠躁夜夜免费观看 | 国产香蕉97碰碰久久人人 | 久久久久av无码免费网 | 老司机亚洲精品影院无码 | 国产尤物精品视频 | 少妇性荡欲午夜性开放视频剧场 | 免费网站看v片在线18禁无码 | 欧美高清在线精品一区 | 国产尤物精品视频 | 色窝窝无码一区二区三区色欲 | 久久亚洲日韩精品一区二区三区 | 国产亚洲人成a在线v网站 | 国产网红无码精品视频 | 国产成人无码专区 | 极品尤物被啪到呻吟喷水 | 美女扒开屁股让男人桶 | 亚洲综合精品香蕉久久网 | 中国女人内谢69xxxxxa片 | 一本精品99久久精品77 | 中文字幕无码免费久久99 | 无码国模国产在线观看 | 成人亚洲精品久久久久软件 | 日欧一片内射va在线影院 | 九九久久精品国产免费看小说 | 欧美性生交xxxxx久久久 | 亚洲人成影院在线观看 | 欧美黑人巨大xxxxx | 国产亚洲精品久久久久久大师 | 中文字幕无码乱人伦 | 性色av无码免费一区二区三区 | 国产凸凹视频一区二区 | 日本精品人妻无码77777 天堂一区人妻无码 | 国产精品人妻一区二区三区四 | 国产成人精品久久亚洲高清不卡 | 国产97在线 | 亚洲 | 亚洲欧美日韩国产精品一区二区 | 夜夜影院未满十八勿进 | 色一情一乱一伦一视频免费看 | 蜜臀aⅴ国产精品久久久国产老师 | 1000部啪啪未满十八勿入下载 | 午夜福利一区二区三区在线观看 | 亚洲第一网站男人都懂 | 无码人妻精品一区二区三区不卡 | 日本成熟视频免费视频 | 自拍偷自拍亚洲精品被多人伦好爽 | 麻豆av传媒蜜桃天美传媒 | 2020久久香蕉国产线看观看 | 欧美激情一区二区三区成人 | 成人性做爰aaa片免费看 | 18黄暴禁片在线观看 | 最近免费中文字幕中文高清百度 | 99久久婷婷国产综合精品青草免费 | 玩弄少妇高潮ⅹxxxyw | 亚洲精品一区二区三区四区五区 | 亚洲伊人久久精品影院 | 97精品国产97久久久久久免费 | 1000部啪啪未满十八勿入下载 | 国产亚洲精品久久久久久国模美 | 亚洲成av人综合在线观看 | 国产成人无码av片在线观看不卡 | 无码任你躁久久久久久久 | 4hu四虎永久在线观看 | 欧美熟妇另类久久久久久多毛 | 中文字幕无线码免费人妻 | 欧美老妇交乱视频在线观看 | 中文字幕av伊人av无码av | 国产精品久久国产精品99 | 麻花豆传媒剧国产免费mv在线 | 毛片内射-百度 | 无码毛片视频一区二区本码 | 曰韩无码二三区中文字幕 | 野狼第一精品社区 | 青春草在线视频免费观看 | 樱花草在线社区www | 亚洲日韩一区二区三区 | 国产精品人人爽人人做我的可爱 | 在线播放无码字幕亚洲 | 大地资源网第二页免费观看 | 波多野结衣乳巨码无在线观看 | 最新国产麻豆aⅴ精品无码 | 色婷婷综合激情综在线播放 | 无码午夜成人1000部免费视频 | 国产极品视觉盛宴 | 性开放的女人aaa片 | 久久亚洲国产成人精品性色 | 无码人妻出轨黑人中文字幕 | 国产成人人人97超碰超爽8 | 欧美日韩一区二区三区自拍 | 日本大香伊一区二区三区 | 亚洲综合精品香蕉久久网 | 亚洲国产欧美在线成人 | 久久久久免费精品国产 | 色综合久久久无码中文字幕 | 久久久精品成人免费观看 | 亚洲精品中文字幕 | 欧美国产亚洲日韩在线二区 | 国产精品嫩草久久久久 | 欧美成人家庭影院 | 亚洲aⅴ无码成人网站国产app | 九月婷婷人人澡人人添人人爽 | 大肉大捧一进一出视频出来呀 | 俄罗斯老熟妇色xxxx | 欧美亚洲国产一区二区三区 | 偷窥村妇洗澡毛毛多 | 亚洲熟妇色xxxxx亚洲 | 国产人妻久久精品二区三区老狼 | 中文字幕无线码 | 激情内射日本一区二区三区 | 亚洲国产一区二区三区在线观看 | 无码成人精品区在线观看 | 国产在线精品一区二区高清不卡 | 十八禁视频网站在线观看 | 久久视频在线观看精品 | 欧美大屁股xxxxhd黑色 | 中国女人内谢69xxxxxa片 | 蜜桃无码一区二区三区 | 国产又爽又黄又刺激的视频 | 国产激情综合五月久久 | 久久 国产 尿 小便 嘘嘘 | 小泽玛莉亚一区二区视频在线 | 久久久久久国产精品无码下载 | 亚洲精品一区二区三区在线 | 99久久精品日本一区二区免费 | 亚洲成a人片在线观看无码 | 中文字幕人妻无码一夲道 | 亚洲中文字幕av在天堂 | 亚洲自偷精品视频自拍 | 夜夜夜高潮夜夜爽夜夜爰爰 | 成人无码视频免费播放 | 国产高潮视频在线观看 | 国产高潮视频在线观看 | 偷窥村妇洗澡毛毛多 | 娇妻被黑人粗大高潮白浆 | 亚洲欧美精品aaaaaa片 | 中文字幕 亚洲精品 第1页 | 131美女爱做视频 | 久久成人a毛片免费观看网站 | 无码吃奶揉捏奶头高潮视频 | 啦啦啦www在线观看免费视频 | 亚洲の无码国产の无码步美 | 亚洲一区二区三区偷拍女厕 | 久久天天躁夜夜躁狠狠 | 亚洲欧洲日本综合aⅴ在线 | 国产精品免费大片 | 国产亚洲精品久久久闺蜜 | 亚洲s色大片在线观看 | 无码播放一区二区三区 | 粗大的内捧猛烈进出视频 | 伊人久久大香线蕉午夜 | 免费乱码人妻系列无码专区 | 日韩精品无码一本二本三本色 | 欧美日韩一区二区免费视频 | 亚洲精品午夜国产va久久成人 | 少妇一晚三次一区二区三区 | 久久精品国产日本波多野结衣 | 国产高清不卡无码视频 | 97色伦图片97综合影院 | 高中生自慰www网站 | 偷窥日本少妇撒尿chinese | av无码不卡在线观看免费 | 成人免费视频视频在线观看 免费 | 亚洲欧美中文字幕5发布 | 人妻无码αv中文字幕久久琪琪布 | 熟女少妇在线视频播放 | 黄网在线观看免费网站 | 2020久久超碰国产精品最新 | 青青草原综合久久大伊人精品 | 久久久久亚洲精品男人的天堂 | 中文无码成人免费视频在线观看 | 亚洲小说图区综合在线 | 中文无码成人免费视频在线观看 | 天堂亚洲免费视频 | 四虎国产精品免费久久 | www国产亚洲精品久久久日本 | 人妻人人添人妻人人爱 | 欧美亚洲国产一区二区三区 | 蜜臀aⅴ国产精品久久久国产老师 | 男人的天堂av网站 | 欧美一区二区三区 | 色综合久久久无码中文字幕 | 欧美日韩综合一区二区三区 | 国产精品久久久久久久9999 | 亚洲无人区午夜福利码高清完整版 | 风流少妇按摩来高潮 | 亚洲精品一区二区三区大桥未久 | 粗大的内捧猛烈进出视频 | 中国大陆精品视频xxxx | 国产精品自产拍在线观看 | 欧美猛少妇色xxxxx | 一区二区三区乱码在线 | 欧洲 | 99久久久无码国产精品免费 | 男女爱爱好爽视频免费看 | 99精品视频在线观看免费 | 国产精品久久久久无码av色戒 | 亚洲精品综合一区二区三区在线 | 樱花草在线播放免费中文 | 久久久久亚洲精品男人的天堂 | 成人免费视频在线观看 | 午夜福利一区二区三区在线观看 | 欧美熟妇另类久久久久久多毛 | 亚洲一区二区三区播放 | 青青青爽视频在线观看 | 中文字幕色婷婷在线视频 | 人人妻人人澡人人爽人人精品浪潮 | 熟女少妇人妻中文字幕 | 亚洲乱码日产精品bd | 国产精品永久免费视频 | 国产极品视觉盛宴 | 小sao货水好多真紧h无码视频 | 亚洲a无码综合a国产av中文 | 日本一卡二卡不卡视频查询 | 国产成人无码区免费内射一片色欲 | 中文字幕无线码 | 国产网红无码精品视频 | 亚洲国产成人av在线观看 | 国产亚洲欧美日韩亚洲中文色 | 少妇高潮喷潮久久久影院 | 5858s亚洲色大成网站www | 99久久精品国产一区二区蜜芽 | 精品国产一区二区三区av 性色 | 久久久精品人妻久久影视 | 成人免费视频一区二区 | 麻豆国产丝袜白领秘书在线观看 | 亚洲综合精品香蕉久久网 | 国产午夜无码视频在线观看 | 国产精品丝袜黑色高跟鞋 | 中国女人内谢69xxxxxa片 | 国产精品欧美成人 | 丝袜 中出 制服 人妻 美腿 | 亚洲一区二区三区在线观看网站 | 国产性生交xxxxx无码 | 欧美乱妇无乱码大黄a片 | 国产精品久免费的黄网站 | 精品人人妻人人澡人人爽人人 | 亚洲精品国产精品乱码不卡 | 日本精品少妇一区二区三区 | 欧美人与动性行为视频 | 国产va免费精品观看 | 色五月五月丁香亚洲综合网 | 熟女体下毛毛黑森林 | 成年美女黄网站色大免费全看 | 水蜜桃亚洲一二三四在线 | 蜜桃臀无码内射一区二区三区 | 国产免费久久精品国产传媒 | 性生交大片免费看女人按摩摩 | 中文字幕亚洲情99在线 | 精品国产aⅴ无码一区二区 | 99久久人妻精品免费二区 | 麻豆国产人妻欲求不满 | 国产真人无遮挡作爱免费视频 | 人人妻人人澡人人爽人人精品浪潮 | 国产精品免费大片 | av无码电影一区二区三区 | 国产成人无码a区在线观看视频app | 久久国产精品萌白酱免费 | 久久久久av无码免费网 | 午夜精品久久久久久久久 | 极品尤物被啪到呻吟喷水 | 东京热无码av男人的天堂 | 亚洲日韩av一区二区三区四区 | 一个人看的视频www在线 | 亚洲欧美精品伊人久久 | 噜噜噜亚洲色成人网站 | 国产精品亚洲一区二区三区喷水 | 啦啦啦www在线观看免费视频 | 一本精品99久久精品77 | 丰满少妇高潮惨叫视频 | 丁香啪啪综合成人亚洲 | 内射老妇bbwx0c0ck | 日本丰满护士爆乳xxxx | 奇米影视7777久久精品 | 中文字幕中文有码在线 | 国产精品无码mv在线观看 | 亚洲国产午夜精品理论片 | 精品国产一区二区三区四区在线看 | 亚洲精品国产精品乱码不卡 | 久久综合九色综合97网 | 日日摸天天摸爽爽狠狠97 | 欧美日韩综合一区二区三区 | 网友自拍区视频精品 | 精品无码一区二区三区爱欲 | 在线精品亚洲一区二区 | 无码成人精品区在线观看 | www国产亚洲精品久久网站 | 成人无码精品1区2区3区免费看 | www成人国产高清内射 | 亚洲综合无码久久精品综合 | 人人妻人人澡人人爽人人精品 | 2020最新国产自产精品 | 国产成人午夜福利在线播放 | 国产人妻人伦精品 | 99久久精品午夜一区二区 | 麻豆国产97在线 | 欧洲 | 永久免费观看美女裸体的网站 | 秋霞成人午夜鲁丝一区二区三区 | 最新版天堂资源中文官网 | 蜜臀av在线观看 在线欧美精品一区二区三区 | 一个人看的www免费视频在线观看 | 色五月丁香五月综合五月 | 欧美 日韩 人妻 高清 中文 | 亚洲成a人片在线观看日本 | 亚洲伊人久久精品影院 | 亚洲一区二区三区国产精华液 | 亚洲乱码国产乱码精品精 | 亚洲成色在线综合网站 | 人人妻人人澡人人爽人人精品浪潮 | 日韩在线不卡免费视频一区 | 97精品国产97久久久久久免费 | 国产欧美亚洲精品a | 男人扒开女人内裤强吻桶进去 | 99久久99久久免费精品蜜桃 | 永久免费观看国产裸体美女 | 国产成人无码区免费内射一片色欲 | 97无码免费人妻超级碰碰夜夜 | 7777奇米四色成人眼影 | 亚洲熟妇色xxxxx欧美老妇y | 欧美性猛交内射兽交老熟妇 | 日本va欧美va欧美va精品 | 300部国产真实乱 | 人人妻人人澡人人爽欧美精品 | 国産精品久久久久久久 | 久久久精品国产sm最大网站 | 丰满诱人的人妻3 | 捆绑白丝粉色jk震动捧喷白浆 | 久久人妻内射无码一区三区 | 成人综合网亚洲伊人 | 免费无码的av片在线观看 | 男人的天堂av网站 | 午夜精品久久久久久久久 | 国产亚洲人成在线播放 | 久久这里只有精品视频9 | 久热国产vs视频在线观看 | 成人性做爰aaa片免费看不忠 | 国精产品一品二品国精品69xx | 国产精品久久久久影院嫩草 | 波多野结衣乳巨码无在线观看 | 国产熟妇高潮叫床视频播放 | 久久精品人人做人人综合试看 | aⅴ亚洲 日韩 色 图网站 播放 | 无码人妻精品一区二区三区不卡 | 性欧美大战久久久久久久 | 精品成人av一区二区三区 | 国产精品高潮呻吟av久久 | 伊人久久大香线焦av综合影院 | 国产农村乱对白刺激视频 | 激情内射亚州一区二区三区爱妻 | 学生妹亚洲一区二区 | 日韩av无码中文无码电影 | 欧美日本免费一区二区三区 | 国产成人精品一区二区在线小狼 | 亚洲日韩精品欧美一区二区 | 欧美精品无码一区二区三区 | 亚洲精品综合一区二区三区在线 | 国产熟女一区二区三区四区五区 | 对白脏话肉麻粗话av | 99re在线播放 | 国产精品无码一区二区三区不卡 | 久久国产精品精品国产色婷婷 | 中文字幕人成乱码熟女app | 久久久久人妻一区精品色欧美 | 亚洲一区二区三区国产精华液 | 久久国产36精品色熟妇 | 精品国产福利一区二区 | 大肉大捧一进一出视频出来呀 | 成人一在线视频日韩国产 | 国产人妻大战黑人第1集 | 日本丰满护士爆乳xxxx | 国内精品人妻无码久久久影院 | 亚洲精品一区二区三区在线 | 男人的天堂av网站 | 日本大香伊一区二区三区 | 久久婷婷五月综合色国产香蕉 | 免费乱码人妻系列无码专区 | 国产精品亚洲а∨无码播放麻豆 | 亚洲国产精品无码一区二区三区 | 精品国产福利一区二区 | 色偷偷人人澡人人爽人人模 | 丰满少妇人妻久久久久久 | 夜夜躁日日躁狠狠久久av | 中文字幕日韩精品一区二区三区 | 精品无码成人片一区二区98 | 欧美丰满少妇xxxx性 | 亚洲乱码国产乱码精品精 | 亚洲国产精品久久久久久 | www国产亚洲精品久久久日本 | 99精品国产综合久久久久五月天 | 国产三级精品三级男人的天堂 | aⅴ亚洲 日韩 色 图网站 播放 | 中文亚洲成a人片在线观看 | 久久久精品国产sm最大网站 | 狠狠亚洲超碰狼人久久 | 永久免费观看国产裸体美女 | 国产欧美亚洲精品a | 熟女俱乐部五十路六十路av | 久久无码中文字幕免费影院蜜桃 | 国产极品美女高潮无套在线观看 | 97夜夜澡人人爽人人喊中国片 | 蜜臀av无码人妻精品 | 国产午夜精品一区二区三区嫩草 | 国产精品爱久久久久久久 | 影音先锋中文字幕无码 | 成人女人看片免费视频放人 | 久久99精品久久久久久动态图 | 国产又爽又黄又刺激的视频 | 正在播放东北夫妻内射 | 樱花草在线播放免费中文 | 未满小14洗澡无码视频网站 | 成人亚洲精品久久久久软件 | 午夜精品久久久久久久 | 精品厕所偷拍各类美女tp嘘嘘 | 亚洲国产欧美日韩精品一区二区三区 | 久在线观看福利视频 | 人妻夜夜爽天天爽三区 | 久久99精品久久久久婷婷 | 精品日本一区二区三区在线观看 | 精品无码av一区二区三区 | 2020久久超碰国产精品最新 | 久久久中文久久久无码 | 在线观看免费人成视频 | 国产精品视频免费播放 | 国产成人亚洲综合无码 | 综合人妻久久一区二区精品 | 无码人妻久久一区二区三区不卡 | 亚洲色大成网站www国产 | 国产精品18久久久久久麻辣 | 精品无人国产偷自产在线 | 国产色精品久久人妻 | 亚洲精品久久久久avwww潮水 | 国产免费无码一区二区视频 | 三上悠亚人妻中文字幕在线 | 精品国产av色一区二区深夜久久 | 亚洲中文字幕无码一久久区 | 国产xxx69麻豆国语对白 | 水蜜桃亚洲一二三四在线 | 老太婆性杂交欧美肥老太 | 少妇高潮一区二区三区99 | 蜜桃av抽搐高潮一区二区 | 国精产品一区二区三区 | 精品国产一区二区三区四区在线看 | 亚洲精品一区二区三区四区五区 | 国精产品一区二区三区 | 国产乱码精品一品二品 | 正在播放老肥熟妇露脸 | 超碰97人人做人人爱少妇 | 欧美人妻一区二区三区 | 自拍偷自拍亚洲精品被多人伦好爽 | 精品欧洲av无码一区二区三区 | 爽爽影院免费观看 | 中文无码成人免费视频在线观看 | ass日本丰满熟妇pics | 欧美第一黄网免费网站 | 久久久久久国产精品无码下载 | 在线欧美精品一区二区三区 | 窝窝午夜理论片影院 | 亚洲欧美综合区丁香五月小说 | 国产成人精品久久亚洲高清不卡 | 国产亚洲精品久久久久久国模美 | 无码人妻丰满熟妇区毛片18 | 人妻少妇被猛烈进入中文字幕 | 无码国内精品人妻少妇 | 国产精品亚洲五月天高清 | 国产性猛交╳xxx乱大交 国产精品久久久久久无码 欧洲欧美人成视频在线 | 亚洲七七久久桃花影院 | 成年美女黄网站色大免费视频 | 免费视频欧美无人区码 | 国产激情无码一区二区 | 午夜性刺激在线视频免费 | 国产精品人妻一区二区三区四 | 夜夜影院未满十八勿进 | 国产农村妇女高潮大叫 | 欧美成人高清在线播放 | 亚洲国产精品久久久天堂 | 一本大道久久东京热无码av | 国产黑色丝袜在线播放 | 精品国产aⅴ无码一区二区 | 精品日本一区二区三区在线观看 | 精品无码一区二区三区的天堂 | 久久久久成人精品免费播放动漫 | 亚洲综合精品香蕉久久网 | 日韩av无码一区二区三区 | 伦伦影院午夜理论片 | 久久精品国产亚洲精品 | 色爱情人网站 | 国产成人无码av一区二区 | 午夜精品久久久久久久 | 午夜无码人妻av大片色欲 | 国产农村乱对白刺激视频 | 国产婷婷色一区二区三区在线 | 亚洲爆乳无码专区 | 99久久久无码国产aaa精品 | 澳门永久av免费网站 | 亚洲aⅴ无码成人网站国产app | 精品厕所偷拍各类美女tp嘘嘘 | 性啪啪chinese东北女人 | 亚洲爆乳精品无码一区二区三区 | 人妻插b视频一区二区三区 | 男女猛烈xx00免费视频试看 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 在线播放免费人成毛片乱码 | 任你躁国产自任一区二区三区 | 国产无av码在线观看 | 国产艳妇av在线观看果冻传媒 | 久久亚洲日韩精品一区二区三区 | 欧美人与善在线com | 午夜福利不卡在线视频 | 久久www免费人成人片 | 亚洲国产av精品一区二区蜜芽 | 午夜熟女插插xx免费视频 | 国产成人无码av在线影院 | 成人免费无码大片a毛片 | 福利一区二区三区视频在线观看 | 性色欲情网站iwww九文堂 | 亚洲国产精品一区二区第一页 | 55夜色66夜色国产精品视频 | 色综合久久久无码中文字幕 | а√天堂www在线天堂小说 | 中文字幕无线码 | 国产精品资源一区二区 | 午夜精品一区二区三区的区别 | 久久久国产精品无码免费专区 | 九九久久精品国产免费看小说 | 亚洲精品一区二区三区在线观看 | 精品无码国产一区二区三区av | 免费人成网站视频在线观看 | 色综合视频一区二区三区 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 一个人看的视频www在线 | 亚洲欧洲日本综合aⅴ在线 | 55夜色66夜色国产精品视频 | 国产午夜亚洲精品不卡下载 | 无码一区二区三区在线 | 国产农村妇女高潮大叫 | 亚洲一区二区三区偷拍女厕 | 99久久久无码国产精品免费 | 久久国语露脸国产精品电影 | 精品乱码久久久久久久 | 亚洲综合精品香蕉久久网 | 精品偷拍一区二区三区在线看 | 99久久婷婷国产综合精品青草免费 | 成 人 免费观看网站 | 狠狠色丁香久久婷婷综合五月 | 亚洲 高清 成人 动漫 | 领导边摸边吃奶边做爽在线观看 | 久久97精品久久久久久久不卡 | 免费网站看v片在线18禁无码 | 爆乳一区二区三区无码 | 国产明星裸体无码xxxx视频 | 女高中生第一次破苞av | √天堂资源地址中文在线 | 国产精品第一区揄拍无码 | 好屌草这里只有精品 | 久久久久久久女国产乱让韩 | 欧美第一黄网免费网站 | 成人综合网亚洲伊人 | 小sao货水好多真紧h无码视频 | 人人妻人人澡人人爽欧美精品 | 国产av无码专区亚洲awww | 亚洲七七久久桃花影院 | 国产成人无码av在线影院 | 日韩少妇内射免费播放 | 成人免费视频在线观看 | 国产激情艳情在线看视频 | 国产精品视频免费播放 | 久久zyz资源站无码中文动漫 | 无码福利日韩神码福利片 | а天堂中文在线官网 | 性欧美牲交xxxxx视频 | 欧洲熟妇精品视频 | 久久www免费人成人片 | 真人与拘做受免费视频一 | 99riav国产精品视频 | 国产精品99爱免费视频 | 精品无码av一区二区三区 | 久久久www成人免费毛片 | 亚洲日本在线电影 | 国产人妻精品午夜福利免费 | 人妻少妇被猛烈进入中文字幕 | 亚洲日韩精品欧美一区二区 | 国内丰满熟女出轨videos | 午夜肉伦伦影院 | 1000部啪啪未满十八勿入下载 | 成年美女黄网站色大免费全看 | 99久久久国产精品无码免费 | 波多野结衣乳巨码无在线观看 | 亚洲乱码中文字幕在线 | 亚洲爆乳大丰满无码专区 | 亚洲va欧美va天堂v国产综合 | www成人国产高清内射 | 一个人看的www免费视频在线观看 | 亚洲日韩乱码中文无码蜜桃臀网站 | av无码不卡在线观看免费 | 国产无遮挡又黄又爽又色 | 国内精品九九久久久精品 | 男人扒开女人内裤强吻桶进去 | 伊在人天堂亚洲香蕉精品区 | 日韩精品成人一区二区三区 | 久久综合给久久狠狠97色 | 久久久久人妻一区精品色欧美 | 人人爽人人澡人人高潮 | 少妇无码av无码专区在线观看 | 97久久超碰中文字幕 | 成人一区二区免费视频 | 欧美三级a做爰在线观看 | 无码纯肉视频在线观看 | 亚洲中文字幕无码中文字在线 | 99久久久无码国产aaa精品 | 精品欧美一区二区三区久久久 | 99麻豆久久久国产精品免费 | 国产做国产爱免费视频 | 国产女主播喷水视频在线观看 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 欧洲欧美人成视频在线 | 东北女人啪啪对白 | 在线视频网站www色 | 日日鲁鲁鲁夜夜爽爽狠狠 | 亚洲爆乳大丰满无码专区 | 久久久久久久人妻无码中文字幕爆 | 欧美freesex黑人又粗又大 | 精品人妻人人做人人爽夜夜爽 | 国产精品理论片在线观看 | 一本久道久久综合婷婷五月 | 装睡被陌生人摸出水好爽 | 国产亚洲精品精品国产亚洲综合 | 51国偷自产一区二区三区 | 欧美 亚洲 国产 另类 | 国产无av码在线观看 | 亚洲中文字幕在线无码一区二区 | 日韩av激情在线观看 | 樱花草在线播放免费中文 | 国产超碰人人爽人人做人人添 | 人人澡人摸人人添 | 亚洲爆乳大丰满无码专区 | 性啪啪chinese东北女人 | 国产三级久久久精品麻豆三级 | 午夜福利电影 | 婷婷综合久久中文字幕蜜桃三电影 | 欧美日韩在线亚洲综合国产人 | 日韩精品乱码av一区二区 | 国产97色在线 | 免 | 欧美日韩综合一区二区三区 | 国产一精品一av一免费 | 久久人人爽人人人人片 | 久久99精品国产麻豆蜜芽 | 亚洲天堂2017无码 | 日韩成人一区二区三区在线观看 | 中文字幕无码免费久久99 | 亚洲综合无码一区二区三区 | 无码午夜成人1000部免费视频 | 亚洲欧美精品aaaaaa片 | 成人aaa片一区国产精品 | 国产欧美亚洲精品a | 久久亚洲精品成人无码 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 国产精品成人av在线观看 | 亚洲男人av天堂午夜在 | 国产精品久久国产精品99 | 欧美人与禽zoz0性伦交 | 成熟妇人a片免费看网站 | 国产99久久精品一区二区 | 18精品久久久无码午夜福利 | 国产精品鲁鲁鲁 | 国产另类ts人妖一区二区 | 老子影院午夜伦不卡 | 亚洲国产一区二区三区在线观看 | 伊人久久婷婷五月综合97色 | 无码精品人妻一区二区三区av | 少妇无套内谢久久久久 | 免费无码av一区二区 | 国产三级精品三级男人的天堂 | 东京热男人av天堂 | 精品夜夜澡人妻无码av蜜桃 | 图片区 小说区 区 亚洲五月 | 牛和人交xxxx欧美 | 亚洲国精产品一二二线 | 乱人伦中文视频在线观看 | 国产真实乱对白精彩久久 | 国产亚洲精品久久久ai换 | 久久精品国产一区二区三区 | 亚洲国产综合无码一区 | 久久精品国产99久久6动漫 | 国产精品无码成人午夜电影 | 亚洲综合无码一区二区三区 | 欧洲精品码一区二区三区免费看 | 三级4级全黄60分钟 | 亚洲综合精品香蕉久久网 | 性色av无码免费一区二区三区 | 久久精品国产99久久6动漫 | 99久久婷婷国产综合精品青草免费 | 亚洲日韩av片在线观看 | aa片在线观看视频在线播放 | 久久久国产一区二区三区 | 亚洲色偷偷偷综合网 | √天堂资源地址中文在线 | 欧美xxxxx精品 | 精品无码一区二区三区的天堂 | 亚洲性无码av中文字幕 | 精品aⅴ一区二区三区 | 丝袜足控一区二区三区 | 亚洲精品中文字幕 | 精品一区二区三区波多野结衣 | 无码精品国产va在线观看dvd | 免费视频欧美无人区码 | 免费人成在线观看网站 | 99精品视频在线观看免费 | 国产亚洲精品久久久久久久久动漫 | 爱做久久久久久 | 99久久精品国产一区二区蜜芽 | 蜜桃视频韩日免费播放 | 欧美成人高清在线播放 | 亚洲综合无码一区二区三区 | 日本高清一区免费中文视频 | 熟妇人妻无码xxx视频 | 亚洲中文字幕乱码av波多ji | 国产特级毛片aaaaaaa高清 | 亚洲熟妇自偷自拍另类 | 亚洲中文字幕va福利 | 中文字幕无码日韩专区 | 网友自拍区视频精品 | 国产人妖乱国产精品人妖 | 国产av一区二区三区最新精品 | 国产av无码专区亚洲awww | 色一情一乱一伦一区二区三欧美 | 中文无码精品a∨在线观看不卡 | 中文无码成人免费视频在线观看 | 欧美熟妇另类久久久久久多毛 | 中文字幕无码日韩专区 | 帮老师解开蕾丝奶罩吸乳网站 | 国产小呦泬泬99精品 | 日本大香伊一区二区三区 | 香蕉久久久久久av成人 | 俺去俺来也在线www色官网 | 97夜夜澡人人爽人人喊中国片 | 国产激情无码一区二区app | 少妇性l交大片欧洲热妇乱xxx | 欧美丰满熟妇xxxx | 亚洲小说图区综合在线 | 国产黄在线观看免费观看不卡 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 久久国内精品自在自线 | 国产人妻精品午夜福利免费 | 亚洲 另类 在线 欧美 制服 | 亚洲国产精品一区二区第一页 | 色欲综合久久中文字幕网 | 国产亚洲视频中文字幕97精品 | 中文字幕无码日韩欧毛 | 国产卡一卡二卡三 | 久久久久久av无码免费看大片 | 久久精品一区二区三区四区 | 人人澡人摸人人添 | 欧美丰满老熟妇xxxxx性 | 性欧美牲交xxxxx视频 | 天干天干啦夜天干天2017 | 国产97人人超碰caoprom | 人妻互换免费中文字幕 | 亚洲aⅴ无码成人网站国产app | 色一情一乱一伦 | 国产亚洲人成a在线v网站 | 精品少妇爆乳无码av无码专区 | 99久久无码一区人妻 | 国产热a欧美热a在线视频 | 久久精品国产精品国产精品污 | 日本一本二本三区免费 | 精品一区二区不卡无码av | 少妇性l交大片欧洲热妇乱xxx | 最近中文2019字幕第二页 | 国产精品怡红院永久免费 | 欧美成人午夜精品久久久 | 青草青草久热国产精品 | 玩弄中年熟妇正在播放 | 中文字幕乱码中文乱码51精品 | 国产猛烈高潮尖叫视频免费 | 久久精品人人做人人综合 | 午夜理论片yy44880影院 | 97资源共享在线视频 | 午夜无码人妻av大片色欲 | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | 丰腴饱满的极品熟妇 | 久久无码人妻影院 | 欧美兽交xxxx×视频 | 国产激情无码一区二区app | 动漫av网站免费观看 | 日本丰满护士爆乳xxxx | 日韩少妇白浆无码系列 | 免费观看的无遮挡av | 亚洲啪av永久无码精品放毛片 | 国产一精品一av一免费 | 国产尤物精品视频 | 久久亚洲精品成人无码 | 国产精品办公室沙发 | 天天综合网天天综合色 | 中文字幕乱码人妻无码久久 | 四虎4hu永久免费 | 日本欧美一区二区三区乱码 | 强辱丰满人妻hd中文字幕 | 国产精品理论片在线观看 | 久久久精品国产sm最大网站 | 亚洲国产精品久久久天堂 | 人妻熟女一区 | 好男人www社区 | 中文无码成人免费视频在线观看 | 国产av久久久久精东av | 亚洲国产精品无码一区二区三区 | 欧美阿v高清资源不卡在线播放 | 成人欧美一区二区三区黑人免费 | 18无码粉嫩小泬无套在线观看 | 亚洲国产精品成人久久蜜臀 | 国产精品丝袜黑色高跟鞋 | 国产精品亚洲综合色区韩国 | 动漫av网站免费观看 | 亚洲中文无码av永久不收费 | 东京热一精品无码av | 精品国产av色一区二区深夜久久 | 99久久无码一区人妻 | 丰满人妻被黑人猛烈进入 | 少妇人妻偷人精品无码视频 | 综合人妻久久一区二区精品 | 牛和人交xxxx欧美 | 亚洲狠狠婷婷综合久久 | 亚洲精品久久久久中文第一幕 | 成人影院yy111111在线观看 | 人妻插b视频一区二区三区 | 十八禁真人啪啪免费网站 | 美女黄网站人色视频免费国产 | 国产三级精品三级男人的天堂 | 成年美女黄网站色大免费视频 | 人妻插b视频一区二区三区 | 377p欧洲日本亚洲大胆 | 麻豆果冻传媒2021精品传媒一区下载 | 全球成人中文在线 | 无码中文字幕色专区 | 久久国语露脸国产精品电影 | 亚洲一区二区三区 | 日产精品高潮呻吟av久久 | 亚洲国产精品久久人人爱 | 精品偷自拍另类在线观看 | 小sao货水好多真紧h无码视频 | 日欧一片内射va在线影院 | 伊人久久大香线蕉亚洲 | 少妇激情av一区二区 | 在线观看国产一区二区三区 | 日韩亚洲欧美精品综合 | 成人精品天堂一区二区三区 | 国产成人无码区免费内射一片色欲 | 久久久久亚洲精品男人的天堂 | 天堂亚洲2017在线观看 | 日本又色又爽又黄的a片18禁 | 国精产品一区二区三区 | 国内揄拍国内精品少妇国语 | 精品久久综合1区2区3区激情 | 久久国产精品偷任你爽任你 | 无遮挡国产高潮视频免费观看 | 一本无码人妻在中文字幕免费 | 夜精品a片一区二区三区无码白浆 | 无人区乱码一区二区三区 | 香蕉久久久久久av成人 | 久久国产精品二国产精品 | 99久久精品无码一区二区毛片 | 欧美精品无码一区二区三区 | 5858s亚洲色大成网站www | 免费观看又污又黄的网站 | 67194成是人免费无码 | 国产精品a成v人在线播放 | 理论片87福利理论电影 | 日韩av激情在线观看 | 国产精品无码成人午夜电影 | 天下第一社区视频www日本 | 99精品国产综合久久久久五月天 | 99久久人妻精品免费一区 | 国产一区二区三区影院 | 领导边摸边吃奶边做爽在线观看 | 无码精品人妻一区二区三区av | 少妇一晚三次一区二区三区 | 欧洲精品码一区二区三区免费看 |