给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: &nbsp; CPU us;
LegendI: &nbsp; 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: &nbsp; Connect :
LegendO: &nbsp; 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: &nbsp; Memory Usage :
Legend1: &nbsp; Total Memory :
Legend2: &nbsp; Used Memory :
LegendI: &nbsp; Total Memory :
LegendO: &nbsp; 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: &nbsp; Connect :
LegendO: &nbsp; 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]