TShopping
標題:
[研究] MRTG 快速安裝程式 (CentOS 5.1)
[打印本頁]
作者:
woff
時間:
2008-6-5 19:06
標題:
[研究] MRTG 快速安裝程式 (CentOS 5.1)
MRTG官方安裝方法
http://oss.oetiker.ch/mrtg/doc/mrtg-unix-guide.en.html
修改後的步驟重點說明
(1)安裝 gcc , perl, gd, libpng, zlib, mrtg , snmp, httpd 等套件
yum -y gcc , perl, gd, libpng, zlib, mrtg
複製代碼
(2) yum 安裝的 net-snmp 似乎有問題, 只好自己去下載, 安裝, 執行
http://net-snmp.sourceforge.net/
tar zxvf net-snmp-5.4.1.tar.gz
cd net-snmp-5.4.1
./configurfe
make
make install
/bin/cp -f ./python/netsnmp/tests/snmpd.conf /usr/local/etc/snmp/snmpd.conf
複製代碼
在 /usr/local/etc/snmp/snmpd.conf 增加兩行
數值意義請參考
http://oss.oetiker.ch/mrtg/doc/mrtg-mibhelp.en.html
view systemview included .1.3.6.1.2.1.2.2.1.10
view systemview included .1.3.6.1.2.1.2.2.1.16
複製代碼
把系統中現有的 snmpd 停掉, 執行新安裝的
killall snmpd
/usr/local/sbin/snmpd -c /usr/local/etc/snmp/snmpd.conf
複製代碼
(3) 編輯 MRTG 設定檔
編輯 /etc/mrtg/mrtg.cfg , 內容只要有下面即可
Target[eth0]: 2:public@127.0.0.1"
MaxBytes[eth0]: 1250000"
Title[eth0]: Traffic Analysis"
PageTop[eth0]: <H1>127.0.0.1 eth0</H1>
複製代碼
public 前面的數字可用下面偵測, 一般 eth0 代號是 2
ip link
複製代碼
(4) 產生基本網頁
執行 3 次下面指令, 產生基本網頁
env LANG=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg
env LANG=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg
env LANG=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg
複製代碼
(5) 產生 MRTG 首頁
執行
indexmaker /etc/mrtg/mrtg.cfg > /var/www/mrtg/index.html
複製代碼
(6) 設定排程
vi /etc/crontab 增加一行
*/5 * * * * root env LANG=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg > /dev/null 2>&1
複製代碼
(7) 啟動 MRTG 監控
firefox http://localhost/mrtg &
複製代碼
MRTG為一個使用甚廣的網路流量統計軟體,它神奇的地方在於能即時地繪出網路流量的統計圖。
MRTG官方安裝方法
http://oss.oetiker.ch/mrtg/doc/mrtg-unix-guide.en.html
這是小弟寫的快速安裝程式, 基本上都使用 yum 安裝
除了 snmp 似乎有問題 (請看下篇)
[研究] snmpd dead but pid file exists
http://forum.icst.org.tw/phpBB2/viewtopic.php?t=14861
net-snmp-5.4.1.tar.gz 請自己到下面抓下
http://downloads.sourceforge.net/net-snmp/net-snmp-5.4.1.tar.gz?modtime=1185535805&big_mirror=1
小弟本想用 wget 抓下, 結果抓完後就停住, 按下 Enter 居然跳出 Shell Script
echo -e "\033[34m"
echo -e "############################################"
echo -e " MRTG Install Shell Script (CentOS 5.1) "
echo -e " by Lu 2008/04/18 "
echo -e "############################################"
echo -e "\033[0m"
DEBUG=n
if [ "`cat /proc/version | grep centos | grep el5`" != "" ]; then
OS="CentOS 5.x"
echo "Detection your OS is CentOS 5.x"
else
echo "[ERROR] Only Support CentOS 5.x"
exit
fi
echo -e "\033[31m"
echo -e "############# Step ###############"
echo -e " Internet Connection Check "
echo -e "####################################"
echo -e "\033[0m"
echo -e "\033[32mCheck...\033[0m"
if [ "`ping www.hinet.net -c 1 | grep ttl `" != "" ]; then
echo "Internet Online"
else
echo "Internet Offline"
exit
fi
if [ "$DEBUG" == "y" ]; then echo "ress any key to continue..." ; read ; fi
echo -e "\033[31m"
echo -e "############# Step ###############"
echo -e " ntpdate tick.stdtime.gov.tw "
echo -e "####################################"
echo -e "\033[0m"
echo -e "\033[32mKill nptd on running...\033[0m"
ProcessID="`ps aux | grep ntpd | awk '{print $2}' `"
for i in $ProcessID
do
echo $i
kill -9 $i
done
ntpdate tick.stdtime.gov.tw
if [ "$DEBUG" == "y" ]; then echo "ress any key to continue..." ; read ; fi
echo -e "\033[31m"
echo -e "############# Step ###############"
echo -e " Configure MRTG Install Enviroment "
echo -e "####################################"
echo -e "\033[0m"
echo -e "\033[32myum -y install net-snmp mrtg gd libpng zlib sysstat gcc\033[0m"
echo -e "\033[31m'yum -y install net-snmp' has serious BUG on CentOS 5.x (net-snmp 5.3.x rpm has BUG) \033[0m"
echo -e "\033[31mservice snmpd start, ps aux | grep, you will find that snmpd does not run \033[0m"
echo -e "\033[31mI will use tar.gz to install net-snmp 5.4.x \033[0m"
echo -e "\033[32mKill yum on running...\033[0m"
ProcessID="`ps aux | grep yum | awk '{print $2}' `"
for i in $ProcessID
do
echo $i
kill -9 $i
done
YUMARGS=""
if [ "`rpm -q httpd | grep not`" != "" ]; then
YUMARGS="$YUMARGS httpd"
echo "httpd not installed"
else
echo "httpd installed"
fi
if [ "`rpm -q mrtg | grep not`" != "" ]; then
YUMARGS="$YUMARGS mrtg"
echo "mrtg not installed"
else
echo "mrtg installed"
fi
if [ "`rpm -q gd | grep not `" != "" ]; then
YUMARGS="$YUMARGS gd"
echo "gd not installed"
else
echo "gd installed"
fi
if [ "`rpm -q libpng | grep not `" != "" ]; then
YUMARGS="$YUMARGS libpng"
echo "libpng not installed"
else
echo "libpng installed"
fi
if [ "`rpm -q zlib | grep not `" != "" ]; then
YUMARGS="$YUMARGS zlib"
echo "zlib not installed"
else
echo "zlib installed"
fi
if [ "`rpm -q sysstat | grep not `" != "" ]; then
YUMARGS="$YUMARGS sysstat"
echo "sysstat not installed"
else
echo "sysstat installed"
fi
if [ "`rpm -q gcc | grep not `" != "" ]; then
YUMARGS="$YUMARGS gcc"
echo "gcc not installed"
else
echo "gcc installed"
fi
#echo $YUMARGS
if [ ! "$YUMARGS" == "" ]; then
echo -e "\033[32mrm -fr /var/cache/yum \033[0m"
rm -fr /var/cache/yum
echo -e "\033[32myum -y install $YUMARGS \033[0m"
yum -y install $YUMARGS
fi
if [ ! -s net-snmp-5.4.1.tar.gz ]; then
#wget http://downloads.sourceforge.net/net-snmp/net-snmp-5.4.1.tar.gz?modtime=1185535805&big_mirror=1
# bug ? wget finish will quit shell scipt
echo "Not found net-snmp-5.4.1.tar.gz"
exit
fi
echo -e "\033[32mtar zxvf net-snmp-5.4.1.tar.gz \033[0m"
tar zxvf net-snmp-5.4.1.tar.gz
echo -e "\033[32mcd net-snmp-5.4.1 \033[0m"
cd net-snmp-5.4.1
pwd
echo -e "\033[32m./configure \033[0m"
./configure
echo -e "\033[32mmake \033[0m"
make
echo -e "\033[32mmake install \033[0m"
make install
mkdir /usr/local/etc/snmp
/bin/cp -f ./python/netsnmp/tests/snmpd.conf /usr/local/etc/snmp/snmpd.conf
/bin/cp -f ./python/netsnmp/tests/snmpd.conf /usr/local/etc/snmp/snmpd.conf.OLD
echo -e "\033[32mchkconfig httpd on \033[0m"
chkconfig httpd on
echo -e "\033[32mservice httpd restart \033[0m"
service httpd restart
echo -e "\033[32mkillall snmpd \033[0m"
killall snmpd
echo -e "\033[32m/usr/local/sbin/snmpd \033[0m"
/usr/local/sbin/snmpd
echo -e "\033[32mModify /etc/mrtg/mrtg.cfg\033[0m"
if [ ! -s /etc/mrtg/mrtg.cfg.OLD ]; then
/bin/cp -f /etc/mrtg/mrtg.cfg /etc/mrtg/mrtg.cfg.OLD
fi
/bin/cp -f /etc/mrtg/mrtg.cfg.OLD /etc/mrtg/mrtg.cfg
#delete old setting
sed -i -e "/eth0/d" /etc/mrtg/mrtg.cfg
#add new setting
echo "Target[eth0]: 2:public@127.0.0.1" >> /etc/mrtg/mrtg.cfg
echo "MaxBytes[eth0]: 1250000" >> /etc/mrtg/mrtg.cfg
echo "Title[eth0]: Traffic Analysis" >> /etc/mrtg/mrtg.cfg
echo "ageTop[eth0]: <H1>127.0.0.1 eth0</H1>" >> /etc/mrtg/mrtg.cfg
echo -e "\033[31m"
echo -e "############# Step ###############"
echo -e " Modify /etc/crontab "
echo -e "####################################"
echo -e "\033[0m"
echo -e "\033[32mModify /etc/crontab\033[0m"
#echo "Deleting old setting , Adding MRTG to /etc/crontab..."
sed -i -e "/mrtg/d" /etc/crontab
echo "*/5 * * * * root env LANG=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg > /dev/null 2>&1 " >> /etc/crontab
echo "" >> /etc/crontab
echo -e "\033[31m"
echo -e "############# Step ###############"
echo -e " Modify snmpd.conf "
echo -e "####################################"
echo -e "\033[0m"
echo -e "\033[32mModify snmpd.conf\033[0m"
echo "view systemview included .1.3.6.1.2.1.2.2.1.10" >> /usr/local/etc/snmp/snmpd.conf
echo "view systemview included .1.3.6.1.2.1.2.2.1.16" >> /usr/local/etc/snmp/snmpd.conf
killall snmpd
/usr/local/sbin/snmpd -c /usr/local/etc/snmp/snmpd.conf
echo -e "\033[31m"
echo -e "############# Step ###############"
echo -e " Modify /etc/httpd/conf.d/mrtg.conf "
echo -e "####################################"
echo -e "\033[0m"
echo -e "\033[32mModify /etc/httpd/conf.d/mrtg.conf\033[0m"
if [ ! -s /etc/httpd/conf.d/mrtg.conf.OLD ]; then
/bin/cp -f /etc/httpd/conf.d/mrtg.conf /etc/httpd/conf.d/mrtg.conf.OLD
fi
/bin/cp -f /etc/httpd/conf.d/mrtg.conf.OLD /etc/httpd/conf.d/mrtg.conf
#Allow monitor from anywhere
sed -i -e "s@Deny from all@#Deny from all@" /etc/httpd/conf.d/mrtg.conf
echo -e "\033[31m"
echo -e "############# Step ###############"
echo -e " Configure CPU Monitor "
echo -e "####################################"
echo -e "\033[0m"
echo -e "\033[32m********** Set CPU Monitor **********\033[0m"
#yum -y install sysstat
echo -e "\033[32mMake /etc/mrtg/cpu.sh\033[0m"
echo "#!/bin/bash" > /etc/mrtg/cpu.sh
echo "cpuusr=\`/usr/bin/sar -u 1 3 | grep Average | awk '{print \$3}'\` " >> /etc/mrtg/cpu.sh
echo "cpusys=\`/usr/bin/sar -u 1 3 | grep Average | awk '{print \$5}'\` " >> /etc/mrtg/cpu.sh
echo "UPtime=\`/usr/bin/uptime | awk '{print \$3\"\"\$4\"\"\$5}'\` " >> /etc/mrtg/cpu.sh
echo "echo \$cpuusr " >> /etc/mrtg/cpu.sh
echo "echo \$cpusys " >> /etc/mrtg/cpu.sh
echo "echo \$UPtime " >> /etc/mrtg/cpu.sh
echo "hostname " >> /etc/mrtg/cpu.sh
#/bin/cp -f cpu.sh /etc/mrtg/cpu.sh
chmod 755 /etc/mrtg/cpu.sh
echo -e "\033[32mModify /etc/mrtg/mrtg.cfg\033[0m"
sed -i -e "/cpu/d" /etc/mrtg/mrtg.cfg
echo " " >> /etc/mrtg/mrtg.cfg
echo "Target[cpu]: \`/etc/mrtg/cpu.sh\` " >> /etc/mrtg/mrtg.cfg
echo "MaxBytes[cpu]: 100 " >> /etc/mrtg/mrtg.cfg
echo "Options[cpu]: gauge, nopercent, growright " >> /etc/mrtg/mrtg.cfg
echo "YLegend[cpu]: CPU loading (%) " >> /etc/mrtg/mrtg.cfg
echo "ShortLegend[cpu]: % " >> /etc/mrtg/mrtg.cfg
echo "LegendO[cpu]: CPU us; " >> /etc/mrtg/mrtg.cfg
echo "LegendI[cpu]: CPU sy; " >> /etc/mrtg/mrtg.cfg
echo "Title[cpu]: CPU Loading " >> /etc/mrtg/mrtg.cfg
echo "ageTop[cpu]: <H1>CPU Loading</H1> " >> /etc/mrtg/mrtg.cfg
echo -e "\033[31m"
echo -e "############# Step ###############"
echo -e " Configure Memory Monitor "
echo -e "####################################"
echo -e "\033[0m"
echo -e "\033[32myum -y install sysstat\033[0m"
#yum -y install sysstat
echo -e "\033[32mMake /etc/mrtg/mem.sh\033[0m"
echo "#!/bin/bash " > /etc/mrtg/mem.sh
echo "# run this script to check the mem usage. " >> /etc/mrtg/mem.sh
echo "totalmem=\`/usr/bin/free |grep Mem |awk '{print \$2}'\` " >> /etc/mrtg/mem.sh
echo "usedmem=\`/usr/bin/free |grep Mem |awk '{print \$3}'\` " >> /etc/mrtg/mem.sh
echo "UPtime=\`/usr/bin/uptime | awk '{print \$3\"\"\$4\"\"\$5}'\` " >> /etc/mrtg/mem.sh
echo "echo \$totalmem " >> /etc/mrtg/mem.sh
echo "echo \$usedmem " >> /etc/mrtg/mem.sh
echo "echo \$UPtime " >> /etc/mrtg/mem.sh
echo "hostname " >> /etc/mrtg/mem.sh
#/bin/cp -f mem.sh /etc/mrtg/mem.sh
chmod 755 /etc/mrtg/mem.sh
echo -e "\033[32mModify /etc/mrtg/mrtg.cfg\033[0m"
sed -i -e "/ram/d" /etc/mrtg/mrtg.cfg
echo " " >> /etc/mrtg/mrtg.cfg
echo "Target[ram]: \`/etc/mrtg/mem.sh\` " >> /etc/mrtg/mrtg.cfg
echo "#Unscaled[ram]: dwym " >> /etc/mrtg/mrtg.cfg
echo "MaxBytes[ram]: 2048000 " >> /etc/mrtg/mrtg.cfg
echo "Title[ram]:Memory " >> /etc/mrtg/mrtg.cfg
echo "ShortLegend[ram]: & " >> /etc/mrtg/mrtg.cfg
echo "kmg[ram]:kB,MB " >> /etc/mrtg/mrtg.cfg
echo "kilo[ram]:1024 " >> /etc/mrtg/mrtg.cfg
echo "YLegend[ram]: Memory Usage : " >> /etc/mrtg/mrtg.cfg
echo "Legend1[ram]: Total Memory : " >> /etc/mrtg/mrtg.cfg
echo "Legend2[ram]: Used Memory : " >> /etc/mrtg/mrtg.cfg
echo "LegendI[ram]: Total Memory : " >> /etc/mrtg/mrtg.cfg
echo "LegendO[ram]: Used Memory : " >> /etc/mrtg/mrtg.cfg
echo "Options[ram]: growright,gauge,nopercent " >> /etc/mrtg/mrtg.cfg
echo "ageTop[ram]:<H1>Memory</H1> " >> /etc/mrtg/mrtg.cfg
echo -e "\033[31m"
echo -e "############# Step ###############"
echo -e " Configure Connections Monitor "
echo -e "####################################"
echo -e "\033[0m"
echo -e "\033[32myum -y install sysstat\033[0m"
#yum -y install sysstat
echo -e "\033[32mMake /etc/mrtg/connections.sh\033[0m"
echo "#!/bin/bash " > /etc/mrtg/connections.sh
echo "echo \`netstat -a | grep www|awk '{print \$5}'|sort | wc -l|awk '{print\$1 - 1}'\` " >> /etc/mrtg/connections.sh
echo "# netstat -a | grep www|awk '{print \$5}'|sort| uniq " >> /etc/mrtg/connections.sh
echo "echo \`netstat -a | grep www|awk '{print \$5}'|cut -d\":\" -f1|sort| uniq |wc -l | awk '{print \$1 - 1}'\` " >> /etc/mrtg/connections.sh
echo "# netstat -a | grep www|awk '{print \$5}'|cut -d\":\" -f1|sort| uniq " >> /etc/mrtg/connections.sh
echo "UPtime=\`/usr/bin/uptime | awk '{print \$3 " " \$4 " " \$5}'\` " >> /etc/mrtg/connections.sh
echo "echo \$UPtime " >> /etc/mrtg/connections.sh
echo "echo yourwebserver.host.name " >> /etc/mrtg/connections.sh
#/bin/cp -f connections.sh /etc/mrtg/connections.sh
chmod 755 /etc/mrtg/connections.sh
echo -e "\033[32mModify /etc/mrtg/mrtg.cfg\033[0m"
sed -i -e "/connections/d" /etc/mrtg/mrtg.cfg
echo " " >> /etc/mrtg/mrtg.cfg
echo "Target[connections]: \`/etc/mrtg/connections.sh\` " >> /etc/mrtg/mrtg.cfg
echo "MaxBytes[connections]: 500 " >> /etc/mrtg/mrtg.cfg
echo "Options[connections]: gauge, nopercent, growright " >> /etc/mrtg/mrtg.cfg
echo "YLegend[connections]: Online Users " >> /etc/mrtg/mrtg.cfg
echo "ShortLegend[connections]: % " >> /etc/mrtg/mrtg.cfg
echo "LegendI[connections]: connections (Input) : " >> /etc/mrtg/mrtg.cfg
echo "LegendO[connections]: connections (Output) : " >> /etc/mrtg/mrtg.cfg
echo "Title[connections]: WWW connections " >> /etc/mrtg/mrtg.cfg
echo "ageTop[connections]: <H1> WWW connections </H1> " >> /etc/mrtg/mrtg.cfg
#echo "<TABLE> " >> /etc/mrtg/mrtg.cfg
#echo " <TR><TD>System:</TD> <TD>WWW connections</TD></TR> " >> /etc/mrtg/mrtg.cfg
#echo " <TR><TD>Maintainer:</TD> <TD>Lu</TD></TR> " >> /etc/mrtg/mrtg.cfg
#echo "</TABLE> " >> /etc/mrtg/mrtg.cfg
#mii-tool
#ip link
echo -e "\033[31m"
echo -e "############# Step #################################"
echo -e " To generate MRTG Log, suggest to run three times "
echo -e "####################################################"
echo -e "\033[0m"
#To generate MRTG Log, suggest to run three times
echo -e "\033[32menv LANG=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg\033[0m"
env LANG=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg
echo -e "\033[32menv LANG=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg\033[0m"
env LANG=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg
echo -e "\033[32menv LANG=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg\033[0m"
env LANG=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg
echo -e "\033[31m"
echo -e "############# Step ###############"
echo -e " To generate index.html "
echo -e "##################################"
echo -e "\033[0m"
echo -e "\033[32mindexmaker --output=/var/www/mrtg/index.html /etc/mrtg/mrtg.cfg\033[0m"
indexmaker /etc/mrtg/mrtg.cfg > /var/www/mrtg/index.html
echo -e "\033[31m"
echo -e "############# Step ###############"
echo -e " Run MRTG "
echo -e "##################################"
echo -e "\033[0m"
echo -e "\033[32mps aux | grep snmpd \033[0m"
ps aux | grep snmpd
echo -e "\033[32m Configuration :/etc/mrtg/mrtg.cfg\033[0m"
echo -e "\033[32m Configuration :/etc/httpd/conf.d/mrtg.conf\033[0m"
echo -e "\033[32m Configuration :/usr/local/etc/snmp/snmpd.conf\033[0m"
echo -e "\033[32m Log :/var/log/snmpd.log \033[0m"
echo -e "\033[32mfirefox http://localhost/mrtg &\033[0m"
firefox http://localhost/mrtg &
複製代碼
相關文章
[教學][研究] MRTG 快速安裝程式 (CentOS 5.1)
http://forum.icst.org.tw/phpBB2/viewtopic.php?t=14871
[教學][研究] F7 (Fedora 7) 上安裝 MRTG (yum安裝)
http://forum.icst.org.tw/phpBB2/viewtopic.php?t=13689
FC4 (Fedora Core 4) 上如何安裝 MRTG
http://forum.icst.org.tw/phpBB2/viewtopic.php?t=7014
FC3 (Fedora Core 3) 上安裝 MRTG 步驟
http://forum.icst.org.tw/phpBB2/viewtopic.php?t=8168
監控網路鏈路流量負載軟體Mrtg使用指南
http://forum.icst.org.tw/phpBB2/viewtopic.php?t=7094
作者:
Prada
時間:
2011-7-9 00:52
樓上的稍等啦
作者:
kobe15963
時間:
2011-10-10 00:41
(*^__^*) 嘻嘻……
作者:
hyman0953
時間:
2011-10-10 00:57
真的有麼好嗎?
作者:
+赤月冥静
時間:
2014-10-29 06:29
谢谢哦,辛苦辛苦!
滨海论坛
11fcw.com/portal.php
作者:
霓过分虹
時間:
2015-7-1 17:35
不敢相信哦
作者:
ozzku
時間:
2015-7-28 05:06
我在努力中
恐怖高校
歡迎光臨 TShopping (http://www.tshopping.com.tw/)
Powered by Discuz! X3.2