前置作業:
Ubuntu只要安裝mrtg後自動建立在/var/www/mrtg下(我是Ubuntu8.0.4.1版本)
先再這目錄下建立一個count目錄(名稱自己決定),用來存放產生資訊的.sh檔案...

一:網路流量

所需套件:
apt-get install apache2
apt-get install mrtg
apt-get install snmpd

編輯snmpd:
vim /etc/snmp/snmpd.conf


com2sec paranoid default public
#com2sec readonly default public
#com2sec readwrite default private

改成
#com2sec paranoid default public
com2sec readonly default public
#com2sec readwrite default private

重新啟動snmp:
/etc/init.d/snmpd restart

重新配置mrtg.cfg:
這裡是指本機local端所有的網路介面
cfgmaker public@localhost > /etc/mrtg.cfg

如果只要監控某一個IP的流量請改成
cfgmaker public@192.168.0.1 >> /etc/mrtg.cfg

如果要監控其他台電腦,其他電腦必須安裝snmp之類

產生相關顯示檔案:
env LANG=C mrtg /etc/mrtg.cfg

建立mrtg的主頁:
indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html

二:監控CPU

所需套件:
apt-get install sysstat

建立一個可以讀取CPU相關資料的檔案:(取自鳥哥大人)
vim /var/www/mrtg/count/mrtg.cpu.sh

#!/bin/bash
# 這個程式是用來偵測 CPU 的小外掛程式!
# 1. 開始使用 sar 來監測 CPU 的 user 及 System 負載率
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}'`

# 2. 列出四個數據(前兩個為數字)
echo $cpuusr
echo $cpusys
echo $UPtime
echo hostname

修改成可執行權限:
chmod +755 /opt/mrtg/mrtg.cpu

修改 /etc/mrtg.cfg ,直接加入最後面
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]:

CPU Loading



產生相關顯示檔案:
env LANG=C mrtg /etc/mrtg.cfg

建立mrtg的主頁:
indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html

三:監控WWW連接數以及線上人數

建立一個可以讀取WWW相關資料的檔案:(取自鳥哥大人)
vim /var/www/mrtg/count/mrtg.www.sh

#!/bin/bash
# 這個程式主要在計算有多少人以 WWW 的方式連線進我們的主機!
# 1. 計算連線的數目
echo `netstat -a | grep www|awk '{print $5}'|sort | wc -l|awk '{print$1 - 1}'`
# 底下在說明整個咚咚的列出(檢查用)
# netstat -a | grep www|awk '{print $5}'|sort| uniq

# 2. 計算連線人數:
echo `netstat -a | grep www|awk '{print $5}'|cut -d":" -f1|sort| uniq |wc -l | awk '{print $1 - 1}'`
# netstat -a | grep www|awk '{print $5}'|cut -d":" -f1|sort| uniq

# 3. 輸出時間咚咚
UPtime=`/usr/bin/uptime | awk '{print $3 " " $4 " " $5}'`
echo $UPtime
echo hostname

因為我希望能夠監控來自www or https or 其他來自不同方法的,
只要透過我某一個IP進來的我都要監控,所以我改成這樣

#!/bin/bash
# 這個程式主要在計算有多少人以 WWW 的方式連線進我們的主機!
# 1. 計算連線的數目
echo `netstat -na | grep 監控的ip|awk '{print $5}'|sort | wc -l|awk '{print$1 - 1}'`
# 底下在說明整個咚咚的列出(檢查用)
# netstat -na | grep 監控的ip|awk '{print $5}'|sort| uniq

# 2. 計算連線人數:
echo `netstat -a | grep www|awk '{print $5}'|cut -d":" -f1|sort| uniq |wc -l | awk '{print $1 - 1}'`
# netstat -a | grep www|awk '{print $5}'|cut -d":" -f1|sort| uniq

# 3. 輸出時間咚咚
UPtime=`/usr/bin/uptime | awk '{print $3 " " $4 " " $5}'`
echo $UPtime
echo hostname

修改成可執行權限:
chmod +755 /opt/mrtg/mrtg.www

修改 /etc/mrtg.cfg ,直接加入最後面
Target[www]: `/opt/mrtg/mrtg.www`
MaxBytes[www]: 500
Options[www]: gauge, nopercent, growright
YLegend[www]: Online Users
ShortLegend[www]: %
LegendI[www]: Connect :
LegendO[www]: Online :
Title[www]: WWW Connect
PageTop[www]:

WWW Connect



產生相關顯示檔案:
env LANG=C mrtg /etc/mrtg.cfg

建立mrtg的主頁:
indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html
arrow
arrow
    全站熱搜

    VieriKing 發表在 痞客邦 留言(0) 人氣()