RRDtool 的功能及使用介绍

RRDtool 的功能及使用介绍

定义:RRDtool(Round Robin Database Tool)是一个用来处理定量数据的开源高性能数据库。

一.RRDtool 的特性

由于 RRDtool 设计的初衷就是为监控开发的,所以与其他的数据库相比,RRDtool 有以下特性:

  • 有一个强大的绘图引擎,可以根据数据库内容,创建 png 格式的图片。图 1,图 2 和图 3 所示的就是三张通过 rrdtool graph 命令生成的网络带宽波形图。

图 1. 最近一小时的网卡收发速率

图 2. 最近一天的网卡收发速率

图 3. 最近一年的网卡收发速率

  • 是一个基于时间序列的环形数据库。可以想象一个圆,圆周上有一些均匀分散的点。这些点就是数据存储的位置。从圆心画一条到圆周的某个点的箭头,这个箭头就是指向当前元素的指针。在当前元素被读或写之后,指针就往下一个元素移动。当所有位置都被用过,原来的位置就会被重用。这样,数据库永远不会满,不需要维护。
  • 可以被配置成存储当前值与前一个值变化速度,而不是简单地存储提供的值。
  • 要求在预定的时间间隔中取得监控数据,如果没有得到更新的数据,就将该时间段的值设为 UNKNOWN.

二.RRDtool 中的数据处理

RRD 数据库存储的值并不一定等于更新时提供的值。这个值是根据数据库设定对提供的值进行计算得到的。计算过程可以分为三个步骤:

1.根据用户定义的数据类型对提供的值进行计算,具体计算方法见表 1

数据类型 计算方法
GAUGE 等于提供的值,适用于提供值为速度计、温度或人数等
COUNTER 当前值与前一个值的变化速度,要求递增的值,如计数器,里程表等。如果计数器溢出,RRDTool会检查溢出是32位还是64位,并相应的加上合适的值
DERIVE 当前值与前一个值的变化速度,不要求递增。除了不进行溢出处理之外,该类型的内部处理机制与COUNTER相同
ABSOLUTE 假定前一个值始终为0,求变化速度。可用来存储读取后复位的计数器

表 1.RRDtool 中的数据类型

1)整形

输入的时间经常会不在时间间隔的边界,所以需要根据前后两个有效的更新进行线性整形。(有效时间是被 heartbeat 设定控制的 )假定你在监视一个增长速度不均匀的计数器,每分钟检查一次,在 4:30 是 2,5:30 是 4,那么第 5 分钟的变化速度为 3。整形后得到的值称为 PDP(Primary Data Points)。

2)合并

RRDtool 最终会根据设定对 PDP 进行合并,得到 CDP(Consolidated Data Point)。CDP 可以是多个(可以是一个)PDP 的平均值、最小值、最大值以及最近的值。CDP 是 RRD 数据库中最终存储的数据。这对于输出监控数据时是非常有利的。假设每个 PDP 的时间间隔是 1 分钟,如果你想查看 1 天的数据,而且你不需要查看每一分钟具体的监控数据,只是想看一下这一个天中每半个小时的监控数据。如果 RRD 中存储的是 PDP, 在输出时就需要对当天的 PDP 每 30 个进行合并。合并需要时间,如果你需要合并的数据量更大,如 1 个月或是 1 年,那这个合并的时间会非常长。所以 RRDtool 选择在数据库更新时对 PDP 进行合并,保存 CDP。用户可以根据需要设定如何对 PDP(非 UNKNOWN)进行合并。

合并方式 计算方法
AVERAGE 平均值
MIN 最小值
MAX 最大值
LAST 最近值

表 2.PDP 的合并方式

三.RRDtool 命令使用

1. 创建 RRD 数据库

语法:

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

参数:

1) create 关键字,用于创建一个 RRD 数据库文件

filename 文件名,扩展名最好是 .rrd

--start|-b start time 第一个记录的开始时间,默认是当前时间减 10 秒。表示方法为从 1970-01-01 UTC 到指定时间的秒数

--step|-s step 每条记录的时间间隔,默认为 300 秒

--no-overwrite 不覆盖同文件名的数据库文件

2) DS:ds-name:DST:dst arguments

DS 关键字,用于定义数据源。一个 RRD 文件可以有多个 DS。

ds-name 数据源名称,可以是 1 ~ 19 个 [a-zA-Z0-9_] 中的任意字符,一个 RRD 数据库文件可以有多个数据源。

