ServersMan@VPS での世界一簡単なMRTGの設定方法 を説明する。 各ファイルの編集に際してのバックアップ作成はここでは案内しないのでこちら をご覧下さい。
引き続き以下をご覧あれ。
1.必要なものをyumコマンドでインストールする。 # yum -y install mrtg net-snmp コピー 2./etc/snmp/snmp.confの内容を以下の通りにする。 まずは「/etc/snmp/snmpd.conf」の中身を空にしておく
# :>/etc/snmp/snmpd.conf
#
そして編集
# vi /etc/snmp/snmpd.conf
--「IPADDRESS」は利用しているサーバのIPアドレス--
com2sec local localhost private
com2sec mynetwork IPADDRESS public
group MyROGroup v1 mynetwork
group MyROGroup v2c mynetwork
view all included .1 80
access MyROGroup "" any noauth exact all none none
syslocation Unknown (edit /etc/snmp/snmpd.conf)
syscontact Root <root@localhost> (configure /etc/snmp/snmp.local.conf)
proc httpd
disk / 10000
pass .1.3.6.1.4.1.4413.4.1 /usr/bin/ucd5820statコピー 3. snmpdサービスをスタートさせる。 # service snmpd start コピー 4.今後メモリの使用量を観察するために必要なスクリプトを作っておく。 snmpdの機能では、Freeメモリを観察することが出きるが、使用量を計算して くれないので それを計算してくれるスクリプトを作っておく。
ディレクトリを作成
# mkdir -p /root/bin/mrtg
#
スクリプトを作成
# vi /root/bin/mrtg/mem.sh
#!/bin/sh
#memory
HOST=$1
COMNAME=$2
SNMPG="/usr/bin/snmpget -v 1 $HOST -c $COMNAME"
# Get data from snmpd
MEM_MAX=`$SNMPG enterprises.ucdavis.memory.memTotalReal.0 | /bin/cut -f 4 -d" "`
MEM_AVG=`$SNMPG enterprises.ucdavis.memory.memAvailReal.0 | /bin/cut -f 4 -d" "`
#REAL MEM USED
echo `expr $MEM_MAX - $MEM_AVG`
#TOTAL REAL MEM
echo $MEM_MAX
#
実行権元を付与する
# chmod +x /root/bin/mrtg/mem.sh コピー 5. /etc/mrtg/mrtg.cfgの内容を以下の通りにする。 まずは「/etc/mrtg/mrtg.cfg」の中身を空にしておく
# :>/etc/mrtg/mrtg.cfg
#
そして編集
# vi /etc/mrtg/mrtg.cfg コピー #--色が付いて居る部分は後で編集します---
WorkDir: /var/www/mrtg
Options[_]: growright,noinfo
LoadMIBs: /usr/share/snmp/mibs/TCP-MIB.txt,/usr/share/snmp/mibs/UCD-SNMP-MIB.txt
EnableIPv6: no
Target[venet0]: \venet0:public@IPADDRESS :
SetEnv[venet0]: MRTG_INT_IP="127.0.0.1" MRTG_INT_DESCR="venet0"
MaxBytes[venet0]: 1250000
Title[venet0]: venet0 -- HOSTNAME
PageTop[venet0]: <h1>venet0 -- HOSTNAME </h1>
### CPU Load Average ###
Target[cpu]:laLoadInt.1&laLoadInt.1:public@IPADDRESS
Title[cpu]: CPU Load Average
PageTop[cpu]: <H1>CPU Load Average</H1>
MaxBytes[cpu]: 100
ShortLegend[cpu]: %
YLegend[cpu]: Load Average(%)
LegendI[cpu]: 1min
LegendO[cpu]: 5min
Options[cpu]: growright, noinfo, nopercent
### CPU Usage ###
Target[cpu2]: ssCpuRawUser.0&ssCpuRawSystem.0:public@IPADDRESS
Title[cpu2]: CPU Usage
PageTop[cpu2]: <H1>CPU Usage</H1>
MaxBytes[cpu2]: 100
YLegend[cpu2]: CPU usage(%)
ShortLegend[cpu2]: (%)
LegendI[cpu2]: Usuer
LegendO[cpu2]: System
Legend1[cpu2]: CPU Usage(ser)(%)
Legend2[cpu2]: CPU Usage(system)(%)
Options[cpu2]: growright, noinfo, nopercent
### Memory Free ####
Target[mem]: `/root/bin/mrtg/mem.sh IPADDRESS public`
Title[mem]: Memory Usage
PageTop[mem]: <H1>Memory Usage</H1>
MaxBytes[mem]: MEMORY
ShortLegend[mem]: B
Unscaled[mem]: dwmy
YLegend[mem]: Bytes
LegendI[mem]: Used
LegendO[mem]: Total
Legend1[mem]: Memory used
Legend2[mem]: Total memory
kMG[mem]: k,M
Options[mem]: gauge, absolute, growright, noinfo
### Apache Processes ###
Target[httpd]: prCount.1&prCount.1:public@IPADDRESS
Title[httpd]: Httpd Processes
PageTop[httpd]: <H1>Httpd Processes</H1>
MaxBytes[httpd]: MAX
YLegend[httpd]: Number of httpd
ShortLegend[httpd]: httpd
LegendI[httpd]: Httpd Processes
LegendO[httpd]: Httpd Processes
Options[httpd]: gauge, absolute, growright, nopercent, noinfo
### Disk Used ####
Target[disk]: dskPercent.1&dskPercent.1:public@IPADDRESS
Title[disk]: Disk Usage
PageTop[disk]: <H1>Disk Usage</H1>
MaxBytes[disk]: 100
ShortLegend[disk]: (%)
Unscaled[disk]: dwmy
YLegend[disk]: Disk Used(%)
LegendI[disk]: / Disk used
LegendO[disk]: / Disk used
Legend1[disk]: / Disk used
Legend2[disk]: / Disk used
Options[disk]: gauge, absolute, growright, nopercent, noinfoコピー 6./etc/mrtg/mrtg.cfgの記載を「sed」コマンドで適切に変更 どうしてもサーバのIPアドレスが分からない場合には、以下のコマンドで確認。 # ifconfig | grep “inet addr” | grep -v 127.0.0.1 | awk ‘{print $2}’ | cut -d: -f2
IPADDRESSを変更
# sed -i 's/ IPADDRESS /サーバのIPアドレス/g' /etc/mrtg/mrtg.cfg
例:sed -i 's/IPADDRESS/183.181.164.12/g' /etc/mrtg/mrtg.cfgコピー
HOSTNAMEは以下のコマンドで確認 # hostname
HOSTNAMEを変更
# sed -i 's/ HOSTNAME /ホスト名/g' /etc/mrtg/mrtg.cfg
例:sed -i 's/HOSTNAME/trippyboy.com/g' /etc/mrtg/mrtg.cfgコピー メモリ上限は「free」コマンドで確認する。 # free total used free shared buffers cached Mem: 1572864 331740 1241124 0 0 0 -/+ buffers/cache: 331740 1241124 Swap: 0 0 0
MEMORYを変更
# sed -i 's/ MEMORY /メモリ量/g' /etc/mrtg/mrtg.cfg
例:sed -i 's/MEMORY/1572864/g' /etc/mrtg/mrtg.cfgコピー Apacheのプロセス上限が分からない場合は、50とでも設定しておく。 調べる場合は、 /etc/httpd/conf.d/swtune.confか /etc/httpd/conf/httpd.conf。 /etc/httpd/conf.d/swtune.confはDTI独自の設定ファイルで、邪魔なら消そう。 見るべき所は<IfModule prefork.c>~</IfModule>の間のMaxClients
MAX(ApacheのMaxClients値)を変更
# sed -i 's/ MAX/ Apache最大プロセス数/g' /etc/mrtg/mrtg.cfg コピー 7.Web閲覧様のファイルを作成する。 # indexmaker --columns=2 /etc/mrtg/mrtg.cfg > /var/www/mrtg/index.html コピー 8.Web閲覧出来るようにApacheのmrtg用の設定ファイルを変更する。 初期状態では外部からのアクセスは出来ない設定なので、 とにかくどこからでもアクセス出来るようにする。この辺はご自由に。
# vi /etc/httpd/conf.d/mrtg.conf コピー Alias /mrtg /var/www/mrtg
# <Location /mrtg>
# Order deny,allow
# Deny from all
# Allow from 127.0.0.1
# Allow from ::1
# Allow from .example.com
# </Location>コピー 9.Apacheの再起動を行う # service httpd restart コピー 10.MRTGが参照するデータを作成するために以下コマンドを三回 実行 する。 # LANG=C mrtg /etc/mrtg/mrtg.cfg コピー 「LANG=C」はServersMan@VPSの初期設定の「LANG=en_US.UTF-8」の場合は実行が出来ないので それを回避する。エラーの出力が行われるが、3回目には収まる。
あとは、5分に1回自動でmrtgが実行される(/etc/cron.d/mrtg)ので1時間程度たったら http://ドメイン/mrtg/ にアクセスしてみよう。すぐにアクセスしても無論グラフは表示されません。
こんな 感じに表示されていればOK。CPU Load Averageとかは頻繁に上がるものではないので記録がなくてもご安心を。
設定中にrootにエラーメッセージが届いている可能性があるが、5分毎に実行されるクーロンのエラーだから気にしなくてよし。ちなみに、表示を日本語にする方法もあるが、日本語にする必要性をまったく感じないので英語のままで貫きとおす。
あとは暇があれば以下も見ておこう。
参考サイト:ネットワークトラフィック監視システム導入(NET-SNMP+MRTG) ←日本語化の方法あり追記
ServersMan@VPSでCPUが一個になっちゃったてたのでMRTGでのLA取得がうまくいきませんので、修正いたしました。
Target[cpu]:laLoadInt.1&laLoadInt.2:public@IPADDRESSコピー 2011/10/31
コメント