歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> 史上最詳細的mrtg設置說明

史上最詳細的mrtg設置說明

日期:2017/3/1 17:03:25   编辑:關於Linux
史上最詳細的mrtg設置說明 Mrtg可用來監視linux的各種詳細參數,如果不明白可以去搜索一下就知道了.今天我主要講解的是他的設置方法. 一、前期準備 www.2cto.com (1)MRTG需要以SNMP服務為基礎,所以請確保你的系統已經啟用了此服務,修改SNMP的配置: #vi /etc/snmp/snmpd.conf 將62行: access notConfigGroup "" any noauth exact systemview none none 改為 access notConfigGroup "" any noauth exact mib2 none none 把第89行前面的注釋符號#去掉,變成 view mib2 included .iso.org.dod.internet.mgmt.mib-2 fc www.2cto.com (2)linux Mrtg監控主機流量啟動http服務和snmp服務: 首先查看兩個服務在系統啟動時是否已經開啟 #chkconfig --list | grep nginx 沒有啟動的話需要修改下在什麼啟動模式下要自己啟動: # chkconfig --level 35 nginx on 對 snmpd 服務采用同樣的設置,現在手動啟動下 #service nginx start #service snmpd start 啟動之後最好是用setup配置服務,讓其隨機自動啟動 查看端口的開啟狀況也可確認其是否已經被啟動 # netstat -tunlp |grep snmp tcp 0 0 0.0.0.0:199 0.0.0.0:* LISTEN 4973/snmpd udp 0 0 0.0.0.0:161 0.0.0.0:* 4973/snmpd (3)MRTG生成供浏覽圖像需要http服務的支持,同時也需要gd、libpng和zlib三個軟件包的支持,而gd的正常運行也需要其它的幾個軟件,(系統默認自帶,如果沒有自帶則需要我們手工安裝) 1.安裝zlib-1.2.3 #tar zxvf zlib-1.2.3.tar.gz #cd zlib-1.2.3 #./configure --prefix=/usr/local/zlib #make #make install 2.安裝httpd-2.2.4 #tar zxvf httpd-2.2.4.tar.gz #cd httpd-2.2.4 #./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-track-vars --enable-rewrite --with-z-dir=/usr/local/zlib #make #make install 啟動httpd /usr/local/apache/bin/apachectl -k start 3.安裝libpng-1.2.14 #tar zxvf libpng-1.2.14.tar.gz # cd libpng-1.2.14 # cp scripts/makefile.linux makefile # make (若是提示找不到zlib庫文件或者頭文件,多半是makefile文件裡zlib的默認路徑有誤。可編輯makefile文件,找到zlib項並重新指定路徑到/usr/local/zlib/lib和/usr/local/zlib/include)。 # make install 4.安裝freetype-2.1.10 # tar -zvxf freetype-2.1.10.tar.gz # cd freetype-2.1.10 # mkdir -p /usr/local/freetype # ./configure --prefix=/usr/local/freetype # make;make install 5.安裝jpegsrc.v6b jpeg默認不會自建目錄,因此需手動建立目錄: # mkdir -pv /usr/local/jpeg6/{,bin,lib,include,man/{,man1},man1} 安裝 #tar zxvf jpegsrc.v6b.tar.gz # ./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static # make # make install # make install-lib 6.安裝libxml2-2.6.19 # tar -zxf libxml2-2.6.19.tar.gz # cd libxml2-2.6.19 # mkdir -p /usr/local/libxml2 # ./configure --prefix=/usr/local/libxml2 # make; make install #cp xml2-config /usr/bin 7.安裝GD-2.0.33庫 # tar -zvxf gd-2.0.33.tar.gz # mkdir -p /usr/local/gd2 # cd gd-2.0.33 # ./configure --prefix=/usr/local/gd2 --with-jpeg=/usr/local/jpeg6/ --with-png=/usr/local/lib/ --with-zlib=/usr/local/zlib/ --with-freetype=/usr/local/freetype/ # make # make install (4)修改系統語言配置 #vi /etc/profile 增加如下兩行 LC_ALL=C LANGUAGE=on 二、開始安裝 (1)開始安裝mrtg #cd /usr/local/src #wget http://oss.oetiker.ch/mrtg/pub/mrtg-2.14.5.tar.gz #tar zvxf mrtg-2.14.5.tar.gz #cd mrtg-2.14.5 #./configure --prefix=/usr/local/mrtg 注意:“--prefix=/usr/local/mrtg”是指定的安裝路徑 #make #make install (2)配置MRTG 首先為mrtg的主頁在web目錄下建立一個目錄,假如web目錄是:/home/wwwroot/ 在此目錄下新建目錄mrtg和sh即: #cd /home/wwwroot/ #mkdir mrtg #cd mrtg #mkdir sh 如果路徑嫌長感到不方便的話可以建立軟連接: #cd / #ln –s /home/wwwroot/mrtg _mrtg #ln –s /usr/local/mrtg/bin _mrtgbin 把一些圖片複製過去 #cd /usr/local/src/mrtg-2.14.5 //進入mrtg安裝目錄 #cp ./images/*.* /_mrtg/ 然後需要創建一個配置文件: #/_mrtgbin/cfgmaker public@改成本機IP --output=/_mrtg/lxy.cfg 修改配置文件: #vi /_mrtg/lxy.cfg 將 #WorkDir:/home/http/mrtg 去掉注釋並改為 WorkDir: /home/wwwroot/mrtg (此處是MRTG的WEB目錄) 將 #Options[_]: growright, bits 前面的#去掉,靠左對齊 在最後加上Language: big5,然後保存 (3)測試配置檔(如果出錯就多測幾次) LANG=C /_mrtgbin/mrtg /_mrtg/lxy.cfg =================================================== (4)根據下方的說明建立sh和pl檔案,然後修改.sh檔案讓其可執行(.sh檔案內容在下方) #cd /_mrtg/sh #chmod 0755 * (5)生成MRTG網站首頁文件:已在root目錄下 #/_mrtgbin/indexmaker --output=/_mrtg/index.html --title="Lidalin's MRTG" /_mrtg/lxy.cfg (6)接下來運行程序 #/_mrtgbin/mrtg /_mrtg/lxy.cfg 有的人用這種方法啟動#env LANG=C /_mrtgbin/mrtg /mrtg/lxy.cfg 如果有警告或錯誤,則多運行幾次,當警告或錯誤不再出現時就OK了 (7)MRTG生成的web頁面是靜態的,為了能讓其不斷的刷新,需要將以上命令添加進crontab #crontab -e 添加如下一行 */1 * * * * /_mrtgbin/mrtg /_mrtg/lxy.cfg 保存,然後reboot 打開瀏覽器,輸入 http://改成本機IP/mrtg 應該就可以看到網絡使用情況的曲線了,一分鐘後再看比較準確! 注意:如果你設置了中級防火牆而又沒有開啟80端口訪問,需要編輯/etc/sysconfig/iptables允許別人訪問80端口 三、mrtg.cfg 裡面參數的意思 Target:是要執行的腳本 Xsize:生成圖表的橫向寬度(最大600) Ysize:生成圖表的縱向高度(最大200) Title:標題 kmg: Change the default multiplier prefixes Ytics:縱向劃分為幾個塊(格子) MaxBytes:圖表縱向數值的最大上限 PageTop:頁面上面的提示 kilo:一般是寫1024,如果需要的話,是1000在計算機裡的單位 LegendI:從SHELL返回的數據中的第一個 LegendO:從SHELL返回的數據中的第二個 Options: growright,表示圖表向右延展 四、配置其他範例 注意:修改了配置一定要重設第二大步驟中的第(3)(4)(5)(6)步驟 其他配置的部份均放入此資料夾下 #cd /_mrtg/sh (1)監視內存使用狀況 建立腳本文件 #vi mem.sh 添加(步驟五的)腳本: 保存後要讓其具有執行權限 #chmod 0755 /_mrtg/sh/* (2)編輯/mrtg/lxy.cfg並添加(步驟五的)內容: 五、各個SHELL(修改了配置之後要重新生成首頁,然後重啟) (1)MEMORY:mem.sh #!/bin/bash # This script to monitor the mem usage. totalmem=`/usr/bin/free |grep Mem |awk '{print $2}'` usedmem=`/usr/bin/free |grep Mem |awk '{print $3}'` echo "$totalmem" echo "$usedmem" 編輯MRTG的配置文件:MaxBytes的值根據實際狀況修改 # Mem Target[memory]: `/_mrtg/sh/mem.sh` Unscaled[memory]: dwym MaxBytes[memory]: 2048000 Title[memory]:Memory ShortLegend[memory]: & kmg[memory]:kB,MB kilo[memory]:1024 YLegend[memory]: &nbsp; Memory Usage : Legend1[memory]: &nbsp; Total Memory : Legend2[memory]: &nbsp; Used Memory : LegendI[memory]: &nbsp; Total Memory : LegendO[memory]: &nbsp; Used Memory : Options[memory]: growright,gauge,nopercent PageTop[memory]:<H1>Memory</H1> (2)SWAP:swap.sh #!/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" 編輯MRTG的配置文件:MaxBytes根據實際狀況修改 # Swap Target[swap]:`/_mrtg/sh/swap.sh` Unscaled[swap]: dwym MaxBytes[swap]: 3048000 Title[swap]:SWAP 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> (3)CPU:cpu.sh #!/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 編輯MRTG的配置文件:MaxBytes根據實際狀況修改 # Cpu Target[cpu]: `/_mrtg/sh/cpu.sh` MaxBytes[cpu]: 100 Title[cpu]: CPU Options[cpu]: gauge,nopercent,growright YLegend[cpu]: CPU loading (%) ShortLegend[cpu]:% LegendO[cpu]: & CPU USER LegendI[cpu]: & CPU SYSTEM PageTop[cpu]: <H1>CPU</H1> (4)磁盤佔用:df.pl #!/usr/bin/perl # output(df -kl) looks like this: # Filesystem 1k-blocks Used Available Use% Mounted on # /dev/md0 95645100 30401312 64272080 33% / # /dev/hde1 14119 1159 12231 9% /boot # # In which case, this script returns : # 95659219 # 30402503 # when run. foreach $filesystem (`df -kl | grep -v "Filesystem"`){ @df = split(/\s+/,$filesystem); $total += $df[1]; $usage += $df[2]; } print "$total\n"; print "$usage\n"; hostname 編輯MRTG的配置文件:MaxBytes根據實際狀況修改 # Disk used Target[disk]: `/_mrtg/sh/df.pl` Title[disk]: Disk Space Unscaled[disk]: dwym MaxBytes[disk]: 115247550 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,gauge,nopercent PageTop[disk]: <H1>Disk Space</H1> (5)磁盤I/O:io.sh #!/bin/bash # This script will monitor the KBread/sec &KBwriten/sec of Disk. # Creater: CCC IT loren ext:2288 2005/8/3 # As sda ,sdb,sdc,sdd,hda. # disk=sda hd=sda disk=/dev/$hd 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" hostname 編輯MRTG的配置文件:如果需要檢測更多的分區則修改io.sh # Disk I/O Target[diskIO]: `/_mrtg/sh/io.sh` Title[diskIO]: Disk HDA I/O Unscaled[diskIO]: dwym MaxBytes[diskIO]: 100 kmg[diskIO]: KB,MB,GB LegendI[diskIO]: Disk I/O KBread/sec LegendO[diskIO]: Disk I/O KBwrite/sec Legend1[diskIO]: Disk I/O KBread/sec Legend2[diskIO]: Disk I/O KBwrite/sec YLegend[diskIO]: Megabytes ShortLegend[diskIO]: & Options[diskIO]: growright,gauge,nopercent PageTop[diskIO]: <H1>Disk I/O</H1>
Copyright © Linux教程網 All Rights Reserved