MRTGを使ってサーバの状況をグラフィカルに確認します。昔からあるツールなので、見たことあるかも。
まあ、さくらのVPSには最初から同じような機能が付いてるから、わざわざ入れる必要ないんだけどね。
CentOS6.7です。
まずは必要なパッケージをインストール。
# yum install net-snmp net-snmp-utils mrtg
SNMP設定
SNMPの設定をしていきます。これが実際にサーバを監視するツールです。
# vi /etc/snmp/snmpd.conf コメントアウト com2sec notConfigUser default public ↓ #com2sec notConfigUser default public 有効化して書き換え #com2sec local localhost COMMUNITY #com2sec mynetwork NETWORK/24 COMMUNITY ↓ com2sec local localhost (任意の名前) com2sec mynetwork 127.0.0.0/24 (任意の名前) 有効化 #group MyRWGroup any local #group MyROGroup any mynetwork ↓ group MyRWGroup any local group MyROGroup any mynetwork 有効化 #view all included .1 80 ↓ view all included .1 80 有効化して書き換え #access MyROGroup "" any noauth 0 all none none #access MyRWGroup "" any noauth 0 all all all ↓ access MyROGroup "" any noauth exact all none none access MyRWGroup "" any noauth exact all all all
SNMPを起動します。
# service snmpd start # chkconfig snmpd on
動作確認します。エラーとか出てなければOK。
# snmpwalk -v2c -c (任意の名前) localhost system
設定ファイルに反映させます。
# cfgmaker (任意の名前)@127.0.0.1 > /etc/mrtg/mrtg.cfg
MRTG設定
MRTGの設定をしていきます。これはSNMPの結果などをグラフィカルに表示してくれます。
# vi /etc/mrtg/mrtg.cfg 有効化して任意のパスに書き換え # WorkDir: /home/http/mrtg ↓ WorkDir: /var/www/mrtg 有効化 # Options[_]: growright, bits ↓ Options[_]: growright, bits 末尾に以下を全部追加。おまじない。 # トラフィック量 Target[eth0]: 1:(任意の名前)@127.0.0.1: SetEnv[eth0]: MRTG_INT_IP="127.0.0.1" MRTG_INT_DESCR="lo" MaxBytes[eth0]: 12500000 Title[eth0]: eth0 -- centos PageTop[eth0]: <h1>eth0</h1> # 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:(任意の名前)@127.0.0.1 MaxBytes[cpu]: 100 Unscaled[cpu]: dwmy Options[cpu]: gauge, absolute, growright, noinfo, nopercent YLegend[cpu]: CPU Load(%) ShortLegend[cpu]: (%) LegendI[cpu]: 1 min CPU Load Average LegendO[cpu]: 5 min CPU Load Average Legend1[cpu]: 1 min CPU Load Average(%) Legend2[cpu]: 5 min CPU Load Average(%) Title[cpu]: CPU Load Average PageTop[cpu]: <H1>CPU Load Average</H1> # メモリ使用量 Target[mem]: .1.3.6.1.4.1.2021.4.6.0&.1.3.6.1.4.1.2021.4.4.0:(任意の名前)@127.0.0.1 # Mem total MaxBytes1[mem]: 1937120 # Swap total MaxBytes2[mem]: 8191992 Unscaled[mem]: dwmy Options[mem]: gauge, absolute, growright, noinfo YLegend[mem]: Mem Free(Bytes) ShortLegend[mem]: Bytes kilo[mem]: 1024 kMG[mem]: k,M,G,T,P LegendI[mem]: Real LegendO[mem]: Swap Legend1[mem]: Real Memory[MBytes] Legend2[mem]: Swap Memory[MBytes] Title[mem]: Memory Used PageTop[mem]: <H1>Memory Used</H1>
設定が完了したので手作業で3回実行します。データが3つ以上ないと表示されないらしいので。
# env LANG=C mrtg /etc/mrtg/mrtg.cfg # env LANG=C mrtg /etc/mrtg/mrtg.cfg # env LANG=C mrtg /etc/mrtg/mrtg.cfg
mrtg.cfgで指定した任意のパスにインデックスページを作成します。
# indexmaker --columns=1 /etc/mrtg/mrtg.cfg > /var/www/mrtg/index.html
デフォではWebからアクセス出来ないようになっているので、アクセス許可します。
# vi /etc/httpd/conf.d/mrtg.conf Alias /mrtg /var/www/mrtg ↓とりあえずAllow from ALLを追加した <Location /mrtg> Order deny,allow Deny from all Allow from 127.0.0.1 Allow from ALL Allow from ::1 </Location>
設定完了したのでApache再起動します。
# service httpd restart
以下のURLからサーバ状況が確認できるようになりました。5分おきに更新されます。
http://www????.sakura.ne.jp/mrtg/
ちなみに、cronの設定はここにありました。
/etc/cron.d/mrtg