轉自:ChinaUnix.net 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 訪問: [url]http://localhost/mrtg/[/url] 三安裝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 訪問: [url]http://localhost/mrtg/[/url] 四安裝內存使用監視[默認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 訪問: [url]http://localhost/mrtg/[/url] 五安裝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 訪問: [url]http://localhost/mrtg/[/url] 六安裝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 訪問: [url]http://localhost/mrtg/[/url] 七硬盤讀寫監視[默認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 訪問: [url]http://localhost/mrtg/[/url] 八:磁盤使用 切換到超級用戶: sudo -sH 創建磁盤使用腳本: mkdir /opt/mrtg vim /opt/mrtg/mrtg.df #!/usr/bin/perlforeach $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 SpaceUnscaled[disk]: dwymMaxBytes[disk]: 465247550kmg[disk]: KB,MB,GBLegendI[disk]: Total Disk SpaceLegendO[disk]: Used Disk SpaceLegend1[disk]: Total Disk SpaceLegend2[disk]: Used Disk SpaceYLegend[disk]: MegabytesShortLegend[disk]: &Options[disk]: growright,nopercentPageTop[disk]: <H1>Disk Space</H1>從新生成索引頁面:indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html九:交換分區切換到超級用戶:sudo -sH創建交換分區腳本:mkdir /opt/mrtgvim /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]: 2048000Title[swap]:Memory State of ServerShortLegend[swap]: &kmg[swap]:kB,MBkilo[swap]:1024YLegend[swap]: Swap UsageLegend1[swap]: Total SwapLegend2[swap]: Used SwapLegendI[swap]: Total SwapLegendO[swap]: Used SwapOptions[swap]: growright,gauge,nopercentPageTop[swap]:<H1>Swap</H1>從新生成索引頁面:indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html訪問:[url]http://localhost/mrtg/[/url] |