RRDTool(一)--概述,create

一.概述

1.RRD:Round Robin Database,环状数据库,该数据库有固定大小,并有一个指针指向最近的位置;

2.RRD数据是基于时间序列的,每个数据都有个时间戳,即从1970/1/1开始到当前时间的秒数;

3.RRA:Round Robin Archive,轮转归档信息,多个PDP通过聚合后计算得到的值,保存在对应的时间槽中,这里的时间槽和生成数据时候定义的时间槽不是同一个概念,这里做过聚合;

4.PDP:Primary Data Point,主数据节点,根据每个step获取的直接数据;

5.CDP:Consolidation Data Point,聚合节点,通过多个PDP聚合而成的值;

6.DS:Data Source,数据源,每个RRD文件可以有多个数据源,至少有一个,可以对每个DS做单独的聚合,指定的DS名要求小于19个字符,只能包含[a-zA-Z0-9_];

7.CF:聚合运算,可以有以下四种方式:AVERAGE,MAX,MIN,LAST,分别取平均值,最大值,最小值和当前值;

8.基本概念关系图:

RRDTool(一)--概述,create_第1张图片


二.rrdtool

1.使用:rrdtool 

rrdtool create:创建新的RRD数据库;

rrdtool update:向RRD数据库中插入值;

rrdtool updatev:功能等同于update,只是不在屏幕输出结果;

rrdtool graph:使用RRD文件绘图;

rrdtool dump:依次取出RRD数据;

rrdtool fetch:取出一个数据;

rrdtool last:只取出上一个数据;

rrdtool info:查看文件格式;


三.rrdtool create

1.使用:

rrdtool create file_name [--start|-b start_time] [--step|-s step] [--no-overwrite] [DS:ds_name:DST:dst_arguments] [RRA:CF:cf_arguments]


2.选项和参数

file_name:定义生成的RRD文件名;

--start|-b:定义起始时间戳,默认为now-10s;

--step|-s:定义时间跨度,即每隔多长时间取一次数据,默认300s;

DS:指定一个数据源:

DS:关键字;

ds_name:DS名字;

DST:数据源的类型,有GAUGE,COUNTER,DERIVE,ABSOLUTE,COMPUTE;

GAUGE:保存当前值;

COUNTER:保存相对于上一个数值的值,必须是递增的值;

DERIVE:保存相对于上一个值的值,不要求递增;

ABSOLUTE:保存相对于初始值的相对值;

例如:数据值:2 7 4 9,初始值为1时:GAUGE保存为2 7 4 9,COUNTER无法识别,DERIVE保存为1 5 -3 5,ABSOLUTE保存为1 6 3 8


dst_arguments:DST参数,有heartbeat:min:max

heartbeat:当数据没有及时取到时,设定多少时间内该数据有效,如果无效,标记为UNKNOWN;

min:数值最小值,即时间槽中保存数据的下限,超出则标记为UNKNOWN,可用U表示不指定范围;

max:数值最大值,即时间槽中保存数据的上限为UNKNOWN,可用U表示不指定范围;

RRA:指定通过某个聚合函数后归档;

RRA:关键字;

CF:指定聚合函数,有AVERAGE,MAX,MIN,LAST;

AVERAGE:平均值;

MAX:最大值;

MIN:最小值;

LAST:当前值;

cf_arguments:CF参数,有xff:steps:rows

xff:用于定义指定的聚合函数PDP中有多大的比例为UNKONWN,当数据UNKONWN比例大于定义的xff时,认为CDP为UNKONWN;

steps:指定几个PDP聚合成一个CDP;

rows:一共保存多少个聚合的结果;


3.例:

rrdtool create test.rrd --step 5 DS:testds:GUAGE:10:0:U RRA:AVERAGE:0.5:1:17280 RRA:AVERAGE:0.5:10:3456

解释:

新建一个test.rrd文件,每5秒取一次数据,DS名为testds,保存数据方式为GAUGE,指定heartbeat为10s,最小值为0,最大值不设定(U);

第一个RRA聚合函数用AVERAGE,xff设定为0.5,每一个PDP组成一个CDP,保存一天的数据(rows=86400/5/1);

第二个RRA聚合函数用AVERAGE,xff设定为0.5,每10个PDP组成一个CDP,保存两天的数据(rows=86400*2/5/10)。





你可能感兴趣的:(运维管理,Linux高级运维)