美文网首页常用小开源框架
RRDTool 存储原理简介

RRDTool 存储原理简介

作者: 逗逼程序员 | 来源:发表于2020-04-23 18:39 被阅读0次

    RRDTool 是一套检测工具,可用于存储和展示被监测对象随时间变化情况。比如:我们在Windows 电脑上常见的内存和 CPU 使用情况:

    img

    RRD 的全称 Round Robin Database ,即【环形数据库】。顾名思义,它是一种循环使用存储空间的数据库,适用于存储和时间序列相关的数据。

    RRD 数据库在被创建的时候就已经定义了大小,当存储空间满了以后,又从头开始覆盖旧的数据,所以和其他线性增长的数据库不同,RRD 的大小可控且不用维护。

    你可以把RRD 理解为 一个有时间刻度的圆环,每个刻度上可以存储一个数值,同时 有一个从圆心指向修心存储值的指针。

    可以想象,随着时间的推移,指针会绕着圆心一直移动下去,当它指向下一个刻度的时候,就可以在那个位置存储一个新的数值。但是,指针只能饶一个方向前进,假设你存储了时刻3的监测值,那就不能再存储时刻2的监测值了。如下图所示:

    img

    创建 RRD 基本语法

    rrdtool create filename 
    
    [--start|-b start-time] 
    
    [--step|-s step]
    
    [DS:ds-name:DST:dst-arguments]
    
    [RRA:CF:xff:step:rows]
    
    
    

    其中,

    rrdtool create filename
    

    表示使用 rrdtool 命令 create 创建一个名为 filename 的数据库文件,通常 RRD 数据库文件的后缀为 .rrd ,但是你随便使用文件名也不会有影响。

    --start|-b start-time
    

    这个选项表示 RRD 数据库的起始 (start/begin) 时间点为 start-time,这是一个从 1970-01-01 00:00:00 开始计时,以秒为间隔的一个整数值。

    如图所示:

    img

    A点是从 1970-01-01 00:00:00 开始经过0秒后到达的时间点;

    B点是从 1970-01-01 00:00:00 开始经过658108920秒后到达的时间点 1990-11-09 00:02:00;

    C点是从 1970-01-01 00:00:00 开始经过1458763813秒后到达的时间点 2016-03-23 20:10:13。

    所以,start-time 是一个代表时间点的整数值,表示 RRD 数据库记录的监测值从这个时刻开始。

    [--step|-s step]
    

    这个选项表示监测的时间间隔,即多久时间去获取一次被监测对象的数值,默认值为5分钟(300秒)。比如,我们可以从10:00开始每60秒去获取一次电脑内存的使用值,这个时候 step 就是 60,获取到的数值如下图所示:

    img

    相关文章

      网友评论

        本文标题:RRDTool 存储原理简介

        本文链接:https://www.haomeiwen.com/subject/xoxzihtx.html