MRTGの導入 VineLinux 2.6~
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分ごとに実行してくれる。 |