首页 > 代码库 > 验证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