DST 数据类型。支持的数据类型有:

GAUGE, COUNTER, DERIVE, ABSOLUTE,COMPUTE

DS:ds-name:GAUGE | COUNTER | DERIVE | ABSOLUTE:heartbeat:min:max

DS:ds-name:COMPUTE:rpn-expression

COMPUTE 存放对其他数据源进行公式计算的结果。

Heartbeat 心跳,两次数据源更新之间将数据源的数值确定为 UNKNOWN 前所允许的最大秒数。Min:max PDP 的最小值 / 最大值。

3) RRA:CF:cf arguments

RRA 关键字,用于定义 RRA(round robin archive) 档。一个 RRD 数据库文件有至少一个的 RRA 档。CDP 就被保存于 RRA 中。

CF 合并方式,可以是 AVERAGE,MIN,MAX,LAST

RRA:AVERAGE | MIN | MAX | LAST:xff:steps:rows

xff 定义合并时间间隔内允许的 PDP 为 UNKNOWN 的比例,超过这个比例时,CDP 被置为 UNKNOWN。

steps 定义多少个 PDP 合并一个 CDP。

rows 定义一个 RRA 档保存有多少条记录。

2. 更新 RRD 数据库

语法:

rrdtool {update | updatev} filename [--template|-t ds-name[:ds-name]...] [--daemon address] [--] N|timestamp:value[:value...] [email protected][:value...] [timestamp:value[:value...] … ]

参数:

1) update/updatev 关键字,用于更新数据库

updatev 会输出磁盘上数据库文件更新后输出更新信息。由于 updatev 需要直接的磁盘访问,所有不能与 --daemon 共用。

filename 需要更新的 RRD 数据库的文件名

2) --template|-t ds-name[:ds-name]...

默认情况下,需要按照数据源定义的顺序更新。该参数允许你指定要更新的数据。

3) --daemon address

使用缓存后台程序更新数据库,而不直接访问磁盘。

4)N|timestamp:value[:value...]

更新时间及数据。时间格式可以是 N| 时戳;N 表示现在;时戳以自 1970-01-01 以来的秒数来表示。 如果使用负数时间(当前时间之前多长时间),需要使用—与其它选项区分开。用 U 表示数据的值为 UNKNOWN。

[email protected][:value...]

更新时间也可以使用 AT 风格表示。

环境变量 RRDCACHED_ADDRESS 与 --daemon 选项的作用是一样的,如果两者都出现的话,前者优先。

3. 读取数据

语法:

rrdtool fetch filename CF [--resolution|-r resolution] [--start|-s start] [--end|-e end] [--daemon address]

参数:

1) fetch 关键字,用于取数据。

2) filename 需要读取的文件的文件名

3) CF 需要读取数据的合并方式 (AVERAGE,MIN,MAX,LAST)

4) --resolution|-r resolution (default is the highest resolution)

解析度,也就是你要取数据的时间间隔(单位:秒);rrdfetch 会尽量找到最匹配的 RRA。默认为数据库文件支持的最高解析度,即时间间隔最短的;如果想取的不是最高解析度的 RRA,假设要取得的是解析度为 x 的 RRA,开始时间和结束时间必须落在期望解析度的边界点上,即需要满足以下条件:

a.start 时间和 end 时间都是 x 的倍数

b.start 时间和 end 时间都在 RRA 记录的时间范围内。

5) --start|-s start (default end-1day)

开始时间;支持时戳和 AT 风格;默认是 1 天前。

6) --end|-e end (default now)

结束时间;格式与开始时间相同;默认是现在;

7) --daemon address

缓存后台程序地址。如果指定的话,在读取之前,会发 flush 指令给缓存后台程序将缓存的数据同步到磁盘。


RRDtool 的功能及使用介绍

时间: 2024-10-07 05:02:23

RRDtool 的功能及使用介绍的相关文章

ERC功能模块特点介绍

ERC功能模块特点介绍 客户管理 客户自定义多级分组和等级管理首创的业务大厅协同工作处理中心首创的员工工作日记和业务跟踪管理通过客户服务中心协同各部门作业 销售管理 首创的订单处理中心和看板管理功能产销需求中心自动跟踪订单的执行适应加工型企业的特殊产销模式支持POS机开单和多仓库开单功能彻底解决开单与发货不在同一地点 采购管理 首创的采购处理中心,提供看板管理供应商客户自定义多级分组分等级在线解决采购和收货不在同一地点支持多种灵活的委外加工模式通过物料台账有效管理外加工物料 库存管理 彻底解决各

