无锡公务员录取率:RRDtool 系列连载-3 :前期规划 - RRDtool - 阿勃的 blog
来源:百度文库 编辑:偶看新闻 时间:2024/05/17 02:09:31
RRDtool 系列连载-3 :前期规划
RRDtool 的前期规划
RRDtool 的前期规划相对多一点,因为 RRDtool 很多东西需要自己设定。除了上述 MRTG 考虑的几点之外,我一般还考虑以下几点 :
A)是一个 RRD 文件中包括多个监测对象(DS),还是分成多个 RRD 文件 ?RRDtool 提供了 tune 操作,可以增加监测对象或者删除 RRD 文
件中的某个对象,而且绘图时也可以指定要画的是那个对象,这点看个人喜欢而定。
B)如何统计取得的数据 :MRTG 是固定的,5分钟、20分钟、2小时、1天。RRDtool 则可以自己设置
C)如何保存/统计这些数据 :这是和 MRTG 不同的地方。MRTG log 的建立和维护是自动的,RRDtool 的数据存放
则需要自己定义。但我们可以参照 MRTG 的方式:
每日统计图(5分钟平均) : 600 个,大约2天的时间
每周统计图(20分钟平均) : 600 个,大约8天的时间
每月统计图 (2小时平均) : 600 个,50 天的时间
每年统计图 (1天平均) :730 个, 2年的时间
D 要以什么方式绘图 :MRTG 只有曲线(LINE)和方块(AREA)两种;RRDtool 除了这两种外,还有一种是 STACK 方式。就是在前一个曲线或者方
块的基础上绘图图,而不是直接从 X 轴开始绘图。这样绘制出来的图比较清晰,不会出现交叉的现象,但此时 Y 轴的值等于当前对象的值加上前一
个绘图对象的值。例如前一个对象(cpu 的系统进程利用率)的值是10,采用的是 AREA 方式绘图。当前对象(cpu 的用户级进程的利用率)是5,
采用的是 STACK 方式,则“cpu的用户级进程利用率”对应的Y轴刻度是10+5=15;所以如果不加说明,别人可能会误解。
三)实际例子
A)搞清楚究竟想要监测什么对象 :监测本地主机的网络流量。包括 eth0 和 lo 接口的流量。
B)想要以什么方法来取得数据 :sar 也可以统计网卡接口的流量。但这里我们用 SNMP ,访问 ifInOctets 和 ifOutOctets 。
假设脚本名称是 get_eth0_traffic.sh 和 get_lo_traffic.sh
C)每个对象的监测时间是多长时间一次 :5分钟
D)是采用一个 RRD 文件还是多个 :2个 RRD 文件,一个是 eth0.rrd,一个是 lo.rrd
E)[color=bl;ue]为每个监测对象起名 :分别是 eth0_in ,eth0_out ,lo_in ,lo_out
F)统计频率 :5分钟、20分钟、2小时、1天
G)如何保存统计数据 :600个、600个、600个、730个
H)要以什么方式绘图 :目前暂不考虑该问题。等到实际绘图时再体验。
注 :实际上我们可以把数据的插入、绘图一起做到 get_eth0_traffic.sh 和 get_lo_traffic.sh 中,但目前这两个脚本只是负责取数据并输出而已,
到最后我们再把这些功能合并到一起。
四)下面是脚本的内容
[Copy to clipboard] [ - ] CODE: [root@dns1 bob]# cat get_eth0_traffic.sh
#!/bin/bash
# 首先取得 eth0 接口的 ifIndex
index=$(snmpwalk -IR localhost RFC1213-MIB::ifDescr |grep eth0|cut -d '=' -f 1|cut -d '.' -f 2)
# 再通过 snmp 协议取得 ififInOctets 和 ifOutOctets 的值
# 由于在 /etc/snmp.conf 中配置了 defVersion 和 defCommunity ,所以 snmpget 命令不用指定这两个参数
eth0_in=$(snmpget -IR -Os localhost ifInOctets.${index}|cut -d ':' -f 2|tr -d '[:blank:]')
eth0_out=$(snmpget -IR -Os localhost ifOutOctets.${index}|cut -d ':' -f 2 |tr -d '[:blank:]')
echo $eth0_in
echo $eth0_out
[root@dns1 bob]#
[Copy to clipboard] [ - ] CODE: [root@dns1 bob]# cat get_lo_traffic.sh
#!/bin/bash
# 首先取得 eth0 接口的 ifIndex
index=$(snmpwalk -IR localhost RFC1213-MIB::ifDescr |grep lo|cut -d '=' -f 1|cut -d '.' -f 2)
lo_in=$(snmpget -IR -Os localhost ifInOctets.${index}|cut -d ':' -f 2|tr -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分钟执行一次
[Copy to clipboard] [ - ] CODE: */5 * * * * /home/bob/get_eth0_traffic.sh
*/5 * * * * /home/bob/get_lo_traffic.sh
不过这样会有讨厌的邮件产生,也可以在脚本中用 while true 循环,配合 sleep 300 让脚本一直运行,而不是重复启动脚本。具体选择那样你自己决定。
当所有的准备工作都完成后,就可以开始考虑建库了。
RRDtool 的前期规划
RRDtool 的前期规划相对多一点,因为 RRDtool 很多东西需要自己设定。除了上述 MRTG 考虑的几点之外,我一般还考虑以下几点 :
A)是一个 RRD 文件中包括多个监测对象(DS),还是分成多个 RRD 文件 ?RRDtool 提供了 tune 操作,可以增加监测对象或者删除 RRD 文
件中的某个对象,而且绘图时也可以指定要画的是那个对象,这点看个人喜欢而定。
B)如何统计取得的数据 :MRTG 是固定的,5分钟、20分钟、2小时、1天。RRDtool 则可以自己设置
C)如何保存/统计这些数据 :这是和 MRTG 不同的地方。MRTG log 的建立和维护是自动的,RRDtool 的数据存放
则需要自己定义。但我们可以参照 MRTG 的方式:
每日统计图(5分钟平均) : 600 个,大约2天的时间
每周统计图(20分钟平均) : 600 个,大约8天的时间
每月统计图 (2小时平均) : 600 个,50 天的时间
每年统计图 (1天平均) :730 个, 2年的时间
D 要以什么方式绘图 :MRTG 只有曲线(LINE)和方块(AREA)两种;RRDtool 除了这两种外,还有一种是 STACK 方式。就是在前一个曲线或者方
块的基础上绘图图,而不是直接从 X 轴开始绘图。这样绘制出来的图比较清晰,不会出现交叉的现象,但此时 Y 轴的值等于当前对象的值加上前一
个绘图对象的值。例如前一个对象(cpu 的系统进程利用率)的值是10,采用的是 AREA 方式绘图。当前对象(cpu 的用户级进程的利用率)是5,
采用的是 STACK 方式,则“cpu的用户级进程利用率”对应的Y轴刻度是10+5=15;所以如果不加说明,别人可能会误解。
三)实际例子
A)搞清楚究竟想要监测什么对象 :监测本地主机的网络流量。包括 eth0 和 lo 接口的流量。
B)想要以什么方法来取得数据 :sar 也可以统计网卡接口的流量。但这里我们用 SNMP ,访问 ifInOctets 和 ifOutOctets 。
假设脚本名称是 get_eth0_traffic.sh 和 get_lo_traffic.sh
C)每个对象的监测时间是多长时间一次 :5分钟
D)是采用一个 RRD 文件还是多个 :2个 RRD 文件,一个是 eth0.rrd,一个是 lo.rrd
E)[color=bl;ue]为每个监测对象起名 :分别是 eth0_in ,eth0_out ,lo_in ,lo_out
F)统计频率 :5分钟、20分钟、2小时、1天
G)如何保存统计数据 :600个、600个、600个、730个
H)要以什么方式绘图 :目前暂不考虑该问题。等到实际绘图时再体验。
注 :实际上我们可以把数据的插入、绘图一起做到 get_eth0_traffic.sh 和 get_lo_traffic.sh 中,但目前这两个脚本只是负责取数据并输出而已,
到最后我们再把这些功能合并到一起。
四)下面是脚本的内容
[Copy to clipboard] [ - ] CODE: [root@dns1 bob]# cat get_eth0_traffic.sh
#!/bin/bash
# 首先取得 eth0 接口的 ifIndex
index=$(snmpwalk -IR localhost RFC1213-MIB::ifDescr |grep eth0|cut -d '=' -f 1|cut -d '.' -f 2)
# 再通过 snmp 协议取得 ififInOctets 和 ifOutOctets 的值
# 由于在 /etc/snmp.conf 中配置了 defVersion 和 defCommunity ,所以 snmpget 命令不用指定这两个参数
eth0_in=$(snmpget -IR -Os localhost ifInOctets.${index}|cut -d ':' -f 2|tr -d '[:blank:]')
eth0_out=$(snmpget -IR -Os localhost ifOutOctets.${index}|cut -d ':' -f 2 |tr -d '[:blank:]')
echo $eth0_in
echo $eth0_out
[root@dns1 bob]#
[Copy to clipboard] [ - ] CODE: [root@dns1 bob]# cat get_lo_traffic.sh
#!/bin/bash
# 首先取得 eth0 接口的 ifIndex
index=$(snmpwalk -IR localhost RFC1213-MIB::ifDescr |grep lo|cut -d '=' -f 1|cut -d '.' -f 2)
lo_in=$(snmpget -IR -Os localhost ifInOctets.${index}|cut -d ':' -f 2|tr -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分钟执行一次
[Copy to clipboard] [ - ] CODE: */5 * * * * /home/bob/get_eth0_traffic.sh
*/5 * * * * /home/bob/get_lo_traffic.sh
不过这样会有讨厌的邮件产生,也可以在脚本中用 while true 循环,配合 sleep 300 让脚本一直运行,而不是重复启动脚本。具体选择那样你自己决定。
当所有的准备工作都完成后,就可以开始考虑建库了。
关于商业区前期规划的问题
魔兽争霸3 前期问题????????
哪里有《刺客正传》系列图书的连载或下载
局外人3连载
局外人3什么地方有连载
社区建设3年规划
痞子王子2 3 在哪里连载
可以爱他吗?连载3
局外人3什么时候在网上连载
哪里有《局外人》3的连载?
麻雀要革命3哪里有连载
泡沫之夏3连载网
魔兽争霸3 中前期如何判断对手是否开矿
青春前期
十一五期间规划3题!!十万火急!!
网上哪里有指环王3部曲的连载啊?
为什么网上没有局外人3的连载呢
局外人3出了没?那个网站连载的较快较全
哪里有局外人3完整的连载啊?
天使街23号3有没有连载?
天使街23号3网上哪里有连载啊?????
天使街23号3哪里有连载啊?
超市凶器的《女生宿舍3》连载在那?
谁有《麻雀要革命3》的网络连载?