VineLinux覚え書き

MRTGの導入 VineLinux 2.6~

この人のページを参考にした

  • 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
Last-modified: 2015-02-01 (日) 14:38:23 (3372d)