在FREEBSD 5中使用MRTG画出Packet图表
时间:2004-03-10
来源:互联网
----文 / 重庆.樊礼(梦飞)
欢迎转载﹐本文遵循GNU协议规则﹗
在FREEBSD使用中,有时候你可能需要了解你的主机或者网络卡的封包(Packet)的流通情况,借以了解网络流量及网络卡负载情况,给系统管理人员以参考。在这里,我写出自己SERVER配置这方面的方法和经验,给各位朋友共享。
我的配置情况:FREEBSD 5.2
一、安装MRTG绘图软件
二、配置Packet-MRTG
三、执行&查看图形
四、排程自动执行
五、结束语
一、安装MRTG绘图软件
cd /usr/ports/net/mrtg
make install
即可安装成功!
二、配置Packet-MRTG
我计划把配置文件放到/usr/local/etc目录里面。
vi /usr/local/etc/packet-mrtg.cfg
这文件里面的内容如下:
Target[packet]:ifInUcastPkts.1&ifOutUcastPkts.1:public@http://www.onlinecq.com WorkDir: /home/onlinecq.com/mrtg/ MaxBytes[packet]: 100000000 Options[packet]:growright,bits Title[packet]: IP Packet Count MRTG PageTop[packet]: IP Packet Count MRTG – OnlineCQ.com #Language:gb2312 YLegend[packet]: IP Packet Count Colours[packet]: Packet IN#FF6600,Packet OUT#006600,DARK GREEN#006600,VIOLET#FF00FF
ifInUcastPkts.n&ifOutUcastPkts.n:[email protected]
其中n表示您的网络适配卡,如果你有多张网络卡,请注意不要观测错了哦,要不然是没有数据出来的。(通常应该是1,但如果你有多张,可能就是2,3,4…啦)
public是snmp默认的公共字符串,当然你可以在snmp里面更改它的设置的。
host.domain是你的主机名字,也可以使用IP,在这里我的就是http://www.onlinecq.com的。
个人想法:大家可以试一下,用它来监测其它主机的封包情况会是怎么样子?^_^
MaxBytes: 制绘图的最大封包值
Title: HTML 网页的title 语法
PageTop: 在显示画面的"标题"
Options: 采用标准格式,并且让MRTG由右往左绘图
YLegend: 图表的Y轴名称
ShotLegend: 图表Y 轴的单位
WorkDir: 工作目录 也就是网页中显示图表的路径,一般是可以通过浏览器访问的
Language: 英文 (我喜欢使用英文的,如果你要使用简体中文,麻烦你改为gb2312,否则注释掉即可)
Colours:颜色
三、执行&查看图形
现在我们试着运行一下,看能否生成封包流量图:
mrtg /usr/local/etc/packet-mrtg.cfg
因为首次运行时,系统没有MRTG需要的某些旧图形档案,可能会有报错的,请多执行2-5次即可。
这时候在前面的packet-mrtg.cfg文件设置的WorkDir目录里面/home/onlinecq.com/mrtg,将会产生一些png图形文件和一个.html的文件,我们可以通过网页访问它:
http://网站名字/mrtg/packet-mrtg.html
如果可以正常看到Packet封包流量图,那就说明你前面设置一切正常了,恭喜你!
四、排程自动执行
一般来说,每5分钟执行一次即可,时间太短反而会加重系统的负载的。
crontab -e 来增加排程事件
*/5 * * * * mrtg /usr/local/etc/packet-mrtg.cfg
五、结束语
至此为止,可以投入正式使用的MRTG封包流量图就建立起来了,您可以reboot一下,让最新的设置及软件生效。
如果在安装过程中出现错误,您可以先检查完错误,再接着安装下去。或者你可以选择你感兴趣的某些部份安装!
当然因为时间仓促,并且涉及到的知识太广,加上本人能力有限,其中错误在所难免,恳请各位朋友提出来,大家共同提高,共同进步!
我的联络方式是:
[email protected]
http://cqfanli.blogbus.com
──文 重庆.樊礼(梦飞)
2004/03/10
作者: cqfanli 发布时间: 2004-03-10
我计划把配置文件放到/usr/local/etc目录里面。
vi /usr/local/etc/packet-mrtg.cfg
这文件里面的内容如下:
Target[packet]:ifInUcastPkts.1&ifOutUcastPkts.1

