RRDTool工具使用学习

2022-04-26 00:00:00 数据 数据库 时间 定义 聚合

目录

1、RRDTool简介

2、所需了解的术语

3、RRDTool工具绘图流程

4、软件安装

5、RRDTool绘图工作流程

6、实战案例

7、总结

说明:博文中涉及的图片可能不是博主绘制。

1、RRDTool简介

    RRDTool是一个强大的绘图引擎,它能把以时间序列的数据用图表的的方式直观的表现出来,是由Tobias Oetiker编写的工具,并且是一款开源、自由的软件,早期的MRTG也是由Tobias Oetiker主导编写,因为MRTG有众多的不足,所以后来作者开发了RRDTool工具。

    RRD是Round Robin Database的缩写,中文名为轮转数据库,数据库以rrd结尾。这种数据库由一个固定大小的数据文件来存放数据,此数据库不会像传统数据库一样为随着数据的增多而文件的大小也在增加,RRD在创建好后其文件大小就固定,可以把它想像成一个圆,圆的众多直径把圆划分成一个个扇形,每个扇形就是可以存数据的槽位,每个槽位上被打上了一个时间戳,在圆心上有一个指针,随着时间的流逝,取回数据后,指针会负责把数据填充在相应的槽位上,当指针转了360度后,开始的数据就会被覆盖,就这样RRD循环填充着数据,其工作方式如下图所示:

2、所需了解的术语

    这个数据库里存储的数据未必是我们直接获取到的源数据,采用一些数据搜集工具,如脚本、shell命令、SNMP等工具在一定时间间隔里把数据搜集填充到rrd数据库中,这些需要数据搜集的对象叫DS,一个DS里在一个时间里可以搜集的数据可以有多个,比如一个时间点上对网卡来说有进来的流量,也有流出的流量,所以这是2个数据成为一组数据。源数据获取到后是存放在一个数据库的一个临时区域,这些源数据叫做PDP,RRDTool把这些PDP数据作为数据源通过分组、再利用聚合函数计算后把计算后的结果放在RRD数据库的时间槽(time slot)上,这些数据叫做CDP,CDP才是RRDTool绘图时真正打交道的数据,源数据只是数据搜集工具搜集交到RRDTool的源数据,这些数据需要再次整理成CDP后RRDTool才能调用。在从源数据中取数据做聚合计算时会有一个挑选数据的基准,也就是说是以几个源数据为一组做聚合,根据现实需求的不同,对源数据可以很灵活的选择不同的时间段提取源数据,再聚合提取不同的聚合值,这样就产生不同组别的CDP数据,这些有以相同时间段挑选源数据及相同聚合函数计算的结果组成的数据就叫RRA,所以根据挑选源数据的标准及采用的聚合函数的不同,RRA可以有多组。

    整理一下涉及到的术语:

DS:Data Source  数据源,用于定义搜集数据的工具所搜集数据的一些特性

Time Solt:时间槽,用于存放通过聚合后的数据区域

PDP:Primary Data Point  主数据节点,每个时间点产生的数据,即是搜集的源数据,没有做聚合的数据

CDP(Consolidation Data Point  聚合数据节点):通过对获取的源数据分组、聚合计算后得到的数据叫CDP,

RRA(Round Robin Archive 轮转归档):以相同的分组、聚合函数计算后的CDP数据组就组成了RRA

Resolution(解析度):这是一个时间跨度,表示在做聚合计算时是以几个连续的time slot里的数据做聚合,在默认时rrd是以300秒的间隔产生一个time slot。

CF:Consolidation Function,合并函数或聚合函数,以RRDTool中有AVERAGE、MAX、MIN、LAST4种

以一个图来说明PDP、CDP、RRA之间的关系:

PDP是以规定的时间间隔(默认为300秒)搜集的源数据,个RRA以4个PDP(即4*300秒)为一组做CF后组成的数据,第二个RRA则是以10个PDP为一组做CF后组成的数据。

3、RRDTool工具绘图流程

    先是利用搜集工具搜集源数据,再把这些数据以一定时间间隔填充到rrd数据库,再从源数据中以定义的时间间隔为组通过CF计算后生成RRA数据,再由RRDTool抽取出RRA数据绘制成图表。发一个图来说明:

步:创建一个数据库,用于存放数据,也是绘图时的数据来源;

第二步:数据采集,RRDTool没有自带数据采集功能,需要自己用脚本、命令、SNMP等方式采用所要绘图的数据;

第三步:数据采集后,通过分组,CF后把数据更新到数据库中;

第四步:因为RRDTool绘制的是以时间序列的走势图,所以第二到第四步是循环进行的。

4、软件安装

    RRDTool工具在众多平台都可以运行,我这里以CentOS(CentOS 6.4_x86_64)平台为例,在这里下载所需包http://packages.express.org/rrdtool/

1

相关文章