原理:RRDTool的分析
定义:
是指Round Robin Database工具(环状数据库)。
Round Robin
是一种处理定量数据、以及当前元素指针的技术。
- 想象一个周边标有点的圆环--这些点就是时间存储的位置。
- 从圆心画一条到圆周的某个点的箭头--这就是指针。
- 就像我们在一个圆环上一样,没有起点和终点,你可以一直往下走下去。
- 过来一段时间,所有可用的位置都会被用过,该循环过程会自动重用原来的位置。
- 这样,数据集不会增大,并且不需要维护。
使用RRDtool来存储和处理通过SNMP收集到的数据。它用向RRD数据库存储数据、从RRD数据库中提取数据。RRDtool 所使用的数据库文件的后缀名是 .rrd
适用于:
- 可以适合时间序列的数据。
- 就是说你必须能够在时间的几个点上度量某些值,并提供这些信息给RRDtool。
- 如果你能够做到这一点,RRDtool就能够存储它们。这些数值必须是数字,但是不一定要是整数。
- RRDtool 存储数据,扮演了一个后台工具的角色。但同时 RRDtool 又允许创建图表,这使得 RRDtool 看起来又像是前端工具。
- 其他的数据库只能存储数据,不能创建图表。
特点:
- RDtool 的每个 rrd 文件的大小是固定的,而普通的数据库文件的大小是随着时间而增加的
- 其他数据库只是被动的接受数据, RRDtool 可以对收到的数据进行计算,例如前后两个数据的变化程度(rate of change),并存储该结果
- RRDtool 要求定时获取数据,其他数据库则没有该要求。如果在一个时间间隔内(heartbeat)没有收到值,则会用 UNKN 代替,其他数据库则不会这样做
- RRDTool完全就是为了监控而定制的绘图引擎及数据库
在监控管理中有2款是比较突出的:cacti、ganglia