设为首页 收藏本站
查看: 2297|回复: 0

[经验分享] rrdtool基础原理整理笔记

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-3-6 08:31:57 | 显示全部楼层 |阅读模式
rrdtool是一个rrd数据库的工具,可以用来管理,绘图,功能使用实在是复杂繁琐。

rrd数据库的原理:
        所 谓的“Round Robin” 其实是一种存储数据的方式,使用固定大小的空间来存储数据,并有一个指针指向最新的数据的位置。我们可以把用于存储数据的数据库的空间看成一个圆,上面有 很多刻度。这些刻度所在的位置就代表用于存储数据的地方。所谓指针,可以认为是从圆心指向这些刻度的一条直线。指针会随着数据的读写自动移动。要注意的 是,这个圆没有起点和终点,所以指针可以一直移动,而不用担心到达终点后就无法前进的问题。在一段时间后,当所有的空间都存满了数据,就又从头开始存放。 这样整个存储空间的大小就是一个固定的数值。所以RRDtool 就是使用类似的方式来存放数据的工具, RRDtool 所使用的数据库文件的后缀名是'.rrd。如下图,

QQ截图20150306083227.png
常用rrdtool语句


rrdtool create filename.rrd         ##创建一个名字为filename.rrd的数据库文件

--start time                                    ##开始时间

--step                                             ## 多少秒,从获取一次数据

DS:ds_name:DST:heartbeat:min:max
RRA:CF:xxf:steps:rows                ##RRA可以创建多个。

下面是本人用通俗的两句话来理解:
DS:ds_name:DST:heartbeat:min:max
  • 创建一个数据源名字为ds_name,并且数据源类型为DST:heartbeat的时间为某某(大于step时间),并且接受的数据最小值为min,最大值为max。这一步通过DS这行得到了PDP数据。
RRA:CF:xxf:steps:rows
  • 对PDP数据进行归档,每steps个PDP使用CF的方法(比如AVERAGE方法)生成一个CDP,CDP的最大保存数量为rows个。


第一句:DS:ds_name:DST:heartbeat:min:max

DS:Data Source ,获取的数据源
ds_name:自定义名字,绘图需要使用这个。
DST:DS type ,有 COUNTER、GUAGE、DERIVE、ABSOLUTE、COMPUTE 5种:
  • GAUGE:
        我们用的最多的就是GAUGE了,它的中文解释是:测量。在这里它表示实际的值。比如说输入次序为 98 100 98,那么输出顺序也是98 100 98。
  • COUNTER:
        累计值,自己进行计算,比如说输入次序为98 100 98,那么输出顺序也是2 -2,怎么出来的这两个数值呢?100-98 98-100,其实就是两个差值,它表示的是经过一个刷新周期的变化率。
  • DERIVE:
        也是累计值,和COUNTER一样的,唯一不同的是它不存在负值,最小的是0,不如-2那么它就只划0,结果为 2 0
  • ABSOLUTE:
        如同COUNTER,但COUNTER可能overflow(数值过大),所以会取绝对值
  • COMPUTE :COMPUTE 比较特殊,它并不接受输入,它的定义是一个表达式,能够引用其他DS并自动计算出某个值。例如 CODE:DS:eth0_bytes:COUNTER:600:0:U DS:eth0_bits:COMPUTE:eth0_bytes,8,* 则 eth0_bytes 每得到一个值,eth0_bits 会自动计算出它的值:将 eth0_bytes 的值乘以 8 。不过 COMPUTE 型的 DS 有个限制,只能应用它所在的 RRD 的 DS ,不能引用其他 RRD 的 DS。 COMPUTE 型 DS 是新版本的 RRDtool 才有的,你也可以用 CDEF 来实现该功能。如:CDEF:eth0_bits=eth0_bytes,8,*
heartbeat:有效数据获取时间,数据到达有延迟,只要在heartbeat时间内到达数据就有效
min|max:可接受数据的最小,最大值,2个位置可以分别填U代表不限制。


第二句:RRA:CF:xxf:steps:rows

RRA:它的作用就是定义更新的数据是如何记录的,RRA 即 Round Robin Archive,Archive是存档的意思。
CF:获取的数据(这个数据称为PDP)的consolidation function 合并方式,包含四种:
  • 有 AVERAGE、MAX、MIN、LAST ,分别表示对多个PDP 进行取平均、取最大值、取最小值、取当前值四种类型。
PDP:Primary Data Point 。
  • 正常情况下每个间隔时间(个人理解设置--step 的时间规定的时间),RRDtool 都会收到一个值。注意,该值不一定等于RRDtool 收到的那个值。除非是GAUGE 。
CDP:Consolidation Data Point 。
  • RRDtool 使用多个 PDP 合并为(计算出)一个 CDP。也就是执行上面 的CF 操作后的结果。这个值就是存入 RRA的数据,绘图时使用的也是这些数据。
xxf:取值范围0~1,空数据所占要进行CF操作的PDP的数量的比例,一般0.5。
steps:多少数量个step间隔组成一个CDP,也就是需要多少个PDP组成一个CDP。
rows:保存的CDP的数量。

解释度(Resolution)
       RRA中的steps越低,解析度越高。

  • setp=300
    RRA:AVERAGE:0.5:1:288  (记录了24小时的数据)
    RRA:AVERAGE:0.5:4:72    (记录了24个小时的数据)
    举个例子,上面2个RRA,如果我们要绘制60分钟的数据。
    那么我们可以从第一个RRA 中取出12个 CDP 来绘图;也可以从第2个 RRA中取出3个 CDP 来绘图。
    到底 RRDtool 会使用那个呢?让我们看一下 RRA 的定义 : 。
    Resolution 就等于 1 * step = 1 * 300 = 300 ,也就是说 ,resolution 是每个CDP 所代表的时间范围,或者说 RRA 中每个 CDP(记录)之间的时间间隔。所以第一个 RRA 的 resolution 是 1* step=300,第2是 1200 。
    默认情况下,RRDtool 会自动挑选合适的 resolution 的那个 RRA 的数据来绘图。我们大可不必关心它。但如果自己想取特定 RRA 的数据,就需要用到它了。关于 Resolution 我们还会在 fetch 和 graph 中提到它。

下面是RRA与PDP、CDP之间的关系图,
17115826_14Bu.png



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-44059-1-1.html 上篇帖子: rrdtool绘制图表笔记 下篇帖子: RRDTool 详解
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表