扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:中国IT实验室 2007年8月14日
关键字:
在本页阅读全文(共4页)
好了,休息一下,去忙忙别的,等你回来的时候,是不是发现漂亮的走线图(图三)已经形成了?
图 三
如上图所示,笔者这里的的star(实达)交换机的资料、流量、持续工作时间、最大流量等等都以中文的方式显示出来,可以方便地查询与分析了。
这里笔者只以一台获取交换机为例,简单介绍了mrtg的使用方法,其实mrtg更可以监视router、打印机、服务器、甚至ups电源等设备。当您使用mrtg来查看网络中大量设备的流量和负载情况的时候,您才会真正体会到它的方便之处。
5、本机信息的监管
或许您跟笔者一样,您的这台NMS同时也担任着内网中其他的服务,您也想将该机的CPU、内存和网卡流量都记录下来,方便监视,利用mrtg和snmp服务,我们自己再配合写两个小的shell脚本,就能完成上面的功能了。
A.获取本机网卡流量
在前面,我们已经安装snmp包,现在让我们来配置/etc/snmp/snmpd.conf文件,使其能配合mrtg很好地工作了。
首先,编辑/etc/snmp/snmpd.conf文件:
[root@ netserver bin]#vi /etc/snmp/snmpd.conf
把下面一行前面的#号去掉:
#view mib2 included .iso.org.dod.internet.mgmt.mib-2 fc
把以下语句的语句:
access notConfigGroup "" any noauth exact systemview none none
改成:
access notConfigGroup "" any noauth exact mib2 none none
接下来我们启动snmpd服务
[root@ netserver bin]#snmpd
如果想要每次开机的时候就自动执行snmpd,请
[root@ netserver bin]#setup
然后将System services下面的snmpd服务打开
接下来,我们用与刚才设置交换机相似的步骤来进行。
新建立一个目录来存放net相关信息:
[root@ netserver bin]#mkdir –p /var/www/html/mrtg/local/net
[root@ netserver bin]# ./cfgmaker public@你本机的ip > /var/www/html/mrtg/local/net /mrtg.cfg
修改自动生成的mrtg.cfg文件(因为和上面的交换机的设置类似,就不解释了)
[root@ netserver bin]#vi /var/www/html/mrtg/local/net/mrtg.cfg
修改以下几行为(没有的请添加)
WorkDir: /var/www/html/mrtg/local/net
Options[_]:growright,bits
Language:Chinese
Refresh: 300
WriteExpires: Yes
运行mrtg:
执行以下命令3次(前两次会提示一些警告信息,不用理会)
[root@ netserver bin]#./mrtg /var/www/html/mrtg/local/net/mrtg.cfg
这里我们就不生成index.html页面了,等一下自己手工编写一个,将cpu和内存的放在一起,方便查看一些。
B.获取本机CPU使用情况
新建立一个目录来存放net相关信息:
[root@ netserver bin]#mkdir –p /var/www/html/mrtg/local/cpu
手工编辑一个mrtg.cfg文件:
[root@ netserver bin]#vi /var/www/html/mrtg/local/cpu/mrtg.cfg
输入以下内容:
#/var/www/html/mrtg/local/cpu/mrtg.cfg
WorkDir: /var/www/html/mrtg/local/cpu
Language:chinese
EnableIPv6: no
Refresh: 300
WriteExpires: Yes
Target[CPU]: `/var/www/html/mrtg/local/cpu/cpu.sh` #调用的外部脚本命令的地址,等一下我会给出cpu.sh的代码
MaxBytes[CPU]: 100 #限制绘图的最大值,CPU Loading 的最高值就是100%
Title[CPU]: CPU Watch #生成的HTML 网页的窗口标题
PageTop[CPU]: <H1> CPU Watch</H1> #生成的HTML 网页的主标题
Options[CPU]: gauge,nopercent,growright
Ylegend[CPU]: CPU Loading (%) #图表的Y轴的名称
YSize[CPU]: 100 #Y轴的最大值
ShortLegend[CPU]: % #定义的标准單位(此处为%)
LegendI[CPU]: CPU USER # CPU USER表示用户负载,CPU SYSTEM表示系统负载
LegendO[CPU]: CPU SYSTEM #注意,Legend后面是字母I和O,不是数字,mrtg中它们本来是表示Input 和 Output的,这里被我借用了过来的
好,接下来让我们写一个获取我们所需要值的脚本文件cpu.sh
[root@ netserver bin]#vi /var/www/html/mrtg/local/cpu/cpu.sh
脚本内容如下:
#!/bin/bash
tmp=`sar -u 1 5 | tail -n 1`
#上面一句的sar –u 1 5 表示以1秒为单位,连续取5次cpu的负载,这样得到的平均值更加准确一些:
cpuuser=`echo $tmp | awk ' {print $3}' `
cpusystem=`echo $tmp | awk ' {print $5}' `
echo $cpuuser
echo $cpusystem
echo 0
echo 0#因为我没有取当前时间和系统已运行的时间,所以这里取两个0,读者朋友可以试一下取消他们输出的html会变成怎样
然后改变cpu.sh的权限为755:
[root@ netserver bin]#chmod 755 /var/www/html/mrtg/local/cpu/cpu.sh
运行mrtg,执行以下命令3次(前两次会提示一些警告信息,不用理会)
[root@ netserver bin]#./mrtg /var/www/html/mrtg/local/cpu/mrtg.cfg
C.获取本机内存/Swap使用情况
与上面一个例子很类似,我给出操作,只解释不同的地方:
[root@ netserver bin]#mkdir –p /var/www/html/mrtg/local/memory
手工编辑一个mrtg.cfg文件:
[root@ netserver bin]#vi /var/www/html/mrtg/local/memorty/mrtg.cfg
输入以下内容:
WorkDir: /var/www/html/mrtg/local/memory
Language:chinese
EnableIPv6: no
Refresh: 300
WriteExpires: Yes
Target[MEMORY]: `/var/www/html/mrtg/local/memory/memory.sh`
MaxBytes[MEMORY]: 100
Title[MEMORY]: Memory &Swap Watch
PageTop[MEMORY]: <H1> Memory &Swap Watch</H1>
Options[MEMORY]: gauge,growright
Ylegend[MEMORY]: Used (%)
YSize[MEMORY]: 100
ShortLegend[MEMORY]: %
LegendI[MEMORY]: Used Memory
LegendO[MEMORY]: Used Swap
接下来是一个小脚本程序memory.sh:
[root@ netserver bin]#vi /var/www/html/mrtg/local/memory/memory.sh
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者