| ネットワークトラフィック監視ツール(NET-SNMP+MRTG)の導入 |
| ここでは、 ネットワーク負荷と、 CPU使用率、 空きメモリ量、 ディスク使用率の 統計をブラウザから監視できるようにします。 ※ なお、トラフィック監視ツールの導入には Webサーバーが構築済みである事が前提となります。 |
![]() |
| NET-SNMPインストールと設定 |
# apt-get install net-snmp ← net-snmpインストール パッケージリストを読みこんでいます... 完了 依存情報ツリーを作成しています... 完了 以下のパッケージが新たにインストールされます: net-snmp アップグレード: 0 個, 新規インストール: 1 個, 削除: 0 個, 保留: 3 個 2092kB のアーカイブを取得する必要があります。 展開後に 7059kB のディスク容量が追加消費されます。 取得:1 http://updates.vinelinux.org 3.2/i386/plus net-snmp 5.2.1.2-0vl1 [2092kB] 2092kB を 5s 秒で取得しました (401kB/s) 変更を適用しています... 準備中... ###########################################[100%] 1:net-snmp ########################################### [100%] 完了 NET-SNMP設定 # vi /etc/snmp/snmpd.conf ← NET-SNMP設定ファイル編集 i キー(入力モード) # sec.name source community #com2sec notConfigUser default public ← コメントアウト com2sec local localhost private ← 追加 com2sec mynetwork 192.168.11.0/24 public ← 追加(ネットワークアドレスは各自の環境に合わせてください) # groupName securityModel securityName #group notConfigGroup v1c notConfigUser ← コメントアウト #group notConfigGroup v2c notConfigUser ← コメントアウト group MyROGroup v1 mynetwork ← 追加 group MyROGroup v2c mynetwork ← 追加 # Make at least snmpwalk -v 1 ocalhost -c public system fast again. # name incl/excl subtree mask(optional) #view systemview included .1.3.6.1.2.1.1 ← コメントアウト #view systemview included .1.3.6.1.2.1.25.1.1 ← コメントアウト view all included .1 80 ← 追加 # Finally, grant the group read-only access to the systemview view. # group context sec.model sec.level prefix read write notif #access notConfigGroup "" any noauth exact systemview none none ← コメントアウト access MyROGroup "" any noauth exact all none none ← 追加 access MyRWGroup "" any noauth exact all all none ← 追加 # Check the / partition and make sure it contains at least 10 megs. #disk / 10000 disk / 10000 ← 追加(ディスク使用率表示設定) 編集したら Esc キー(コマンドモード) :wqで保存 |
| NET-SNMP自動起動設定 |
# /etc/init.d/snmpd start ← NET-SNMP起動 snmpdを起動中: [ OK ] # chkconfig snmpd on ← 自動起動設定 # chkconfig --list snmpd ← 自動起動設定の確認 snmpd 0:off 1:off 2:off 3:on 4:on 5:on 6:off ← 3〜5がonになっているか確認 |
| MRTGのインストール |
mrtgにはperl、zlib、libpng、gd、zlib-devel、libpng-devel、gd-develが必要になるので必ずインストールしておきます。
最初に、下記コマンドで必要なパッケージがインストールされているかチェックします。 # rpm -aq | grep zlib ← パッケージ名 入っていない場合は下記コマンドでインストールしてください。 ※ Yosiの場合、zlib-devel、libpng-devel、gd-develが入っていませんでした。 # apt-get install zlib-devel ← パッケージ名 MRTGをインストール ※ 最新のバージョンはこちらで確認してください。 → (MRTG) # wget http://oss.oetiker.ch/mrtg/pub/mrtg-2.15.1.tar.gz ← ダウンロード
--20:04:34-- http://oss.oetiker.ch/mrtg/pub/mrtg-2.15.1.tar.gz
=> `mrtg-2.15.1.tar.gz'
oss.oetiker.ch をDNSに問いあわせています... 213.144.137.220
oss.oetiker.ch[213.144.137.220]:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 1,069,188 [application/x-tar]
100%[====================================>] 1,069,188 212.73K/s ETA 00:00
20:04:40 (180.66 KB/s) - `mrtg-2.15.1.tar.gz' を保存しました [1069188/1069188]
# tar xvfz mrtg-2.15.1.tar.gz ← 解凍# cd mrtg-2.15.1/ ← 移動 # ./configure 〜省略〜 ---------------------------------------------------------------- Config is DONE! Type 'make' to compile the software ... that wishlist mentioned above does really exist. So if you feel like showing your appreciation for MRTG, this is the place to go. I just love CDs and DVDs -- Tobi Oetiker <oetiker@ee.ethz.ch> ---------------------------------------------------------------- これが出ればOKです。 # make gcc -DGFORM_GD=gdImagePng -g -O2 -Wall -Wpointer-arith -Wcast-align -Wmissing-declarations -Wnested-externs -Winline -W -DHAVE_CONFIG_H -c ./src/rateup.c -o bin/rateup.o LD_RUN_PATH= gcc bin/rateup.o -o bin/rateup -Wl,-Bstatic -lgd -lpng -lz -Wl,-Bdynamic -lm /usr/bin/perl -0777 -p -i~ -e 's@^#!\s*/\S*perl@#! /usr/bin/perl@' ./bin/cfgmaker ./bin/indexmaker ./bin/mrtg /usr/bin/perl -0777 -p -i~ -e 's@GRAPHFMT="...";@GRAPHFMT="png";@' ./bin/mrtg ./bin/indexmaker # make install ← インストール |
| MRTGの設定ファイル作成 |
# mkdir /usr/local/mrtg-2/cfg ← configファイル用のディレクトリを作成 MRTG設定ファイル作成 # /usr/local/mrtg-2/bin/cfgmaker --ifref=descr --ifdesc=descr public@192.168.11.2 > /usr/local/mrtg-2/cfg/mrtg.cfg ← 実際は1行です(赤字の部分はサーバーのIPアドレスを指定) --base: Get Device Info on public@192.168.11.2: --base: Vendor Id: --base: Populating confcache --coca: populate confcache public@192.168.11.2: --coca: store in confcache public@192.168.11.2_ Descr lo --> 1 --coca: store in confcache public@192.168.11.2_ Descr eth0 --> 2 --coca: store in confcache public@192.168.11.2_ Type 24 --> 1 --coca: store in confcache public@192.168.11.2_ Type 6 --> 2 --coca: store in confcache public@192.168.11.2_ Ip 127.0.0.1 --> 1 --coca: store in confcache public@192.168.11.2_ Ip 192.168.11.2 --> 2 --coca: store in confcache public@192.168.11.2_ Eth --> 1 --coca: store in confcache public@192.168.11.2_ Eth 00-0d-87-e2-c4-88 --> 2 --base: Get Interface Info --base: Walking ifIndex --base: Walking ifType --base: Walking ifAdminStatus --base: Walking ifOperStatus --base: Walking ifMtu --base: Walking ifSpeed |
| MRTGの設定 |
まず最初にメモリのMax値を調べる # free ← メモリの値を確認 合計 使用済 空き領域 共有領域 バッファ キャッシュ Mem: 514472 490392 24080 0 86584 179892 ↑物理メモリMax値 -/+ バッファ: 223916 290556 Swap: 1052216 16172 1036044 ↑スワップメモリMax値 ※ 物理メモリMax値と、スワップメモリMax値を、紙等に記載しておく # vi /usr/local/mrtg-2/cfg/mrtg.cfg ← 設定ファイルの編集 i キー(入力モード) ### Global Config Options # for UNIX # WorkDir: /home/http/mrtg WorkDir: /home/httpd/html/mrtg ← 追記 ### Global Defaults # to get bits instead of bytes and graphs growing to the right # Options[_]: growright, bits Options[_]: growright, noinfo ← 追記(グラフの推移方向を左→右にする) EnableIPv6: no Language:eucjp ← 追記(日本語化) ### Interface 2 >> Descr: 'eth0' | Name: '' | Ip: '192.168.11.2' | Eth: '00-0d-87-e2-c4-88' ### 下記の赤色の部分を変更or削除します。 ※ サーバーでルータ構築した場合はeth0とeth1の両方があるので、同じ要領で変更して下さい。 変更前 Target[192.168.11.2_eth0]: \eth0:public@192.168.11.2: SetEnv[192.168.11.2_eth0]: MRTG_INT_IP="192.168.11.2" MRTG_INT_DESCR="eth0" MaxBytes[192.168.11.2_eth0]: 12500000 Title[192.168.11.2_eth0]: eth0 -- xxxxxx.server PageTop[192.168.11.2_eth0]: <h1>eth0 -- xxxxxx.server</h1> ↓ 変更後 Target[eth0]: \eth0:public@192.168.11.2: ←192.168.11.2_を削除 SetEnv[eth0]: MRTG_INT_IP="192.168.11.2" MRTG_INT_DESCR="eth0" ←192.168.11.2_を削除 MaxBytes[eth0]: 12500000 ←192.168.11.2_を削除 Title[eth0]: eth0 トラフィック ← トラフィックに変更 PageTop[eth0]: <h1> eth0 トラフィック</h1> ← トラフィックに変更 ※以降の行を、全て削除 ここから→ <div id="sysdetails"> <table> 〜省略〜 </table> ここまで→ </div> CPU使用率、空きメモリ量、ディスク使用率の表示設定を追加 下記を追記してください ### CPU Load Average ### 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@192.168.11.2 ← サーバーのIPアドレス MaxBytes[cpu]: 100 Unscaled[cpu]: dwmy Options[cpu]: gauge, absolute, growright, noinfo, nopercent YLegend[cpu]: CPU Load(%) ShortLegend[cpu]: (%) LegendI[cpu]: 1分間平均 LegendO[cpu]: 5分間平均 Legend1[cpu]: 1分間平均(%) Legend2[cpu]: 5分間平均(%) Title[cpu]: CPU使用率 PageTop[cpu]: <H1>CPU使用率</H1> ### Memory Free #### Target[mem]: .1.3.6.1.4.1.2021.4.6.0&.1.3.6.1.4.1.2021.4.4.0:public@192.168.11.2 ← サーバーのIPアドレス MaxBytes1[mem]: 514472 ← 先ほど確認した物理メモリMAX値を指定する MaxBytes2[mem]: 1052216 ← 先ほど確認したスワップメモリMAX値を指定する 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]: 空き物理メモリ[MBytes] Legend2[mem]: 空きスワップメモリ[MBytes] Title[mem]: 空きメモリ量 PageTop[mem]: <H1>空きメモリ量</H1> ### Disk Used #### Target[disk]: .1.3.6.1.4.1.2021.9.1.9.1&.1.3.6.1.4.1.2021.9.1.9.1:public@192.168.11.2 ← サーバーのIPアドレス MaxBytes[disk]: 100 Unscaled[disk]: dwmy Options[disk]: gauge, absolute, growright, nopercent, noinfo YLegend[disk]: Disk Used(%) ShortLegend[disk]: (%) LegendI[disk]: / Disk used LegendO[disk]: / Disk Used Legend1[disk]: / Disk used Legend2[disk]: / Disk used Title[disk]: ディスク使用率 PageTop[disk]: <H1>ディスク使用率</H1> 編集したら Esc キー(コマンドモード):wqで保存 |
| MRTGの起動 |
# mkdir -p /home/httpd/html/mrtg/icons ← MRTGのディレクトリ作成 ※MRTGは過去2回起動時のログを使用します。 mrtg.cfg修正後の起動で2回目まで必ずWARNINGが出るので、修正後はMRTG起動を3回行ないます。 # /usr/local/mrtg-2/bin/mrtg /usr/local/mrtg-2/cfg/mrtg.cfg ← 1回目起動 Rateup WARNING: /usr/local/mrtg-2/bin/rateup could not read the primary log file for eth0 Rateup WARNING: /usr/local/mrtg-2/bin/rateup The backup log file for eth0 was invalid as well Rateup WARNING: /usr/local/mrtg-2/bin/rateup Can't remove eth0.old updating log file Rateup WARNING: /usr/local/mrtg-2/bin/rateup Can't rename eth0.log to eth0.old updating log file Rateup WARNING: /usr/local/mrtg-2/bin/rateup could not read the primary log file for cpu Rateup WARNING: /usr/local/mrtg-2/bin/rateup The backup log file for cpu was invalid as well Rateup WARNING: /usr/local/mrtg-2/bin/rateup Can't remove cpu.old updating log file Rateup WARNING: /usr/local/mrtg-2/bin/rateup Can't rename cpu.log to cpu.old updating log file Rateup WARNING: /usr/local/mrtg-2/bin/rateup could not read the primary log file for mem Rateup WARNING: /usr/local/mrtg-2/bin/rateup The backup log file for mem was invalid as well Rateup WARNING: /usr/local/mrtg-2/bin/rateup Can't remove mem.old updating log file Rateup WARNING: /usr/local/mrtg-2/bin/rateup Can't rename mem.log to mem.old updating log file Rateup WARNING: /usr/local/mrtg-2/bin/rateup could not read the primary log file for disk Rateup WARNING: /usr/local/mrtg-2/bin/rateup The backup log file for disk was invalid as well Rateup WARNING: /usr/local/mrtg-2/bin/rateup Can't remove disk.old updating log file Rateup WARNING: /usr/local/mrtg-2/bin/rateup Can't rename disk.log to disk.old updating log file # /usr/local/mrtg-2/bin/mrtg /usr/local/mrtg-2/cfg/mrtg.cfg ← 2回目起動 Rateup WARNING: /usr/local/mrtg-2/bin/rateup Can't remove eth0.old updating log file Rateup WARNING: /usr/local/mrtg-2/bin/rateup Can't remove cpu.old updating log file Rateup WARNING: /usr/local/mrtg-2/bin/rateup Can't remove mem.old updating log file Rateup WARNING: /usr/local/mrtg-2/bin/rateup Can't remove disk.old updating log file # /usr/local/mrtg-2/bin/mrtg /usr/local/mrtg-2/cfg/mrtg.cfg ← 3回目起動 [root@xxxxx root]# ← 何も表示されなくなった |
| 監視画面の確認 |
| ネットワークトラフィック状況監視画面確認 http://サーバーIPアドレス/mrtg/eth0.htmlにアクセスして このような画面が表示されればOKです。 |
![]() |
![]() |
CPU使用率監視画面確認 http://サーバーIPアドレス/mrtg/cpu.htmlにアクセスして このような画面が表示されればOKです。 |
| 空きメモリ量監視画面確認 http://サーバーIPアドレス/mrtg/mem.htmlにアクセスして このような画面が表示されればOKです。 |
![]() |
![]() |
ディスク使用率監視画面確認 http://サーバーIPアドレス/mrtg/disk.htmlにアクセスして このような画面が表示されればOKです。 |
| MRTGのインデックスページ作成 |
indexmakerというツールでインデックスページを作成します。 # /usr/local/mrtg-2/bin/indexmaker --columns=1 --addhead="<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=euc-jp\">" /usr/local/mrtg-2/cfg/mrtg.cfg > /home/httpd/html/mrtg/index.html ↑ 長いですが1行です。 インデックスページの文字化け対策 # vi /home/httpd/html/mrtg/index.html ← インデックスファイル編集 <meta http-equiv="content-type" content="text/html; charset=iso-8859-15" > ← この行を削除 |
| http://サーバーIPアドレス/mrtg/にアクセスして このような画面が表示されればOK |
![]() |
| 起動スクリプトの作成と自動起動の設定 |
# vi mrtg.sh ← viでMRTG起動スクリプト作成 i キー(入力モード) #!/bin/sh /usr/local/mrtg-2/bin/mrtg /usr/local/mrtg-2/cfg/mrtg.cfg 編集したら Esc キー(コマンドモード):wqで保存 # chmod 755 mrtg.sh ← 実行権を与える # ./mrtg.sh ← 実行してみる Cronに登録 # crontab -e i キー(入力モード) */5 * * * * /root/mrtg.sh ← 5分毎に実行する 編集したら Esc キー(コマンドモード):wqで保存 # /etc/rc.d/init.d/crond restart ←Cron を再起動 |
Copyright c Vine Linuxで自宅サーバー. 2004 All Rights Reserved.