基于Metronic的Bootstrap开发框架经验总结(8)--框架功能总体界面介绍

在前面介绍了一系列的<基于Metronic的Bootstrap开发框架经验总结>的随笔文章,随笔主要是介绍各个知识点的内容,对框架的总体性界面没有很好的阐述,本篇随笔主要介绍这个Bootstrap框架的总体性功能界面,介绍其中用到的知识点和整体性的界面.希望读者对框架有一个更加直观.真实的认识了解,界面设计以及相关思路可以借鉴提高,也可以对相关的内容进行相互探讨,共同提高. 1.<基于Metronic的Bootstrap开发框架>技术特点 1)采用最新最炫的Bootstrap响应式

【F12】chrome浏览器中 F12 功能的简单介绍

chrome浏览器中 F12 功能的简单介绍 由于F12是前端开发人员的利器,所以我自己也在不断摸索中,查看一些博客和资料后,自己总结了一下来帮助自己理解和记忆,也希望能帮到有需要的小伙伴,嘿嘿! 首先介绍Chrome开发者工具中,调试时使用最多的三个功能页面是:元素(ELements).控制台(Console).源代码(Sources),此外还有网络(Network)等. 元素(Elements):用于查看或修改HTML元素的属性.CSS属性.监听事件.断点等. 控制台(Console):控制

PHP会员找回密码功能实现实例介绍

设置思路 1.用户注册时需要提供一个E-MAIL邮箱,目的就是用该邮箱找回密码. 2.当用户忘记密码或用户名时,点击登录页面的“找回密码”超链接,打开表单,并输入注册用的E-MAIL邮箱,提交. 3.系统通过该邮箱,从数据库中查找到该用户信息,并更新该用户的密码为一个临时密码(比如:12345678). 4.系统借助Jmail功能把该用户的信息发送到该用户的邮箱中(内容包括:用户名.临时密码.提醒用户及时修改临时密码的提示语). 5.用户用临时密码即可登录. HTML 我们在找回密码的页面上放置

NopCommerce功能与特点介绍

[本文转自]http://www.cnblogs.com/nopcommerce-b2c/p/3758676.html 前两节我们主要介绍了NopCommerce下载与安装和NopCommerce中文语言包,让大家体验一下NopCommerce.这次我们主要来介绍NopCommerce的功能与特点. NopCommerce被誉为.NET领域最好的电子商务网站,开源且免费(需在网站底部保留NopCommerce版权标识),如果感觉NopCommerce太碍眼也可以交个50刀去除版权限制. NopC

RNNLM——A Toolkit For Language Modeling rnnlm基本功能命令详细介绍

本文来自CSDN博客,转载请注明出处:http://blog.csdn.net/a635661820/article/details/44748583 参考文献:RNNLM - Recurrent Neural Network Language Modeling Toolkit(点此打开) 参考文献:STATISTICAL LANGUAGE MODELS BASED ON NEURAL NETWORKS(点此打开) 由Mikolov用rnn对语言进行建模所获得的效果已经超过传统的N-GRAM了,

spring boot项目之微信支付功能实现详细介绍

对接微信支付功能主要有以下几个步骤, 而其第一个关键点就是获取OpenID,在这里介绍两种获取方式: 一.微信授权 微信网页授权 如果用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑. 关于网页授权回调域名的说明 1.在微信公众号请求用户网页授权之前,开发者需要先到公众平台官网中的"开发 - 接口权限 - 网页服务 - 网页帐号 - 网页授权获取用户基本信息"的配置选项中,修改授权回调域名.请注意,这里填写的是域名(是一个字符串),

1、开发板功能及使用介绍

本讲主要内容  1.开发板功能介绍  2.开发板使用方法 原文地址:https://www.cnblogs.com/zhb123456/p/10494991.html

mac自带功能超详细介绍

mac自带的超实用的功能分享给大家,包含自带的Spotlight(聚焦) 计算器功能,预览的 PDF 压缩功能,切换同一应用的不同窗口等,让您的工作更加轻松. 1.Spotlight(聚焦) 计算器功能 点击右上角菜单栏中的聚焦按钮,或者按 command - 空格组合键,调出聚焦(说聚焦怎么那么别扭呢,还是喜欢叫 Spotlight ),输入你要算的数即可.比特意打开计算器 App 要方便一些.(文章来源macdown.com) 2.预览的 PDF 压缩功能 用 Mac 自带的预览 App 打