彩票查询_2021美洲杯决赛:阿根廷vs巴西回放_2025世俱杯参赛球队有哪些_英格兰乙级联赛 - 竞彩足球500

快壓

當前位置:首頁 > 電腦技巧 > 正文

Linux 上deMRTG監控中心

瀏覽次數:|更新日期:2014年11月08日

Q:
  A:隨著互聯網應用的發展,企業的互聯網應用已經不僅僅是建設一個網站這么簡單了。企業對互聯網應用的規模不斷加大,功能也更豐富和強大。面對更大規模的互聯網應用,許多企業在電信IDC機房中不得不擁有數臺甚至數十臺服務器。
  在對這些服務器的管理過程中,每臺服務器的流量情況成為管理工作的一個重點。管理員通過對網絡中各種流量的監控,可以從網絡的異常流量中及時察覺到潛在的安全或性能問題;上層領導也可以從統計的網絡流量報告中獲得有用的經營分析信息,從而對業務做出相關的調整或升級決策。
  在諸多網絡流量監測軟件中,MRTG無疑是著名而具有代表性的。MRTG是一個基于SNMP協議的典型網絡流量監測、統計、分析工具。SNMP(簡單網絡管理協議)是一個專門設計用來監視和控制網絡中各種網絡設備,如交換機、路由器、服務器等的協議。
  由于市場上絕大多數的網絡產品都支持SNMP協議,所以MRTG的適用范圍很廣。本文將關注如何利用MRTG軟件監控服務器的流量。
  為什么需要MRTG監控中心
  服務器的操作系統多種多樣,使用較多的一般是Unix類或Windows類操作系統,它們都支持SNMP協議。例如,對于Windows系統而言,只要增加“管理和監控工具”中的Windows組件,就有了對SNMP協議的支持。
  在服務器啟動SNMP后,就會開放161/162端口。管理員如果要監控這臺機器,就要在自己的機器上安裝MRTG,然后通過MRTG向服務器的161/162端口發出查詢等請求,取得數據后會生成圖形及HTML文檔的流量報告。這就是MRTG簡單的監控過程。
  在實際應用中,企業可能有多臺服務器,通常需要管理員24小時不間斷地對服務器的流量進行監控。如果這時還是簡單地在管理員的機器上使用MRTG就不太適用了。最好的方法是建立一個MRTG監控中心。
  MRTG監控中心可以是一臺專用的服務器,也可以由其它服務器兼作MRTG監控中心。用于監控中心的機器和其它服務器都位于防火墻背后,由于SNMP也很容易成為攻擊的目標,所以在防火墻的規則中,要禁止外界對服務器161/162端口的訪問。這樣便保證了MRTG監控中心擔負起監控其它所有服務器的責任。
  MRTG監控中心將不斷產生流量報告,以Web頁面的形式發送給管理員。當然,該Web頁面是帶有身份認證功能的,以確保只有擁有賬號的管理員才能察看相應的流量報告。
  使用這樣的MRTG監控中心,可以帶來以下好處:
  ◆ 24小時不間斷地工作,能保證產生詳細、全面的流量報告;
  ◆ 提供帶身份認證的Web瀏覽界面,管理員憑賬號可以隨時隨地通過互聯網察看流量報告;
  ◆ 免去管理員安裝MRTG的煩惱,只需通過瀏覽器來察看流量報告;
  ◆ 只允許MRTG監控中心機器訪問服務器161/162端口,安全性更高。
  構建MRTG監控中心
  下面介紹如何在Linux上構建一個MRTG監控中心。
  第一步:安裝操作系統
  MRTG可運行在絕大多數操作系統中,當然也包括Linux。這里選用的是Fedora Core 1。為了構建一個MRTG監控中心,還需要安裝Apache和MRTG。考慮到能適應更多的Linux版本,可以不選用RPM的安裝方式,盡管它比較簡單,而是從tar包開始安裝。
  第二步:安裝Apache
  解壓:
  #tar -xzpvf httpd-2.0.47.tar.gz -C /var/local/
  編譯:
  #cd /var/local/httpd-2.0.47/
  #./configure–prefix=/usr/local/terry_yu/httpd –enable-so
  #make
  安裝:
  #make install
  設置為開機時啟動:
  #echo “/usr/local/terry_yu/httpd/bin/apachectl start“ 〉〉 /etc/rc.local
  第三步:配置Apache的頁面認證
  在Apache的配置文件/usr/local/terry_yu/httpd/conf/httpd.conf中,找到對/usr/local/terry_yu/httpd/htdocs目錄的定義,將其中的“AllowOverride None”修改為“AllowOverride all”。
  在/usr/local/terry_yu/httpd/htdocs目錄下創建一個名為.htaccess的文件,其內容如下:
  authuserfile /usr/local/terry_yu/httpd/.htpasswd
  authname “Traffic Monitor(Haplink IDC)“
  authtype basic
  require valid-user
  然后,建立賬號,并生成密碼文件。使用以下命令為terry建立一個賬號:
  #/usr/local/terry_yu/httpd/bin/htpasswd-c
  #/usr/local/terry_yu/httpd/.htpasswd terry
  可以使用以下命令修改terry的賬號密碼:
  #/usr/local/terry_yu/httpd/bin/htpasswd -m .htpasswd terry
  最后,啟動Apache。使用以下命令啟動Apache:
  #/usr/local/terry_yu/httpd/bin/apachectl start
  啟動Apache后,訪問HTTP服務,如果要求輸入用戶名、密碼進入,則Apache的頁面認證配置成功。
  第四步:安裝MRTG
  由于MRTG需要其它的一些庫來生成圖片,所以先要安裝zlib、ibpng和gd。具體安裝方法如下:下載并安裝zlib:
  #wget http://www.gzip.org/zlib/zlib-1.1.4.tar.gz
  #tar -xzpvf zlib-1.1.4.tar.gz
  #mv zlib-1.1.4 /usr/local/terry_yu/zlib
  #cd /usr/local/terry_yu/zlib/
  #./configure
  #make
  下載并安裝libpng:
  #wget http://ftp6.us.freebsd.org/pub/libs/png/src/libpng-1.0.15.tar.gz
  #tar -xzpvf libpng-1.0.15.tar.gz
  #mv libpng-1.0.15 /usr/local/terry_yu/libpng
  #cd /usr/local/terry_yu/libpng/
  #make -f scripts/makefile.std CC=gcc ZLIBLIB=../zlib ZLIBINC=../zlib
  下載并安裝gd:
  #wget http://www.boutell.com/gd/http/gd-1.8.4.tar.gz
  #tar -xzpvf gd-1.8.4.tar.gz
  #mv gd-1.8.4 /usr/local/terry_yu/gd
  #cd /usr/local/terry_yu/gd
  #perl -i~ -p -e s/gd_jpeg.o//g Makefile
  #make INCLUDEDIRS=“-I. -I../zlib -I../libpng“
  LIBDIRS=“-L../zlib -L. -L../libpng“
  LIBS=“-lgd -lpng -lz -lm“ CFLAGS=“-O -D HAVE_LIBPNG“
  安裝MRTG:
  #tar -xzpvf mrtg-2.10.13.tar.gz
  #cd mrtg-2.10.13/
  #./configure –prefix=/usr/local/terry_yu/mrtg
  –with-gd=/usr/local/terry_yu/gd
  –with-z=/usr/local/terry_yu/zlib
  –with-png=/usr/local/terry_yu/libpng
  第五步:配置MRTG
  生成配置文件:
  #mkdir /usr/local/terry_yu/mrtg/cfg
  #cd /usr/local/terry_yu/mrtg/bin
  #./cfgmaker –global ’WorkDir: /usr/local/terry_yu/httpd/htdocs/’
  –global ’Options[_]: bits,growright’
  –global ’Language: GB2312’
  –output /usr/local/terry_yu/mrtg/cfg/xxx.cfg
  public@XXX.XXX.XXX.XXX
  “XXX.XXX.XXX.XXX”是SNMP服務器的IP,以上命令將生成對服務器的配置文件。MRTG生成的HTML頁面可以完全由用戶定制,所有定制都是通過對生成的該配置文件的修改來實現的。MRTG配置文件的內容很豐富,相關內容請參考MRTG的幫助文檔。
  還可以對MRTG設置定期執行方式。執行“crontab -e”,加入如下行:
  */5 * * * * /bin/env LANG=en_US /usr/local/terry_yu/mrtg/bin/mrtg
  /usr/local/terry_yu/mrtg/cfg/xxx.cfg
  以上命令設定每隔5分鐘監控一次配置文件xxx.cfg中所定義的服務器。5分鐘是一個比較合理的值,也可以按自己的需求重新定義。
  執行以下命令還可以生成一個索引頁面:
  #cd /usr/local/terry_yu/mrtg/bin
  #./indexmaker–output=“/usr/local/terry_yu/httpd/htdocs/index.html“
  –title=“Taffic Monitor Center“ /usr/local/terry_yu/mrtg/cfg/xxx.cfg
  使用MRTG監控中心
  通過以上幾步,已經完成了對一臺服務器的監控設定,如果還有其它服務器需要流量監控,重復第五步即可。如果這些服務器都是位于防火墻后面,還要修改一個防火墻的規則,即開放MRTG監控中心對外的80端口,同時過濾掉所有外界對SNMP服務端口的訪問。
  以上安裝配置完成,用戶可以通過瀏覽器訪問MRTG監控中心。MRTG監控中心會要求輸入用戶名、密碼才能進入,而Apache的日志會記錄相關的事件,以備日后對登錄情況進行審查。
  到此為止,已經可以應用一個簡單的MRTG監控中心實現集中管理,并且擁有身份認證。然而,這僅僅只是一個開始,管理員還可以通過編寫CGI程序來實現更多的功能。
  比如詳細記錄訪問情況、提供更直觀的監控報告等。此外,還可以使用SSL加密頁面來傳輸數據。更多的應用就要看各人發揮了,希望本文能給大家一些有益的啟發。