WorkDir: /home/onlinecq.com/mrtg/
MaxBytes[packet]: 100000000
Options[packet]:growright,bits
Title[packet]: IP Packet Count MRTG
PageTop[packet]: IP Packet Count MRTG – OnlineCQ.com
#Language:gb2312
YLegend[packet]: IP Packet Count
Colours[packet]: Packet IN#FF6600,Packet OUT#006600,DARK GREEN#006600,VIOLET#FF00FF
我照这篇文章试了一下,我将上面工作目录以及主机地址改了,可是在运行:
mrtg /usr/...../packet-mrtg.cfg
的时候出现:
SNMP Error:
no response received
SNMPv1_Session (remote host: "192.168.0.3" [192.168.0.3].161)
community: "public"
request ID: 1909651567
PDU bufsize: 8000 bytes
timeout: 2s
retries: 5
backoff: 1)
at /usr/local/lib/perl5/site_perl/5.6.1/SNMP_util.pm line 486
SNMPGET Problem for ifInUcastPkts.1 ifOutUcastPkts.1 sysUptime sysName on [email protected]::::::v4only
at /usr/local/bin/mrtg line 1798
WARNING: skipping because at least the query for ifInUcastPkts.1 on 192.168.0.3 did not succeed
WARNING: no data for ifInUcastPkts&ifOutUcastPkts

ERROR: Target[packet][_IN_] ' $target->[0]{$mode} ' did not eval into defined data
ERROR: Target[packet][_OUT_] ' $target->[0]{$mode} ' did not eval into defined data
WARNING: Skipping Update of packet, inlast is not defined
WARNING: Skipping Update of packet, outlast is not defined
可是我ps能看到我的snmpd启动了啊。
作者: 尘飞扬 发布时间: 2004-03-10
比如你受DDOS攻擊時﹐你會發現非常多的包﹐這個MRTG就可以顯示出?砹藒~
to 塵
如果snmp 5有問題﹐請試一下snmp 4
作者: cqfanli 发布时间: 2004-03-11
作者: 尘飞扬 发布时间: 2004-03-11
我这样写入cron,可是无法正常按时运行啊。我以前有一条:
*/5 * * * * /tmp/myftp.sh
是可以正常运行的。可上一句就是不运行,我改成:
*/5 * * * * /usr/local/bin/mrtg /usr/local/etc/packet-mrtg.cfg
也不行。但是如果手动执行的话,两条都可以。什么原因呢?
作者: 尘飞扬 发布时间: 2004-03-11
作者: Eg_zm 发布时间: 2004-03-11
*/5 * * * * mrtg /usr/local/etc/packet-mrtg.cfg
*/5 * * * * /tmp/myftp.sh
害得我现在想看看流量还得手动来执行。
打开日志记录,这里确好像显示是执行过的,而且第二项任务也已正常,为什么会这样呢?
Mar 11 16:35:00 yytt /usr/sbin/cron[14750]: (root) CMD (/tmp/myftp.sh)
Mar 11 16:35:00 yytt/usr/sbin/cron[14751]: (root) CMD (mrtg /usr/local/www/data
Mar 11 16:35:00 yytt /usr/sbin/cron[14752]: (root) CMD (/usr/libexec/atrun)
作者: 尘飞扬 发布时间: 2004-03-11
作者: cqfanli 发布时间: 2004-03-12
mrtg /usr/.../packet-mrtg.cfg
添加在我的/tmp/myftp.sh脚本中,然后手动执行此脚本显示流量页面已经更新。可是我crontab -e加入:
*/5 * * * * /tmp/myftp.sh
到了5分钟自动执行的时候居然只执行了此脚本的前半部分,单单不执行mrtg /usr/.../packet-mrtg.cfg这一句。可是手动执行此脚本时明明又可以全部执行?
看来这应该是语句的写法没什么关系了吧。cron也按时执行了,脚本也可以手动执行。
why ???????????
作者: 尘飞扬 发布时间: 2004-03-12
单独做了一个脚本:/tmp/mycron.sh里面只有一句:
/usr/local/bin/mrtg /usr/.../packet-mrtg.cfg
不知为什么这一句如果改成:
mrtg /usr/.../packet-mrtg.cfg
手动执行可以,放入crontab就不可以。
然后再将/tmp/mycron.sh置入crontab,终于可以看见流量图自动更新了,呵呵,不容易。
究其原因,打开/etc/crontab一看,原来mrtg的命令路径并没有在path中,以前也没有注意过这个问题,在freebsdchina中得到一位兄弟提醒才想到。呵呵。
作者: 尘飞扬 发布时间: 2004-03-12
作者: Iamthetop 发布时间: 2004-04-15
作者: Iamthetop 发布时间: 2004-04-16
作者: 尘飞扬 发布时间: 2004-04-17
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28