论坛风格切换切换到宽版
  • 629阅读
  • 2回复

[问题求助]RRDtool简体中文教程_3:规划 [复制链接]

上一主题 下一主题
离线妖童.
 
发帖
2015
C币
-235496
威望
383
贡献值
1
银元
-2
铜钱
4444
人人网人气币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-05-01
前期规划

**************.**.**************************************************************************************.****************<性病>
注 :该教程参考了如.下内容 :外贸
A)官方文档 :http://oss.oetiker.ch/rrdtool/doc/index.en.html(广告)
B)abel 兄的大作 :http://bbs.chinaunix.net/viewthread.php?tid=552224&highlight=rrdtool教育
                      http://bbs.chinaunix.net/viewthread.php?tid=552220&highlight=rrdtool          婚庆
作者 :ailms <ailm.s{@}263{dot}n.et>.
版本 :v1
最后修改 :.2006/11/18 0:06    美容
***********************************************************************************.*********..**************************健康

   可能大家会觉得奇怪,做个 RRDtool 还要规划什么?.俗话说.:磨刀不误砍柴工。好的规划必须具备灵活性、可扩展性,否则会给    外汇

将来的使用带来不少的麻烦.。我们先谈一下 MRTG 的规划,再谈 RRDto.ol 的规划。           女人

一)MRTG 的前期规划

A)想要监测监测什么对象?并列出一个清.单;(广告)

B)想要以什么方法来取得数.据?是通过 .SNMP 还是 shell 、perl 。如果使用 SNMP ,监测对象所在主机  电影

   .   的 SNMP 服.务安装了吗?是否配置完毕;             汽车

C)每个对.象的监测时间是多长时间一次?并以此对.监测对象进行分类。例如笔者本人共用 MRTG 监测了 80 多个对象,并根据虚拟主机

     内容分成四类 :

  .   重要状态方面 : 例如 HACMP 的切换动作监控;Oracle 服务的状态;LVM 中的 vg. 是否在线;服务器是否宕机等。这些监教育

   .                            测对象对于一个系统的.运行来说都是十分重要的,一旦发生故障,需要.立即处理的。所以对于这类对象,按最           女人

             .          .       小时间间隔(5分钟一次)设置.

     I/O性能方面 :主要是 I/O 吞吐量、I/O. 服务时间方面的监测.。这类对象是7分钟一次

      次要状态方面 :例如 cpu利用率、内存利用率、.在线人数、温度、拨号用户人数等.。20分钟一次.

     利用率方面 : 由于实际应用的问题,所以对利用率比较关心。单独拎出来做.一块监.测。主要是监控Oracle 的各个表空间的利.

                      .      用率,.以及LVM磁盘系统各个分区的利用率。每25分钟一次

     监控机本身 :负责监控的监控机本身也需要监控。主要监控当前监测的对象数量,.以.及系统负荷。这类就30分钟一次。服务器


D)每个对象一个 cfg 文件?还是全部集中在一个 cf.g 文件中呢?我本人还是比.较倾向于每个 Target一个 cfg 文件,每个 cfg 中都定           建材

.       义 Workdir、Langua.ge   这两个选项。针对上面的5个分类,建立5个 “大的”cfg .文件,再利用 MRTG 中的  Include 功能导入一个个    外汇

         “小的”、具.体的 cfg 文件.。这样当日后对某个监测对象进行修改时(例如修改数据的获取脚本,或者修改图片的外观),可以单独测试.

         该对象。不用连.同其他对象也一起跑一次,节省不少时间。如果想取消.那个对象的监测,在前面提到的那个“大的”cfg 文件中,把对应.

        的 Incl.ud.e 语句注释掉就可以了,是不是更方便呢?             汽车

E)为个监控对象起.一个合适的名称。一般用 <host_iter.m> 的方式。这一步也满重要的。一开始不注意,随便给个名字,等到后来自己都            杀毒

    搞不清楚了,建议一开始就规划好。如果要使用 MRTG 的告警功能,就更应该好好.规划了,要不然收.到告警邮件都不知道是那个对象,那个机

    器出现问题,白白浪费时.间。域名

F)是否需要.用到 MRTG 的告警功能。MRTG 有告警功能,可以设置输入./出的最大值,最小值。超过限制就会调用 ThreshProgI 和 .ThreshProgO 健康

   选项指定的程序。我一般用.发送邮件和HTML配合的方式。下面是.告警部分的截图 :             汽车

          婚庆

外贸
  

差.不多也就这些.了,就可以开始动手写 script 了。电脑

二)RRDt.ool 的前期规划虚拟主机

RRDtool 的前期规划相对多一点,因为 R..RDtool 很多东西需要自己设定。除了上述 MRTG 考虑的几点之外,我一般还考虑以下几点 :.

A)是一个 RRD 文件中包括多个监测对象(DS),还是分成多个 RR.D 文件 ?RRDtool 提供了 tune 操作,可.以增加监测对象或者删除. RRD 文.

   . 件中的某个对象,而.且绘图时也可以指定要画的是那个对象,这点看个人喜欢而定。[成人用品]

B)如何统计取得的数据 :MRTG 是.固定的,5分钟、20分钟、2小时.、1天。RRDtool 则可以自己设置电脑

