免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 64944 | 回复: 21
打印 上一主题 下一主题

RRDtool简体中文教程 v1.01 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-12-03 22:24 |只看该作者 |正序浏览
RRDtool 简介

**********************************************************************************************************************
注 :该教程参考了如下内容 :
A)官方文档 :http://oss.oetiker.ch/rrdtool/doc/index.en.html
B)abel 兄的大作 :http://bbs.chinaunix.net/viewthr ... p;highlight=rrdtool
                      http://bbs.chinaunix.net/viewthr ... p;highlight=rrdtool
作者 :ailms <ailms{@}263{dot}net>
版本 :v1
最后修改 :2006/12/6 22:20

*2006/12/06 :修正了第4篇中 create 命令中 RRA 行数的错误
**********************************************************************************************************************


注 :转载请注明出处

  在介绍 RRDtool 之前,让我们先回顾一下它的前身:MRTG。相信只要做网管工作的朋友,对 MRTG 这个软件一定不会陌生,

至少也可能听过。MRTG 可以通过 SNMP 协议直接访问 SNMP Object ,例如 ifInOctect 和 ifOutOctect ;也可以通过外部

script 的方式,来监测cpu、内存、磁盘利用率、数据库的表空间利用率等信息。只要把 MRTG 放入 crontab 中让其自动运行,

MRTG 就可以自动为你绘制出每天、每周、每月、每年的统计图表。 MRTG 甚至还为你提供了自动生成配置文件的 cfgmaker 和

自动生成 HTML 页面的 indexmaker 这两个工具,让你省去逐个编写 cfg 文件的痛苦。到目前为止,还有很多人在使用它。它现在

有 Unix、Windows 各种平台,windows 平台上甚至出现了 PRTG 这样和 MRTG 很象的东东,轻点鼠标就可以漂亮的完成工作。

既然如此,我们为什么还要介绍 RRDtool 呢?先让我们看几个问题,几个在 MRTG 使用中常见的问题 :


一)MRTG 不能作什么?

A)MRTG 一张图表只能显示2个对象,一个输入,一个输出。如果你想同时显示多个对象呢?例如笔者的单位有12台服务器。如果想

   把它们的负载情况都显示在一个图表上,MRTG 至少需要6张图。

B)MRTG无法回放数据。MRTG 的图是自动生成的,所采用的数据也是由 MRTG 自己提取的,例如5分钟平均的记录有288条,  MRTG每20分钟合并一次,

    每次合并4个记录。在50个小时后,288条记录将全部变成20分钟平均的数据。如果你想回放这些数据怎么办呢?对不起,只能去

    看第2个图了(每周)。

C)MRTG 只有 COUNTER 和 GAUGE 这两种计算类新。如果我要监测两个数值型的对象之间的大小,它们之间的差值可以是正数,也可以

   是负数。MRTG 能实现吗?笔者在多次试验中发现,MRTG 对于负数的和 ‘.15’  这样格式的小数(通常都是bc的输出)的识别会出错。

   例如把 ‘.72’ 识别为 72,把 -1 识别为 1。

D)MRTG 无法实现有条件的绘图。有时候我们只想看某个服务器在一年之中的宕机时间,正常时间我们不关心;或者我们想看当前值和去年同期相比究竟如何? 这些都是

     MRTG无法做到的

二) MRTG 的优点

那 MRTG 和 RRDtool 相比就没有优点了吗?也不是。简单、方便就是它的最大优点。

(MRTG 中还有一个好东西就是自动告警功能,相比之下,RRDtool 在这方面的配置比较复杂,

还不如直接作到 shell script中)

前面提到 MRTG 能够通过 cfgmaker 和 indexmaker 快速建立配置文件和HTML页面。而 RRDtool 在这两方面都需要自己动手。

数据的采集→插入数据→提取数据→绘图→建立 HTML ,这些步骤都是需要你自己动手的。RRDtool 给了使用它的人最大程度的自由。但这种

自由对于新手或者没有耐心的人来说可能是一种考验。相比之下,MRTG 就容易上手多了。


三) RRDtool 的定义

   RRDtool 代表 “Round Robin Database tool” ,作者同时也是 MRTG 软件的发明人。官方站点位于http://oss.oetiker.ch/rrdtool/

   所谓的“Round Robin” 其实是一种存储数据的方式,使用固定大小的空间来存储数据,并有一个指针指向最新的数据的位置。我们可以把用于存储
   
  数据的数据库的空间看成一个圆,上面有很多刻度。这些刻度所在的位置就代表用于存储数据的地方。所谓指针,可以认为是从圆心指向这些刻度的

  一条直线。指针会随着数据的读写操作自动移动。要注意的是,这个圆没有起点和终点,所以指针可以一直移动,而不用担心到达终点后就无法前进

  的问题。在一段时间后,当所有的空间都存满了数据,就又从头开始存放。这样整个存储空间的大小就是一个固定的数值。所以RRDtool 就是使用类似

  的方式来存放数据的工具,RRDtool 所使用的数据库文件的后缀名是 ‘.rrd’。


