看到很好很好的一个文章,转过来,大家共勉,希望网络上面的写手,都能以此篇文章为标尺线.这样就会省略很多问题和麻烦.更好的帮助大家进步.
MRTG(MultiRouter Traffic Grapher, MRTG)是基于SNMP的典型网络流量统计分析工具。它耗用的系统资源很小,因此有很多外挂的程序也依附在MRTG下。它通过SNMP协议从设备得到其流量信息,并将流量负载以包含JPEG格式图形的HTML文档的方式显示给用户,以非常直观的形式显示流量负载。
一:安装网络流量监视[默认5分钟采集一次]
切换到超级用户: sudo -sH
安装软件: apt-get install apache2 apt-get install mrtg apt-get install snmpd
编辑snmpd: vim /etc/snmp/snmpd.conf
查找到类似的行,修改为如下所示:(仅仅修改屏蔽或放开) # sec.name source community # com2sec paranoid default public # kommentieren com2sec readonly default public # <- auskommentieren #com2sec readwrite default private
重启snmpd服务: /etc/init.d/snmpd restart
重新生成mrtg的配置文件: cfgmaker public@localhost > /etc/mrtg.cfg
(注意)如果仅仅监视一个IP地址采用如下命令: cfgmaker public@192.168.0.1 >> /etc/mrtg.cfg
生成mrtg的主页: indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html
访问: http://localhost/mrtg/
二:安装CPU负载监视[默认5分钟采集一次]
切换到超级用户: sudo -sH
安装软件: apt-get install sysstat
建立CPU脚本: mkdir /opt/mrtg vim /opt/mrtg/mrtg.cpu #!/bin/bash cpuusr=`/usr/bin/sar -u 1 3 | grep Average | awk '{print $3}'` cpusys=`/usr/bin/sar -u 1 3 | grep Average | awk '{print $5}'` UPtime=`/usr/bin/uptime | awk '{print $3""$4""$5}'` echo $cpuusr echo $cpusys echo $UPtime hostname
使脚本可以执行: chmod +755 /opt/mrtg/mrtg.cpu
修改 /etc/mrtg.cfg 在文件最后加入cpu项目 Target[cpu]: `/opt/mrtg/mrtg.cpu` MaxBytes[cpu]: 100 Options[cpu]: gauge, nopercent, growright YLegend[cpu]: CPU loading (%) ShortLegend[cpu]: % LegendO[cpu]: CPU us; LegendI[cpu]: CPU sy; Title[cpu]: CPU Loading PageTop[cpu]: <H1>CPU Loading</H1>
重新生成索引页面: indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html
访问: http://localhost/mrtg/
三:安装WWW连接数监视[默认5分钟采集一次]
切换到超级用户: sudo -sH
建立WWW脚本: mkdir /opt/mrtg vim /opt/mrtg/mrtg.www #!/bin/bash all=`netstat -a | grep www|awk '{print $5}'|sort | wc -l|awk '{print$1 - 1}'` user=`netstat -a | grep www|awk '{print $5}'|cut -d":" -f1|sort| uniq |wc -l | awk '{print $1 - 1}'` if [ "$all" = "-1" ]; then echo 0 else echo $all fi if [ "$user" = "-1" ]; then echo 0 else echo $user fi UPtime=`/usr/bin/uptime | awk '{print $3 " " $4 " " $5}'` echo $UPtime hostname
使脚本可以执行: chmod +755 /opt/mrtg/mrtg.www
修改 /etc/mrtg.cfg 在文件最后加入www项目 Target[www]: `/opt/mrtg/mrtg.www` MaxBytes[www]: 500 Options[www]: nopercent, growright YLegend[www]: Online Users ShortLegend[www]: % LegendI[www]: Connect : LegendO[www]: Online : Title[www]: WWW Connect PageTop[www]: <H1> WWW Connect </H1>
重新生成索引页面: indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html
访问: http://localhost/mrtg/
四:安装内存使用监视[默认5分钟采集一次]
切换到超级用户: sudo -sH
建立RAM脚本: mkdir /opt/mrtg vim /opt/mrtg/mrtg.ram #!/bin/bash # run this script to check the mem usage. totalmem=`/usr/bin/free |grep Mem |awk '{print $2}'` usedmem=`/usr/bin/free |grep Mem |awk '{print $3}'` UPtime=`/usr/bin/uptime | awk '{print $3""$4""$5}'` echo $totalmem echo $usedmem echo $UPtime hostname
使脚本可以执行: chmod +755 /opt/mrtg/mrtg.ram
修改 /etc/mrtg.cfg 在文件最后加入ram项目 Target[ram]: `/opt/mrtg/mrtg.ram` #Unscaled[ram]: dwym MaxBytes[ram]: 2048000 Title[ram]:Memory ShortLegend[ram]: & kmg[ram]:kB,MB kilo[ram]:1024 YLegend[ram]: Memory Usage : Legend1[ram]: Total Memory : Legend2[ram]: Used Memory : LegendI[ram]: Total Memory : LegendO[ram]: Used Memory : Options[ram]: growright,gauge,nopercent PageTop[ram]:<H1>Memory</H1>
重新生成索引页面: indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html
访问: http://localhost/mrtg/
五:安装FTP连接数监视[默认5分钟采集一次]
切换到超级用户: sudo -sH
建立FTP脚本: mkdir /opt/mrtg vim /opt/mrtg/mrtg.ftp #!/bin/bash all=`netstat -a | grep ftp|awk '{print $5}'|sort | wc -l|awk '{print$1 - 1}'` user=`netstat -a | grep ftp|awk '{print $5}'|cut -d":" -f1|sort| uniq |wc -l | awk '{print $1 - 1}'` if [ "$all" = "-1" ]; then echo 0 else echo $all fi if [ "$user" = "-1" ]; then echo 0 else echo $user fi UPtime=`/usr/bin/uptime | awk '{print $3 " " $4 " " $5}'` echo $UPtime hostname
使脚本可以执行: chmod +755 /opt/mrtg/mrtg.ftp
修改 /etc/mrtg.cfg 在文件最后加入ftp项目 Target[ftp]: `/opt/mrtg/mrtg.ftp` MaxBytes[ftp]: 500 Options[ftp]: nopercent, growright YLegend[ftp]: Online Users ShortLegend[ftp]: % LegendI[ftp]: Connect : LegendO[ftp]: Online : Title[ftp]: FTP Connect PageTop[ftp]: <H1> FTP Connect </H1>
重新生成索引页面: indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html
访问: http://localhost/mrtg/
六:安装CPU温度监视[默认5分钟采集一次]
切换到超级用户: sudo -sH
安装软件: apt-get install mbmon
建立CPU温度脚本: mkdir /opt/mrtg vim /opt/mrtg/mrtg.temp #!/bin/bash /usr/bin/mbmon -c 1 -i -T 4 -u -n exit 0
使脚本可以执行: chmod +755 /opt/mrtg/mrtg.temp
修改 /etc/mrtg.cfg 在文件最后加入cpu项目 Target[temp]: `/opt/mrtg/mrtg.temp` MaxBytes[temp]: 100 Title[temp]: CPU Temperature PageTop[temp]: <H1>CPU Temperature</H1> Options[temp]: gauge,absolute,unknaszero,growright YLegend[temp]: Temperature(C) ShortLegend[temp]: (C) Legend1[temp]: CPU Temperature Legend2[temp]: M/B Temperature LegendI[temp]: CPU Temp. LegendO[temp]: M/B Temp.
重新生成索引页面: indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html
访问: http://localhost/mrtg/
七:硬盘读写监视[默认5分钟采集一次]
切换到超级用户: sudo -sH
建立硬盘读写脚本: mkdir /opt/mrtg vim /opt/mrtg/mrtg.disk #!/bin/bash hd=sda disk=/dev/$hd UPtime=`/usr/bin/uptime |awk '{print $3""$4""$5}'` KBread_sec=`iostat -x $disk|grep $hd |awk '{print 8$}'` KBwrite_sec=`iostat -x $disk|grep $hd |awk '{print 9$}'` echo $KBread_sec echo $KBwrite_sec echo $UPtime hostname
使脚本可以执行: chmod +755 /opt/mrtg/mrtg.disk
修改 /etc/mrtg.cfg 在文件最后加入硬盘读写 Target[disk]: `/opt/mrtg/mrtg.disk` Title[disk]: Disk HDA I/O Utilization Report #Unscaled[disk]: dwym MaxBytes[disk]: 10240000 PageTop[disk]: <H1>Disk I/O Utilization Report</H1> kmg[disk]: KB,MB,GB LegendI[disk]: Disk I/O KBread/sec LegendO[disk]: Disk I/O KBwrite/sec Legend1[disk]: Disk I/O KBread/sec Legend2[disk]: Disk I/O KBwrite/sec YLegend[disk]: Megabytes ShortLegend[disk]: & Options[disk]: growright,gauge,nopercent
重新生成索引页面: indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html
访问: http://localhost/mrtg/
八:磁盘使用
切换到超级用户: sudo -sH
建立磁盘使用脚本: mkdir /opt/mrtg vim /opt/mrtg/mrtg.df #!/usr/bin/perl foreach $filesystem (`df -kl | grep -v "Filesystem"`) { @df = split(/\s+/,$filesystem); $total += $df[1]; $usage += $df[2]; } print "$total\n"; print "$usage\n"; hostname
使脚本可以执行: chmod +755 /opt/mrtg/mrtg.df
修改 /etc/mrtg.cfg 在文件最后加入 Target[disk]: `/opt/mrtg/mrtg.df` Title[disk]: Disk Space Unscaled[disk]: dwym MaxBytes[disk]: 465247550 kmg[disk]: KB,MB,GB LegendI[disk]: Total Disk Space LegendO[disk]: Used Disk Space Legend1[disk]: Total Disk Space Legend2[disk]: Used Disk Space YLegend[disk]: Megabytes ShortLegend[disk]: & Options[disk]: growright,nopercent PageTop[disk]: <H1>Disk Space</H1>
重新生成索引页面: indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html
九:交换分区
切换到超级用户: sudo -sH
建立交换分区脚本: mkdir /opt/mrtg vim /opt/mrtg/mrtg.swap #!/bin/bash # This script to monitor the swap usage. totalswap=`/usr/bin/free |grep Swap |awk '{print $2}'` usedswap=`/usr/bin/free |grep Swap |awk '{print $3}'` echo "$totalswap" echo "$usedswap"
使脚本可以执行: chmod +755 /opt/mrtg/mrtg.swap
修改 /etc/mrtg.cfg 在文件最后加入 Target[swap]: `/opt/mrtg/mrtg.swap` MaxBytes[swap]: 2048000 Title[swap]:Memory State of Server ShortLegend[swap]: & kmg[swap]:kB,MB kilo[swap]:1024 YLegend[swap]: Swap Usage Legend1[swap]: Total Swap Legend2[swap]: Used Swap LegendI[swap]: Total Swap LegendO[swap]: Used Swap Options[swap]: growright,gauge,nopercent PageTop[swap]:<H1>Swap</H1>
重新生成索引页面: indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html
访问: http://localhost/mrtg/
这上面的你只要照做基本上是没有什么问题的,我已经试验过了,只是在安装mrtg或者其他软件时你可能会遇到问题,但这因为每人的运行环境不同(系统版本和环境变量已经软件安装时候需要调用的线程库路径不同),所以没有办法弄个一劳永逸的,大家自己遇到问题,自己解决下吧
我把我配置的mrtg变量贴出来,大家参考吧
./configure --prefix=/usr/local/mrtg --sysconfdir=/etc/mrtg --with-gd=/opt/modules/gd/include --with-gd-lib=/opt/modules/gd/lib --with-gd-inc=/opt/modules/gd/include --with-png=/usr/local/include --with-png-lib=/usr/local/lib --with-png-inc=/usr/local/include --with-zlib=/usr/local/zlib/include --with-zlib-lib=/usr/local/zlib/include --with-zlib-inc=/usr/local/zlib/include
这是我弄的,大家看下http://211.94.188.238/mrtg/
我用的软件 mrtg-2.12.0.tar.gz
sysstat-8.0.4-1.i586.rpm
下面的是下载连接
点击浏览该文件
点击浏览该文件
|