首页 > 代码库 > 验证DDTTool作为网络性能监控数据库是否合适
验证DDTTool作为网络性能监控数据库是否合适
# vi /etc/yum.repos.d/dag.repo
[dag]
name=Dag RPM Repository for Red Hat Enterprise Linux
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
gpgcheck=1
gpgkey=http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
enabled=1
搞定后,直接yum安装如下:
#yum install rrdtool
即可安装成功.
安装python-rrdtool
1.yum install -y gcc
2.yum install rrdtool-python
3.yum install python-psutil
需求:验证DDTTool作为网络性能监控数据库是否合适
技术:rrdtool
要求:
一.append 插入速度的要求
二.查询速度的要求 满足
三.队列形式,超过时间设置的历史记录移除掉 满足
说明:
RRDtool 代表 “Round Robin Database tool” ,作者同时也是 MRTG 软件的发明人。官方站点位于http://oss.oetiker.ch/rrdtool/ 。 所 谓的“Round Robin” 其实是一种存储数据的方式,使用固定大小的空间来存储数据,并有一个指针指向最新的数据的位置。我们可以把用于存储数据的数据库的空间看成一个圆,上面有 很多刻度。这些刻度所在的位置就代表用于存储数据的地方。所谓指针,可以认为是从圆心指向这些刻度的一条直线。指针会随着数据的读写自动移动。要注意的 是,这个圆没有起点和终点,所以指针可以一直移动,而不用担心到达终点后就无法前进的问题。在一段时间后,当所有的空间都存满了数据,就又从头开始存放。 这样整个存储空间的大小就是一个固定的数值。所以RRDtool 就是使用类似的方式来存放数据的工具, RRDtool 所使用的数据库文件的后缀名
测试
测试主机:192.168.1.141
测试目录:/root/hujin/*
测试过程:
#1创建一个rrd文件 create_rrd.py
#coding=utf-8
import rrdtool,time
rrdb=rrdtool.create(‘mysql.rrd‘,‘--step‘,‘3‘,‘--start‘,‘1402643365‘,
‘DS:mysqlselect:COUNTER:5:0:U‘,
‘RRA:AVERAGE:0.5:1:28800‘,
‘RRA:AVERAGE:0.5:10:2880‘,
‘RRA:MAX:0.5:10:2880‘,
‘RRA:LAST:0.5:10:2880‘)
#2使用rrdtool update更新网卡流量 getselect.sh
while true; do
SELECT=`snmpget -v 2c -c public 192.168.1.141 ifInOctets.2 | sed -e ‘s/.*ter32: \(.*\)/\1/‘`
rrdtool update mysql.rrd N:$SELECT
sleep 3
done
#3绘图 graph_rrd.py
#coding=utf-8
import rrdtool
rrdtool.graph(‘mysql.png‘,‘--start‘,‘1402645825‘,
‘--title‘,‘mysql select‘,
‘--vertical-label‘,‘selects/3‘,
‘DEF:select3=mysql.rrd:mysqlselect:AVERAGE:step=3‘,
‘LINE1:select3#FF0000:select‘,)
#4查询,查询2014.6.12 15:50:25至2014.6.12 15:51:25之间的数据
import rrdtool
print rrdtool.fetch(‘mysql.rrd‘,‘AVERAGE‘,‘--start‘,‘1402645825‘,‘--end‘,‘1402645885‘)
效果图:
参考:
http://my.oschina.net/guol/blog/136023
http://freeloda.blog.51cto.com/2033581/1307492
http://bbs.hexun.com/money/post_568_6335152_1_d.html