所谓的“Round Robin” 其实是一种存储数据的方式,使用固定大小的空间来存储数据,并有一个指针指向最新的数据的位置,下面看一个rrdtool监控人民币汇率的例子.
1、使用rrdtool建立rrd文件,对人民币对美元汇率每20秒进行一次抓取(setp = 20s).
- rrdtool create USDCNY.rrd \
- --start `date +%s` \
- --step 20 \
- 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'
- while true
- 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}'`
- rrdtool update $rrdfile ${timestamp}:${rmbrate}
- sleep 19
- echo 'get now'
- done
3、使用php脚本展示人民币汇率rrd图
- # cat rmb.php
- <?php
- header("Content-type:image/png");
- $cmd='
- /usr/bin/rrdtool graph - \
- -h 120 -w 500 \
- --start now-1h \
- -v "RMB/USD" --title "RMB-USD Rate" \
- DEF:rmbrate=/tmp/361way/USDCNY.rrd:content:AVERAGE \
- LINE:rmbrate#00CF00FF:"RMB Rate" \
- COMMENT:"\n"
- '; //Vevb.com
- passthru($cmd);
- ?>
新闻热点
疑难解答