[[VineLinux覚え書き]]~
**MRTGの導入 VineLinux 2.6~
[[この人のページを参考にした:http://www.bayashi.net/svr/doc/mrtg.html]]~
-ucb-snmpのインストール~
ftp://ftp.ring.gr.jp/pub/linux/Vine/VinePlus/2.6/RPMS/i386/~
から~
ucd-snmp-4.2.3-1vl1.i386.rpm~
ucd-snmp-devel-4.2.3-1vl1.i386.rpm~
ucd-snmp-utils-4.2.3-1vl1.i386.rpm~
をインストール~
 rpm -ivh ucd-snmp-4.2.3-1vl1.i386.rpm
 rpm -ivh ucd-snmp-devel-4.2.3-1vl1.i386.rpm
 rpm -ivh ucd-snmp-utils-4.2.3-1vl1.i386.rpm
彼の設定だと~
com2sec mynetwork 192.168.0.0/24  public~
となっているが自分は、~
com2sec mynetwork 自サーバのIPアドレス  public~
とした。~
-perl GD などを順次入れる。~
-MRTG本体のインストール~
MRTG はソースからコンパイルしてインストールします。~
MRTGの本体をネットから取ってきて、~
 #>tar xvfz mrtg-X.X.X.tar.gz
 #>cd mrtg-X.X.X
 mrtg-X.X.X#> LDFLAGS=-lVFlib2 ./configure
 mrtg-X.X.X#>make
 mrtg-X.X.X#>make install
ただの./configureではコンパイルが通らないので、上の様に、LDFLAGS=-lVFlib2 をつける。デフォルトだと、/usr/local/mrtg-2/ にインストールされます。~
***MRTGの設定
/usr/local/mrtg-2/にcfgフォルダーを作りその中にmrtg.cfgファイルを作る。
ファイルの内容はこのようになっている。
 
 # mrtg.cfg
 
 # 閲覧用のHTMLや画像データを出力するディレクトリ
 # http で閲覧できる場所に設定
 WorkDir: /home/httpd/html/mrtg
 
 # MRTG のアイコンを置いておくディレクトリ
 # 以下の記述で /home/httpd/html/mrtg/mrtg/ の意味
 IconDir: /mrtg/icons/
 
 # 日本語化する設定
 Language: eucjp
 
 #トラフィックを測定する。
 # Traffic_Analysis
 Target[Traffic_Analysis]: 5:public@210.172.208.148:
 SetEnv[Traffic_Analysis]: MRTG_INT_IP="192.168.0.2" MRTG_INT_DESCR="eth0"
 MaxBytes[Traffic_Analysis]: 125000
 YLegend[Traffic_Analysis]: Traffic
 Options[Traffic_Analysis]: growright
 Title[Traffic_Analysis]: Traffic Analysis
 PageTop[Traffic_Analysis]:<H1> Traffic Analysis </H1>
 
 #loadAvg
 #CPUの時間を測定する。
 Target[cpu]: .1.3.6.1.4.1.2021.10.1.5.1&.1.3.6.1.4.1.2021.10.1.5.2:public@210.172.208.148
 MaxBytes[cpu]: 100
 Title[cpu]: CPU Load Avalage
 PageTop[cpu]: <H1>CPU Load Avalage</H1>
 Options[cpu]: nopercent, integer, gauge, absolute, withzeroes, growright
 YLegend[cpu]: CPU Load Avalage
 ShortLegend[cpu]: percent
 Legend1[cpu]: 1 min CPU Load Avalage
 Legend2[cpu]: 5 min CPU Load Avalage
 LegendI[cpu]: 1min
 LegendO[cpu]: 5min
 Unscaled[cpu]: dwmy
 
 #mem
 #メモリの容量を計測する。
 #Target[mem]: .1.3.6.1.4.1.2021.4.6.0&.1.3.6.1.4.1.2021.4.4.0:public@210.172.208.148
 Target[mem]:`/usr/local/mrtg-2/bin/meminfo.sh 210.172.208.148 public`
 MaxBytes1[mem]:247844 <-自分のサーバにあった物理メモリ量
 MaxBytes2[mem]:522104 <-自分のサーバにあったSwapメモリ量
 Title[mem]: Memory used 
 PageTop[mem]: <H1>Memory used</H1>
 Options[mem]: gauge, absolute, growright
 YLegend[mem]: Mem used -kBytes
 ShortLegend[mem]: kBytes
 Legend1[mem]: Real Memory
 Legend2[mem]: Swap Memory
 LegendI[mem]: Real
 LegendO[mem]: Swap
 Unscaled[mem]: dwmy
 
 #ディスクの空き容量を計算する。
 #disk used / & /home
 Target[server_disk]: .1.3.6.1.4.1.2021.9.1.9.1&.1.3.6.1.4.1.2021.9.1.9.2:public@210.172.208.148
 Directory[server_disk]: server
 RouterUptime[server_disk]:public@210.172.208.148
 TimeZone[server_disk]: Japan
 MaxBytes[server_disk]: 100
 Title[server_disk]: DISK USAGE
 PageTop[server_disk]: <H1>DISK / and /home Usage %</H1>
 ShortLegend[server_disk]: %
 YLegend[server_disk]: DISK Utilization
 Legend1[server_disk]: / disk
 Legend2[server_disk]: /home disk
 LegendI[server_disk]: / disk
 LegendO[server_disk]: /home disk
 Options[server_disk]: growright, gauge, nopercent

diskは/etc/snmp/snmpd.confでdisk / 10000とdisk /var/ 10000のコメントアウトを外しておく。(自分は/varを/homeに変えた。)snmpdのrestartを忘れずに。
snmpでは、メモリの空き容量は計測できるが、メモリの使用量は測定できない。それで空きメモリから使用中のメモリを計算するスクリプトを用意する。スクリプトは、以下の様になり。自分は、/usr/local/mrtg-2/binの中にmeminfo.shとして保存した。meminfo.shにはchmod+x meminfo.shとして実行権を与えておく。

 #!/bin/sh
 HOST=$1
 COMNAME=$2
 SNMPG="/usr/bin/snmpget $HOST $COMNAME "
 # Get data from snmpd
 MEM_MAX=`$SNMPG enterprises.ucdavis.memory.memTotalReal.0 | /bin/cut -f 3 -d " "`
 MEM_AVG=`$SNMPG enterprises.ucdavis.memory.memAvailReal.0 | /bin/cut -f 3 -d " "`
 SWP_MAX=`$SNMPG enterprises.ucdavis.memory.memTotalSwap.0 | /bin/cut -f 3 -d " "`
 SWP_AVG=`$SNMPG enterprises.ucdavis.memory.memAvailSwap.0 | /bin/cut -f 3 -d " "`
 # print memory free size
 #REAL MEM
 echo `expr $MEM_MAX - $MEM_AVG`
 #SWAP MEM
 echo `expr $SWP_MAX - $SWP_AVG`
このようになり、それを、mtrg.cfgで
 Target[mem]:`/usr/local/mrtg-2/bin/meminfo.sh 自サーバのipアドレス public`
の様に使う。
設定が終わったら 
 /usr/local/mrtg-2/bin/mrtg /usr/local/mrtg-2/cfg/mrtg.cfg
を実行する。最初はデータが無いので、警告が出るので、警告が出なくなるまで(自分の時は三回だった)繰り返す。/home/httpd/html/mrtg/の中にhtmlファイルが出来ていると思うのでそれを見てみる。うまくいってたら
 /usr/local/mrtg-2/bin/indexmaker /usr/local/mrtg-2/cfg/mrtg.cfg > /home/httpd/html/mrtg/index.html
でインデックスファイルを作る。
それを実行すれば、良いのだがめんどくさいので
 crontab -e
 0-59/5 * * * * /usr/local/mrtg-2/bin/mrtg /usr/local/mrtg-2/cfg/mrtg.cfg
の様に登録すれば、5分ごとに実行してくれる。

トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS