日度归档:2008年8月19日

利用apache的.htaccess进行虚拟主机的密码保护

首先用apache生成一个.htpasswd文件,如果觉得麻烦的话可以在线生成一个.htpasswd文件内容。

http://www.4webhelp.net/us/password.php

在上面的网页中输入授权用户的“用户名”和“密码”,然后将生成的字符内容复制到记事本中,用上面一步的方法保存为“.htpasswd”文件。

然后输入.htaccess内容。。

XML/HTML代码
  1. Deny from all   
  2. AuthType Basic   
  3. AuthUserFile /var/www/xzy/.htpasswd   
  4. AuthName “Hello Admin”   
  5. require valid-user   
  6. satisfy any    

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

一:安装网络流量监视[默认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]: &nbsp; CPU us;
LegendI[cpu]: &nbsp; CPU sy;
Title[cpu]: CPU Loading
PageTop[cpu]: <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[www]: `/opt/mrtg/mrtg.www`
MaxBytes[www]: 500
Options[www]: nopercent, growright
YLegend[www]: Online Users
ShortLegend[www]: %
LegendI[www]: &nbsp; Connect :
LegendO[www]: &nbsp; Online :
Title[www]: WWW Connect
PageTop[www]: <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[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]: &nbsp; Memory Usage :
Legend1[ram]: &nbsp; Total Memory :
Legend2[ram]: &nbsp; Used Memory :
LegendI[ram]: &nbsp; Total Memory :
LegendO[ram]: &nbsp; Used Memory :
Options[ram]: growright,gauge,nopercent
PageTop[ram]:<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[ftp]: `/opt/mrtg/mrtg.ftp`
MaxBytes[ftp]: 500
Options[ftp]: nopercent, growright
YLegend[ftp]: Online Users
ShortLegend[ftp]: %
LegendI[ftp]: &nbsp; Connect :
LegendO[ftp]: &nbsp; Online :
Title[ftp]: FTP Connect
PageTop[ftp]: <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[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

 

七硬盘读写监视[默认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

 

八:磁盘使用

切换到超级用户:
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

* Target[裝置名稱]:

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

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

* MaxBytes[裝置名稱]:

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

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

* Options[裝置名稱]:

o Options[adj.idv.tw_2]: growright, bits (用在網路流量中)
o Options[adj.idv.tw_3]: growright, nopercent, gauge (用在 CPU 負載中)

growright:將資料隨時間變化的順序以右而左繪圖;
bits:資料單位為 bits;
nopercent:在圖下方的說明文字中,不顯示百分比;
gauge:圖表的上限固定!

最终效果:

 

 

 

mrtg.jpg