安装与卸载
安装依赖
1 | yum -y install cairo-devel libxml2-devel pango-devel pango libpng-devel freetype freetype-devel libart_lgpl-devel |
去这里现在最新的源码包,解压编译安装。
1 | export PKG_CONFIG_PATH=/usr/lib/pkgconfig/ |
测试
1 | cd /usr/local/rrdtool/share/rrdtool/examples/ |
正常的话会生成一个png文件
卸载
因为编译的时候指定了目录,所以直接删掉就可以了。
未指定的话,去源码目录下 make uninstall
使用
建立命令
1 | rrdtool create filename [--start|-b start time] |
其中 filename 、DS 部分和 RRA 部分是必须的。其他两个参数可免。
参数解释
filename
:默认是以 .rrd 结尾,但也以随你设定。--step
:步长,间隔多少秒--start
:起始时间,timestamp 的格式DS
:DS 用于定义 Data Soure 。用于存放脚本的结果.DST
:DST 就是 Data Source Type 的意思。数据类型有 COUNTER、GUAGE、DERIVE、ABSOLUTE、COMPUTE 5种。RRA
:RRA 用于指定数据如何存放。我们可以把一个RRA 看成一个表,各保存不同 interval 的统计结果PDP
:单独数据点。Primary Data Point 。正常情况下每个 interval RRDtool 都会收到一个值;RRDtool 在收到脚本给来的值后 会计算出另外一个值(例如平均值),这个值就是 PDP ;这个值代表的一般是“xxx/秒”的含义。CF
:CF 就是 Consolidation Function 的缩写。也就是合并(统计)功能。有 AVERAGE、MAX、MIN、LAST 四种。分别表示对多个PDP进行取平均、取最大值、取最小值、取当前值四种类型。CDP
:合并数据点。Consolidation Data Point 。RRDtool 使用多个 PDP 合并为(计算出)一个 CDP。也就是执行上面 的CF 操作后的结果。这个值就是存入 RRA 的数据,绘图时使用的也是这些数据。
DST 详细说明
COUNTER
:必须是递增的,除非是计数器溢出(overflows)。在这种情况下,RRDtool 会自动修改收到的值。例如网络接口流量、收到的 packets 数量都属于这一类型。DERIVE
:和 COUNTER类似。但可以是递增,也可以递减,或者一会增加一会儿减少。ABSOLUTE
: 比较特殊,它每次都假定前一个interval的值是0,再计算平均值。GAUGE
:和上面三种不同,它没有“平均”的概念,RRDtool 收到值之后字节存入 RRA 中COMPUTE
: 比较特殊,它并不接受输入,它的定义是一个表达式,能够引用其他DS并自动计算出某个值。AVERAGE
:类型适合于看“平均”情况,例如一天的平均流量。所以 AVERAGE 适用于需要知道 ‘xxx/秒’ 这样的需求。但采用 AVERAGE 型时,你并不知道在每个 CDP 中(假设30分钟平均,6个PDP组成)之中,流量具体是如何变化的,什么时候高,什么时候低。这于需要用到别的统计类型了MAXIMUM 、MINIMUM
:最值LAST
:类型适用于 “累计”的概念,例如从xxx时候到目前共累计xxxx 这样的需求。
常用命令
first
就是用于查看该 RRD 文件中某个 RRA 的第一个数据是在什么时候插入的(或者说第一次更新);last
就是查看该 RRD 文件的最近一次更新;info
就是查看 rrd 文件的结构信息。update
插入数据,更新文件updatev
同上,可视化操作fetch
查询数据。
info
假如文件名是eth0.rrd
1 | rrdtool info eth0.rrd |
updatev
语法格式
1 | rrdtool {update | updatev} filename |
示例如下
1 | [root]# rrdtool last eth0.rrd |
return value 0 表示成功,1表示失败
COUNTER 型的 DS会对数据进行合并运算。
1 | (3300-3000)/step(300)=1 |
fetch
语法格式
rrdtool fetch filename CF [--resolution|-r resolution] [--start|-s start] [--end|-e end]