zxboom 发表于 2013-1-15 14:24:31

给ubuntu服务器安装MRTG监控软件

 
<div class="content">一:安装网络流量监视[默认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
如果没有生成,运行一下sudo /usr/bin/indexmaker -title="MySite MRTG Monitor" --output=/var/www/mrtg/index.html /etc/mrtg.cfg

访问:
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: `/opt/mrtg/mrtg.cpu`
MaxBytes: 100
Options: gauge, nopercent, growright
YLegend: CPU loading (%)
ShortLegend: %
LegendO:   CPU us;
LegendI:   CPU sy;
Title: CPU Loading
PageTop: <H1>CPU Loading</H1>

重新生成索引页面:
indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html

 
三安装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: `/opt/mrtg/mrtg.www`
MaxBytes: 500
Options: nopercent, growright
YLegend: Online Users
ShortLegend: %
LegendI:   Connect :
LegendO:   Online :
Title: WWW Connect
PageTop: <H1> WWW Connect </H1>


重新生成索引页面:
indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html

 
 
四安装内存使用监视[默认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: `/opt/mrtg/mrtg.ram`
#Unscaled: dwym
MaxBytes: 2048000
Title:Memory
ShortLegend: &
kmg:kB,MB
kilo:1024
YLegend:   Memory Usage :
Legend1:   Total Memory :
Legend2:   Used Memory :
LegendI:   Total Memory :
LegendO:   Used Memory :
Options: growright,gauge,nopercent
PageTop:<H1>Memory</H1>

重新生成索引页面:
indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html

 
 
五安装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: `/opt/mrtg/mrtg.ftp`
MaxBytes: 500
Options: nopercent, growright
YLegend: Online Users
ShortLegend: %
LegendI:   Connect :
LegendO:   Online :
Title: FTP Connect
PageTop: <H1> FTP Connect </H1>

重新生成索引页面:
indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html
 
六安装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: `/opt/mrtg/mrtg.temp`
MaxBytes: 100
Title: CPU Temperature
PageTop: <H1>CPU Temperature</H1>
Options: gauge,absolute,unknaszero,growright
YLegend: Temperature(C)
ShortLegend: (C)
Legend1: CPU Temperature
Legend2: M/B Temperature
LegendI: CPU Temp.
LegendO: M/B Temp.

重新生成索引页面:
indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html

 
七硬盘读写监视[默认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: `/opt/mrtg/mrtg.disk`
Title: Disk HDA I/O Utilization Report
#Unscaled: dwym
MaxBytes: 10240000
PageTop: <H1>Disk I/O Utilization Report</H1>
kmg: KB,MB,GB
LegendI: Disk I/O KBread/sec
LegendO: Disk I/O KBwrite/sec
Legend1: Disk I/O KBread/sec
Legend2: Disk I/O KBwrite/sec
YLegend: Megabytes
ShortLegend: &
Options: growright,gauge,nopercent

重新生成索引页面:
indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html

 
八:磁盘使用

切换到超级用户:
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;
$usage += $df;
}
print "$total\n";
print "$usage\n";
hostname


使脚本可以执行:
chmod +755 /opt/mrtg/mrtg.df

修改 /etc/mrtg.cfg 在文件最后加入
Target: `/opt/mrtg/mrtg.df`
Title: Disk Space
Unscaled: dwym
MaxBytes: 465247550
kmg: KB,MB,GB
LegendI: Total Disk Space
LegendO: Used Disk Space
Legend1: Total Disk Space
Legend2: Used Disk Space
YLegend: Megabytes
ShortLegend: &
Options: growright,nopercent
PageTop: <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: `/opt/mrtg/mrtg.swap`
MaxBytes: 2048000
Title:Memory State of Server
ShortLegend: &
kmg:kB,MB
kilo:1024
YLegend: Swap Usage
Legend1: Total Swap
Legend2: Used Swap
LegendI: Total Swap
LegendO: Used Swap
Options: growright,gauge,nopercent
PageTop:<H1>Swap</H1>


重新生成索引页面:
indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html

* Target[裝置名稱]:

o Target: 2: public@192.168.1.2
上面是一般的用法,其中半括號內的是裝置的名稱,同一個裝置的各參數中,這個名稱要一致!

o Target:`/usr/local/apache/htdocs/mrtg/cpu/mrtg.cpu`
後面接的是一個自訂的加掛的可執行檔案,這個檔案執行之後,會顯示四個數據,這樣就可以繪圖了!在繪製非 MRTG 程式的預設咚咚中,這個是最常使用的方法了!

* MaxBytes[裝置名稱]:

o MaxBytes: 1250000
後面的數字代表資料監測時,最大的傳送速率,使用 bytes,所以 10Mbps 則為 1.25MBytes,大約是 1250000Bytes。這個數值程式會自動判斷啦!不過你也可以自己修改,用到這個數字的時候是在你的圖表下方,每一個說明後面的(xx%)時用到的。

o MaxBytes: 100
如果你的資料並不是 Bytes 時,例如監測 CPU 負載率時,那這個數值就需要改變啦!

* Options[裝置名稱]:

o Options: growright, bits (用在網路流量中)
o Options: growright, nopercent, gauge (用在 CPU 負載中)

growright:將資料隨時間變化的順序以右而左繪圖;
bits:資料單位為 bits;
nopercent:在圖下方的說明文字中,不顯示百分比;
gauge:圖表的上限固定!
最终效果:
 
 
 
页: [1]
查看完整版本: 给ubuntu服务器安装MRTG监控软件