• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • SNMP+MRTG筆記

    發表于:2007-07-04來源:作者:點擊數: 標簽:
    SNMP+MRTG筆記 經??吹秸fmrtg的,說論壇里面的資料不對,其實不是不對,是有些說的不詳細而已,我剛開始作的時候也是費了不少時間的,整理一下,發到這里吧,希望能為后來的兄弟們省下時間 前言:我實驗的機器是FreeBSD4.10,其他版本的應該也一樣,其他 uni
    SNMP+MRTG筆記

    經??吹秸fmrtg的,說論壇里面的資料不對,其實不是不對,是有些說的不詳細而已,我剛開始作的時候也是費了不少時間的,整理一下,發到這里吧,希望能為后來的兄弟們省下時間
    前言:我實驗的機器是FreeBSD4.10,其他版本的應該也一樣,其他unix like系統估計也是可以的,因為我只用過FreeBSD,不敢肯定。另外我這篇文章的前提是你的機器上已經安裝了apache,并能正常使用,如果沒有請參考網上其他文章安裝,本文就不再贅述。

    一:先介紹如何用mrtg來監控本機的流量
    1:安裝 snmp

    cd /usr/ports.net-mgmt/p5-SNMP
    make install clean
    當中會叫你填寫你的email、操作系統等等,直接回車即可。

    可以用以下命令啟動snmp,/usr/local/etc/rc.d/snmpd.sh start

    2:安裝 mrtg

    cd /usr/ports/net-mgmt/mrtg
    make install clean

    3:配置 index.cfg文件監控服務器流量

    /usr/local/bin/cfgmaker --output=/usr/www/mrtg/index.cfg public@192.168.0.1
    然后修改index.cfg文件,主要修改以下內容,以符合你的實際情況,此處的192.168.0.1是你要監控的網卡的ip地址。

    WorkDir: /usr/www/mrtg

    Options[_]: growright, bits

    Language:GB2312
    ########################讓他5分鐘執行一次##############
    RunAsDaemon: Yes
    Refresh:300
    ######或者可以這樣:#################################
    crontab -e
    */5 * * * * /usr/local/bin/mrtg /usr/www/mrtg/index.cfg
    建議使用后面的方法,因為前者用RunAsDaemon的方式并不能使MRTG開機自動運行
    #########################################


    下面接著:
    /usr/local/bin/mrtg /usr/www/mrtg/index.cfg

    這個需要運行3次,前兩次都會報錯,不用去理會他,第3次就應該沒有錯誤了,不過,
    若是有問題的話,就需要改index.cfg,再執行直到沒有錯誤發生為止。

    制作首頁index.html:

    /usr/local/bin/indexmaker --output=/usr/www/mrtg/index.html /usr/www/mrtg/index.cfg


    這樣以后就可以通過:http://******/mrtg/index.html看你的代理的流量了,注意此處是以你的apache主目錄設置為/usr/www來說的,你可以根據實際情況修改。

    二、監控RAM-SWAP使用情況
    在/usr/www/traffic/ram下建立ram.cfg,內容為:

    LoadMIBs: /usr/local/share/snmp/mibs/UCD-SNMP-MIB.txt
    Target[ramswap]: memAvailReal.0&memAvailSwap.0:public@192.168.0.1
    ##192.168.0.1是本機的ip地址
    Options[ramswap]: nopercent,growright,gauge,noinfo
    Title[ramswap]: RAM & SWAP 使用狀況
    PageTop[ramswap]: RAM & SWAP 使用狀況
    MaxBytes[ramswap]: 1000000000
    kMG[ramswap]: k,M,G,T,P,X
    Ylegend[ramswap]: Octets
    ShortLegend[ramswap]: octets
    LegendI[ramswap]: RAM 可使用
    LegendO[ramswap]: Swap 可使用
    Legend1[ramswap]: RAM 可使用單位
    Legend2[ramswap]: Swap 可使用單位
    Language:Chinese
    WorkDir:/usr/www/traffic/ram

    說明:與一般MRTG流量設定檔大同小異,唯一的差別是來源數值。
    memTotalSwap 全部的swap空間
    memAvailSwap 剩余(可使用)的swap
    memTotalReal 全部的內存空間
    memAvailReal 剩余(可使用)的內存

    然后執行:
    /usr/local/bin/mrtg /usr/www/traffic/ram/ram.cfg
    將會在/usr/www/traffic/ram下生成ramswap.html等文件。

    這樣以后就可以通過:http://******/traffic/ram/ramswap.html看你的機器的內存使用情況了。

    下面再讓它5分鐘執行一次:
    crontab -e
    */5 * * * * /usr/local/bin/mrtg /usr/www/traffic/ram/ram.cfg

    三、再來監控cpu使用率
    安裝bsdsar這個程序來顯示cpu的使用狀態
    cd /usr/ports/sysutils/bsdsar/
    make install
    注意存檔(/var/log/bsdsar.dat)會一直的變大,所以采用這個bsdsar必須要適時的將檔案移往他處。并更名以作為日后的查詢之用,我是把它刪除的,看看當前的就好了J
    crontab -e
    0 0 * * * /bin/rm /var/log/bsdsar.dat

    在/usr/www/traffice/cpu下建立cpu.cfg,內容為:

    Target[CPU]: `/usr/www/traffic/cpu/mrtg-cpu`
    MaxBytes[CPU]: 100
    Title[CPU]: CPU-Loading MRTG
    PageTop[CPU]: CPU-Loading MRTG
    Options[CPU]: gauge,growright
    YLegend[CPU]: CPU Loading (%)
    ShortLegend[CPU]: %
    WorkDir:/usr/plog/traffic/cpu
    LegendO[CPU]: CPU系統負載
    LegendI[CPU]: CPU使用者負載
    Language:Chinese

    說明:Target 乃是資料的取得方式 如同MRTG測流量時的public@community.
    MaxBytes:限制繪圖的最大 Loading 值,CPU Loading 的最高值就是 100% .
    Title: HTML 網頁的title .
    PageTop: 網頁頁面的*標題*.
    Options: 采用標準格式,并且讓MRTG由右往左繪圖.
    YLegend: 圖表的Y軸名稱.
    ShotLegend: 定義最小的單位(%).
    WorkDir: 工作區域 也就是顯示圖表的位置.
    Language: 用簡體中文
    LegendO[CPU] & LegendI[CPU]: 下方的說明

    設定MRTG-CPU Loading 的數據取得檔案執行檔:
    /usr/local/www/data/mrtg/cpu/mrtg-cpu
    此檔權限需為可執行若用root執行則為700,內容:
    #!/usr/bin/perl
    $cpu_orig=`/usr/local/bin/bsdsar -u > /usr/www/traffic/cpu/bsdsar.tmp`;
    $cpu_str=`/usr/bin/tail -1 /usr/www/traffic/cpu/bsdsar.tmp`;
    $val=(split(' ',$cpu_str))[1];
    $val2=(split(' ',$cpu_str))[2];
    $val=int($val);
    $val2=int($val2);

    print "$val\n";
    print "$val2\n";
    print "0\n";
    print "0\n";

    修改權限:chmod 700 mrtg-cpu

    /usr/local/bin/mrtg /usr/www/traffic/cpu/cpu.cfg就會生成cpu.html等文件了。

    可以通過http://******/traffice/cpu/cpu.html看到cpu的使用情況了。

    我設定每10分鐘run一次.
    */10 * * * * /usr/local/bin/mrtg /usr/www/traffic/cpu/cpu.cfg

    由于我是每隔10分鐘run一次,所以原先裝上bsdsar以后系統預設每隔20分鐘執行一次的bsdsar_gather也要修正.
    修改 /etc/crontab
    #20,40 8-18 * * * root /usr/local/bin/bsdsar_gather
    #0 * * * * root /usr/local/bin/bsdsar_gather
    */10 * * * * /usr/local/bin/bsdsar_gather

    四、下面來介紹一下如何監控整網的流量
    我們的核心交換是cisco6509,下面的交換機是cisco3524,我們沒有其他交換機,所以下面我說的命令是針對cisco的,其他的可參考手冊自己作相應的修改。
    在6509的二層上設置:
    set snmp rmon enable
    set snmp community read-only mrtg
    在FreeBSD機器上:

    /usr/local/bin/cfgmaker --output=/usr/www/mrtg/6509.cfg mrtg@10.0.0.1
    然后修改6509.cfg文件,主要修改以下內容,以符合你的實際情況,此處的10.0.0.1是6509的ip地址。
    ee /usr/www/mrtg/6509.cfg
    WorkDir: /usr/www/mrtg
    Options[_]: growright, bits
    Language:Chinese

    /usr/local/bin/mrtg /usr/www/mrtg/6509.cfg
    這個需要運行3次,前兩次都會報錯,不用去理會他,第3次就應該沒有錯誤了,不過,
    若是有問題的話,就需要改6509.cfg,再執行直到沒有錯誤發生為止。

    制作首頁index.html:
    /usr/local/bin/indexmaker --output=/usr/www/mrtg/6509.html /usr/www/mrtg/6509.cfg

    讓它每隔5分鐘運行一下:
    crontab -e
    */5 * * * * /usr/local/bin/mrtg /usr/www/mrtg/6509.cfg

    五、監控下面交換機的流量
    方法類似6509,只是命令有點不同:
    snmp-server community mrtg ro,其他的照抄改一下文件的名字就行了。

    六、后記:
    這幾個可能是大家比較關心的使用了,其他的我也沒試過,大家如果有其他的利用請后續上,或者通知我wuming122@eyou.com,多謝!

    七、FAQ:

    ################Q1############################
    Q1:我在英文下
    Max In: 935.6 kb/s (0.9%)
    Max Out: 5306.4 kb/s (5.3%)
    可是在中文下只顯示
    最大 流入: 935.6 /秒 (0.9%)
    最大 流出: 5306.4 /秒 (5.3%)
    這是怎么回事?
    A1:編輯/usr/local/lib/perl5/site_perl/5.8.5/locales_mrtg.pm

    查找到sub gb2312的下面
    原來是這樣的:
    代碼:

    '([kMG]?)([bB])/s' => '/秒',
    '([kMG]?)([bB])/min' => '/分',
    '([kMG]?)([bB])/h' => '/時',

    改成這樣:
    代碼:

    '([kMG]?)([bB])/s' => '/秒',
    '([kMG]?)([bB])/min' => '/分',
    '([kMG]?)([bB])/h' => '/時',
    A2:修改你的mrtg.cfg文件。把語言一項改成:Chinese
    也就是:
    Language:Chinese
    ##########################################

    #######################Q2##################
    Q2:我運行了/usr/local/bin/cfgmaker --output=/usr/mrtg/6509.cfg mrtg@10.0.0.1
    以后生成了四十多個Traffic Analysis for 1 -- 6509等等,我們的6509上是加了個48口的板子,
    總共應該有五十多個,現在只有四十多個是不是因為我在執行這個命令的時候只有這四十多個機
    器是開著的?以后他們再開的時候會不會被監控到?會自動給我生成Traffic Analysis for 1 -- 6509
    這樣的表嗎?
    A:沒有處于connected的端口是不能被cfgmaker抓取的。要想實現不開機流量為0,開機以后就開始監控流量,
    需要自己手動更改cfg文件,把所有未使用端口的注釋去掉,注意空格和空行,一定要和cfgmaker生成的一致,
    否則是抓不到的,然后再執行/usr/local/bin/mrtg /usr/www/mrtg/6509.cfg即可。#######################################################

    ####################Q3################################
    Q3:在這個機器上我只監控全部交換機上的流量,并不監控本身的流量,因為它也在6509上接著,
    是不是就不需要運行snmpd了?
    A:是交換機上的SNMP模組在做服務,與你的主機沒關系,你的主機自然也就不用運行SNMPD了,
    但在交換機中抓到的你的這臺主機的流量是反的,(即流入和流出是相反的,這個是顯然的了)
    #####################################################

    ####################Q4################################
    Q4:我make install的時候提示有錯誤Couldn't fetch it - please try to retrieve this ,裝不上怎么辦?
    A:那是ports安裝的時候需要的文件未能下載到,請確定你的機器已經連到網上并能訪問國際互聯網,我知道很多學校都限制了訪問國際網絡,可以通過代理下載到那些文件放到/usr/ports/distfiles/下面,然后重新執行make install即可
    ######################################################

     

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>