所谓的“Round Robin” 其实是一种存储数据的方式,使用固定大小的空间来存储数据,并有一个指针指向最新的数据的位置,下面看一个rrdtool监控人民币汇率的例子.
1、使用rrdtool建立rrd文件,对人民币对美元汇率每20秒进行一次抓取(setp = 20s).
- rrdtoolcreateUSDCNY.rrd\
- --start`date+%s`\
- --step20\
- DS:content:GAUGE:100:0:U\
- RRA:AVERAGE:0:1:400
2、 通过Yahoo提供的汇率查询解决取得当前汇率,并存入rrd文件.
- #!/bin/bash
- PATH='/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin'
- rrdfile='/tmp/361way/USDCNY.rrd'
- whiletrue
- do
- timestamp=`date+%s`
- rmbrate=`curl'http://download.finance.yahoo.com/d/quotes.csv?s=USDCNY=X&f=sl1d1t1&e=.csv'2>/dev/null|awk-F,'{print$2}'`
- rrdtoolupdate$rrdfile${timestamp}:${rmbrate}
- sleep19
- echo'getnow'
- done
3、使用php脚本展示人民币汇率rrd图
- #catrmb.php
- <?php
- header("Content-type:image/png");
- $cmd='
- /usr/bin/rrdtoolgraph-\
- -h120-w500\
- --startnow-1h\
- -v"RMB/USD"--title"RMB-USDRate"\
- DEF:rmbrate=/tmp/361way/USDCNY.rrd:content:AVERAGE\
- LINE:rmbrate#00CF00FF:"RMBRate"\
- COMMENT:"\n"
- ';//phpfensi.com
- passthru($cmd);
- ?>