经常看到说mrtg的,说论坛里面的资料不对,其实不是不对,是有些说的不周详而已,我刚开始作的时候也是费了不少时间的,整理一下,发到这里吧,希望能为后来的兄弟们省下时间
前言:我实验的机器是FreeBSD4.10,其他版本的应该也相同,其他unix like系统估计也是能够的,因为我只用过FreeBSD,不敢肯定。另外我这篇文章的前提是您的机器上已安装了apache,并能正常使用,假如没有请参考网上其他文章安装,本文就不再赘述。
一:先介绍如何用mrtg来监控本机的流量
1:安装 snmp
cd /usr/ports/net-mgmt/p5-SNMP
make install clean
当中会叫您填写您的email、操作系统等等,直接回车即可。
能够用以下命令启动snmp,/usr/local/etc/rc.d/snmpd.sh start
2:安装 mrtg
cd /usr/ports/net-mgmt/mrtg
make install clean
3:配置 index.cfg文档监控服务器流量
/usr/local/bin/cfgmaker --output=/usr/www/mrtg/index.cfg public@192.168.0.1
然后修改index.cfg文档,主要修改以下内容,以符合您的实际情况,此处的192.168.0.1是您要监控的网卡的ip地址。
WorkDir: /usr/www/mrtg
Options[_]: growright, bits
Language:GB2312
########################让他5分钟执行一次##############
RunAsDaemon: Yes
Refresh:300
######或能够这样:#################################
crontab -e
*/5 * * * * /usr/local/bin/mrtg /usr/www/mrtg/index.cfg
建议使用后面的方法,因为前者用RunAsDaemon的方式并不能使MRTG开机自动运行
#########################################
下面接着:
/usr/local/bin/mrtg /usr/www/mrtg/index.cfg
这个需要运行3次,前两次都会报错,不用去理会他,第3次就应该没有错误了,但是,
若是有问题的话,就需要改index.cfg,再执行直到没有错误发生为止。
制作首页index.html:
/usr/local/bin/indexmaker --output=/usr/www/mrtg/index.html /usr/www/mrtg/index.cfg
这样以后就能够通过:http://******/mrtg/index.html看您的代理的流量了,注意此处是以您的apache主目录配置为/usr/www来说的,您能够根据实际情况修改。
二、监控RAM-SWAP使用情况
在/usr/www/traffic/ram下建立ram.cfg,内容为:
LoadMIBs: /usr/local/share/snmp/mibs/UCD-SNMP-MIB.txt
Target[ramswap]: memAvailReal.0&memAvailSwap.0:public@192.168.0.1
##192.168.0.1是本机的ip地址
Options[ramswap]: nopercent,growright,gauge,noinfo
Title[ramswap]: RAM & SWAP 使用状况
PageTop[ramswap]: RAM & SWAP 使用状况
MaxBytes[ramswap]: 1000000000
kMG[ramswap]: k,M,G,T,P,X
Ylegend[ramswap]: Octets
ShortLegend[ramswap]: octets
LegendI[ramswap]: RAM 可使用
LegendO[ramswap]: Swap 可使用
Legend1[ramswap]: RAM 可使用单位
Legend2[ramswap]: Swap 可使用单位
Language:Chinese
WorkDir:/usr/www/traffic/ram
说明:和一般MRTG流量设定档大同小异,唯一的差別是来源数值。
memTotalSwap 全部的swap空间
memAvailSwap 剩余(可使用)的swap
memTotalReal 全部的内存空间
memAvailReal 剩余(可使用)的内存
然后执行:
/usr/local/bin/mrtg /usr/www/traffic/ram/ram.cfg
将会在/usr/www/traffic/ram下生成ramswap.html等文档。
这样以后就能够通过:http://******/traffic/ram/ramswap.html看您的机器的内存使用情况了。
下面再让他5分钟执行一次:
crontab -e
*/5 * * * * /usr/local/bin/mrtg /usr/www/traffic/ram/ram.cfg
三、再来监控cpu使用率
安装bsdsar这个程式来显示cpu的使用状态
cd /usr/ports/sysutils/bsdsar/
make install
注意存档(/var/log/bsdsar.dat)会一直的变大,所以采用这个bsdsar必须要适时的将档案移往他处。并更名以作为日后的查询之用,我是把他删除的,看看当前的就好了J
crontab -e
0 0 * * * /bin/rm /var/log/bsdsar.dat
在/usr/www/traffice/cpu下建立cpu.cfg,内容为:
Target[CPU]: `/usr/www/traffic/cpu/mrtg-cpu`
MaxBytes[CPU]: 100
Title[CPU]: CPU-Loading MRTG
PageTop[CPU]: CPU-Loading MRTG
Options[CPU]: gauge,growright
YLegend[CPU]: CPU Loading (%)
ShortLegend[CPU]: %
WorkDir:/usr/plog/traffic/cpu
LegendO[CPU]: CPU系统负载
LegendI[CPU]: CPU使用者负载
Language:Chinese
说明:Target 乃是资料的取得方式 如同MRTG测流量时的public@community.
MaxBytes:限制绘图的最大 Loading 值,CPU Loading 的最高值就是 100% .
Title: HTML 网页的title .
PageTop: 网页页面的*标题*.
Options: 采用标准格式,并且让MRTG由右往左绘图.
YLegend: 图表的Y轴名称.
ShotLegend: 定义最小的单位(%).
WorkDir: 工作区域 也就是显示图表的位置.
Language: 用简体中文
LegendO[CPU] & LegendI[CPU]: 下方的说明
设定MRTG-CPU Loading 的数据取得档案执行档:
/usr/local/www/data/mrtg/cpu/mrtg-cpu
此档权限需为可执行若用root执行则为700,内容:
#!/usr/bin/perl
$cpu_orig=`/usr/local/bin/bsdsar -u > /usr/www/traffic/cpu/bsdsar.tmp`;
$cpu_str=`/usr/bin/tail -1 /usr/www/traffic/cpu/bsdsar.tmp`;
$val=(split(' ',$cpu_str))[1];
$val2=(split(' ',$cpu_str))[2];
$val=int($val);
$val2=int($val2);
print "$val\n";
print "$val2\n";
print "0\n";
print "0\n";
修改权限:chmod 700 mrtg-cpu
/usr/local/bin/mrtg /usr/www/traffic/cpu/cpu.cfg就会生成cpu.html等文档了。
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