C)如何保存/统计这些数据 :这是和 MRT.G 不同的地方。MRTG log 的建立和维护是自动的,RRDtool 的数据存.放外贸

     .则需.要自己定义。但我们可以参照 MRTG 的方式:.
  
    每日统计图(5分钟平均)  :. 600 个,大约.2天的时间(广告)

    每周统计图(20分钟平均). : 600 个,.大约8天的时间          婚庆

   . 每月统计图 (2小时平均) : 600 个,50 天的时.间教育

    每年.统计图. (1天平均) :730 个, 2年的时间

D 要以什么方式绘图 :MRTG 只有曲线(LINE)和方块(AREA)两种;RRDtool 除了这两种外,还有一种是 STA.CK 方式。就是..在前一个曲线或者方.

    块的基础上绘图图,而不是直接从 X 轴开始绘图。这样绘制出来的图比较清晰,不会.出现交叉的现象,但此时 Y 轴的值等于当前对象的值加上前.一    美容

   个绘图对象的值。例如前一个对象(cpu 的系统进程利用率)的值.是10,.采用的是 AREA 方式绘图。当前对象(cpu 的用户级.进程的利用率)是5,.

   采用的是 STACK 方式,.则“cpu的用户级进程利用率”对应的Y轴刻度是10+5=15;所以如果不加说明.,别人可能会误解。健康

三)实际例子

A)搞清楚究.竟想要监测什么对象 :监测本地主机的网络流量。包括 eth0 和 lo 接口.的流量。           女人

B)想要以什么方法来取得数据 :sar 也可以统计网卡接口的流量。但这里我们用 SNM.P ,访问 i.fInOctets 和 ifOutOctets 。.

    假设脚本名称.是 get_eth.0_traffic.sh 和 get_lo_traffic.sh电影

C)每个对象的.监测时间是多长时间一次 :5分钟.

D)是采用一个 RRD 文件还是多个 :.2个. RRD 文件,一个是 eth0.rrd,一个是 lo.rrd教育

E)[color=bl;ue]为每个监测对象起名 :分.别是 et.h0_in ,eth0_out ,lo_in ,lo_out教育

F)统计.频率 :5分钟、20分钟、2小时、1天.

G)如何保存统计.数据 :600个、600个、600个、73.0个    外汇

H)要以什么.方式绘图 :目前暂不考虑该问题。.等到实际绘图时再体验。虚拟主机

注 :实际上我们可以把数据的插入、绘图一起做到 get_eth0_traffic.sh 和 get._lo_traffic.sh 中,但目前这两.个脚本只是负责.取数据并输出而已,(        游戏          )

     .          到最后我们再把这些功能合并到一.起。    健康

四)下面是脚本的内容

[.root@dns1 bob]# cat get_eth0_traf.fic.sh 健康

#!/bin/bash



# 首先取得 et.h0 接口的 ifIndex 教育

index=$(snmpwalk -IR localhost R.FC1.213-MIB::ifDescr |grep eth0|cut -d '=' -f 1|cut -d '..' -f 2)    外汇



# 再.通.过 snmp 协议取得 ififInOctets 和 ifOutOctets 的值.

# 由于在 ./etc/snmp.conf 中配置了 defVersion 和 defCommunity ,所以 snmpg.et 命令不用指定这两个参数    美容



eth0_in=$(snmpget. -IR -Os localhost ifI.nOctets.${index}|cut. -d ':' -f 2|tr -d '[:blank:]').

et.h0_out=$(snmpget -IR -O.s localhost ifOutOctets.${index}|cut -d .':' -f 2 |tr -d '[:blank:]')[成人用品]

echo $eth0_in

echo $eth0_out



[root@dn.s1 bob]#.
复制代码
[root@dns1 bob]# cat ge.t._lo_traffic.sh      .

#!/bin/bash

# 首先.取得 eth0 接口的 ifIndex     外汇



index.=$(snmpwalk -IR localhost RFC1213-MIB::ifDescr |.g.rep lo|cut -d '=' -f 1|cut -d '.' -f 2)            杀毒

lo_in=$(snmpget -IR -Os localhost ifInOctets.${index}|cut -d ':' -f 2|t.r -d '[:blank:.].')    健康

lo_out=$(snmpget .-IR -.Os localhost ifOutOctets.${index}|cut -d ':' -f 2 |tr -d '[:blank:.]')             电子

echo $lo_in



echo $lo_out

[root@.dns1 bob]#电影
复制代码

再把这.2个脚.本放入 crontab 中,每5分钟执行一次电脑

*/5 * * .* * /.home/bob/get_eth0_traffic.sh             汽车

*/5 * *. * * /home/bob/get_lo_traff.ic.sh<性病>
复制代码

不过这样会有讨厌的邮件产.生,也可以在脚本中用 w.hile true 循环,配合 sleep 300 让脚本一直运行,而不是重复启.动脚本。具体选择那样你自己决定。虚拟主机

当所有的准备工作都完成后,就可以开始考虑.建库了。域名

评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
离线newgame.
发帖
2122
C币
-60701
威望
365
贡献值
1
银元
-1
铜钱
4624
人人网人气币
0
只看该作者 沙发  发表于: 2010-04-13
安装还在进行中,顺便看看这一讲。
多谢lz,虽然看今天看不懂,但明天一定能弄懂!!

发帖
2121
C币
-139044
威望
401
贡献值
1
银元
-2
铜钱
4708
人人网人气币
0
只看该作者 板凳  发表于: 2010-04-13
我想这是好贴,应该有大把的人去顶
快速回复
限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
 
上一个 下一个