四)RRDtool 的特殊之处

A) 首先 RRDtool 存储数据,扮演了一个后台工具的角色。但同时 RRDtool 又允许创建图表,这使得 RRDtoo  看起来又像是前端工具。其他的数据库

         只能存储数据,不能创建图表。

B) RDtool 的每个 rrd 文件的大小是固定的,而普通的数据库文件的大小是随着时间而增加的

C) 其他数据库只是被动的接受数据, RRDtool 可以对收到的数据进行计算,例如前后两个数据的变化程度(rate of  change),并存储该结果。

D) RRDtool 要求定时获取数据,其他数据库则没有该要求。如果在一个时间间隔内(heartbeat)没有收到值,则会用 UNKN 代替,其他数据库则不会这样做

五)总结RRDtool 和 MRTG 的不同之处

A) MRTG 是采用配置文件的方式来监控的;

      RRDtool 则没有配置文件一说。所有操作都是通过命令(也可以写成script方式)执行

B) MRTG 有自动采集数据的功能(通过 snmp);

     RRDtool 没有,需要手工或者通过 shell/perl 脚本来获取数据

C) MRTG 每次运行都会更新图片和日志;

     RRDtool 默认知识接收数据,并不会绘图,除非手工执行 graph 命令

D) MRTG 采用明文的 log 方式存放历史数据;
   
     RRDtool 采用数据库的方式来存放数据;

E) MRTG 无法回放日志数据,因为 MRTG 会对日志进行合并;

     RRDtool 采用 RRA 的概念,把不同统计周期的数据单独存放,所以可以做到历史数据的回放功能

F) MRTG 的 log 中每种周期的记录的数量是自动维护的;
   
     RRDtool 的 RRA 中的记录数是可以自定义的。

G) MRTG 中数据的统计时间间隔是固定的,例如 5分钟平均,30分钟平均,2小时平均,1天平均;
   
      RRDtool 可以任意设置(试过1分钟一次)

H) MRTG 一张图只能显示2个对象;

     RRDtool 可以显示多个。

I) MRTG 的数据类型只有 COUNTER 和 GAUGE 两种;

    RRDtool 有5种,COUNTER、GAUGE、DERIVE、ABSOLUTE、COMPUTE

J) MRTG 的图表只能显示当前值、最大值、平均值;

     RRDtool 可以显示当前值(LAST)、初值(FIRST)、最大值(MAX)、最小值(MIN)、平均值(AVG)、总和(TOTAL)等

K) MRTG 绘图方式只有 AREA、LINE 方式;

     RRDtool 则有 AREA、LINE(1|2|3)、STACK 方式;

L) MRTG 负责搜集、存储、绘图、建档(HTML);

     RRDtool 只负责存储、绘图这两个阶段,所以需要自己建立 HTML 文件

M) MRTG 的运算功能较差;

      RRDtool 可以通过 CDEF 对取出来的数据进行算术和逻辑运算;

N)MRTG 只能原原本本的显示数据;

    RRDtool 可以对数据进行处理,或者有条件的显示;

看来 RRDtool 的功能是不是比 MRTG 强很多呢?!

具体的差异目前就只能想到这些,不知各位还有没有什么补充呢? !!^_^ !!

相信这么讲的话还是比较抽象的,不过不用急,目前只是一个开始而已。

下一节我们开始讲如何安装 RRDtool 。

[ 本帖最后由 ailms 于 2007-1-19 22:14 编辑 ]

论坛徽章:
0
22 [报告]
发表于 2006-12-20 14:21 |只看该作者
好贴呀、

论坛徽章:
0
21 [报告]
发表于 2006-12-18 13:52 |只看该作者

good!!!

very good>

论坛徽章:
0
20 [报告]
发表于 2006-12-16 18:06 |只看该作者
请用1.2.15作教程,1.2.14还不支持多字节语言,老了点

[ 本帖最后由 wysilly 于 2006-12-16 18:08 编辑 ]

论坛徽章:
0
19 [报告]
发表于 2006-12-16 17:48 |只看该作者
非常详细,谢谢!

论坛徽章:
0
18 [报告]
发表于 2006-12-08 20:45 |只看该作者
>
DS:eth0_out:COUNER:600:0:12500000 \        # 如果没有最小值/最大值,可以用 U 代替,例如 U:U

COUNER是否应该是COUNTER阿

论坛徽章:
0
17 [报告]
发表于 2006-12-06 11:42 |只看该作者
非常好的帖子,挺详细的

论坛徽章:
0
16 [报告]
发表于 2006-12-05 15:21 |只看该作者
这么好的贴子,留个名。

论坛徽章:
0
15 [报告]
发表于 2006-12-05 12:14 |只看该作者
收藏~

论坛徽章:
0
14 [报告]
发表于 2006-12-04 21:02 |只看该作者
好长哦
等明天好好看看
顶一下先!!!
  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP