MENU

トラフィック量・サーバ監視設定方法(MRTG)

MRTG(トラフィック量閲覧ソフト)の設定です。

 

 

MRTGはルータ、スイッチ、サーバなどのネットワークインターフェース毎での
トラフィック量やCPU使用率などを分かりやすくグラフで見ることが
出来るソフトです。VLAN毎、は不可能です。

 

参照サイト

 

 

本ページの目次

 

 

 

WEBサーバの起動確認など
■アクセス確認

「minimum」等でOSをインストールした場合はWEBサーバーが
インストールされていないためインストールしておきます。

yum -y install httpd

 

■WEBサーバーの起動と自動起動
service httpd start
chkconfig httpd on

 

■アクセス確認

CentOSのメニューのfirefoxアイコンからfirefoxを起動し、自IPアドレスへアクセスし
「Apache 2 Test Page powered by CentOS」の画面が表示されることを確認します。

 

■ファイアウォールでtcp/80ポート開放

vi /etc/sysconfig/iptables

 

以下を追加。ポート22を開放している行のコピー&ペーストし
送信元の「-s IPアドレス」を追記するのが楽です。

-A INPUT -m state --state NEW -m tcp -p tcp -s 192.168.0.0/24 --dport 80 -j ACCEPT

 

■ファイアウォールの再起動

service iptables restart

 

■WEBアクセス確認

他のPCなどのWEBブラウザからCentOS(192.168.0.100)へアクセスし、
「Apache 2 Test Page powered by CentOS」の画面が表示される
ことを確認します。

 

 

トラフィック等を測定される側の機器の設定

Catalystやネットワーク機器などで基本的な設定を行います。

 

今回は自分(CentOS)で自分(CentOS)を監視する設定としました。

 

■snmpd.confの編集

vi /etc/snmp/snmpd.conf

 

#com2sec notConfigUser default public

●コメントアウトする

 

com2sec local localhost private

 

com2sec mynetwork 192.168.0.0/24 communityname

●コミュニティ名をpublicから任意の文字列、今回はcommunitynameへ変更

 

#group

●コメントアウトする

 

group MyROGroup v1 mynetwork

 

group MyROGroup v2c mynetwork

●グループ名、バージョン、セグメント

 

#view

●コメントアウト

 

view all included .1 80

●定義名、閲覧許可するOID

 

#access

●コメントアウト

 

access MyROGroup"" any noauth exact all none none

●グループ名、閲覧許可するOIDの定義

 

disk / 10000
●# Check the / partition and make sure it contains at least 10 megs. の下部
●ディスク使用率表示用設定

 

 

■snmpd自動起動・起動

chkconfig snmpd on

 

service snmpd start

 

 

正しくMIBを取得しに行けるかの確認

 

■net-snmp、net-nemp-utilsのインストール

snmpwalkなどを使用するため。

yum install net-snmp
yum install net-nemp-utils

 

■MIBの取得
snmpwalk -v 2c -c communityname 192.168.0.100

●OIDが表示されることを確認

 

 

MRTGの設定ファイル作成

 

MRTGをダウンロードしインストールします。

 

ダウンロードページ

 

 

■MRTGの設定ファイルの新規作成

折り返していますが1行で投入します。

cfgmaker --ifref=descr --ifdesc=descr communityname@192.168.0.100 > /etc/mrtg/mrtg.cfg

「> /etc/mrtg/mrtg.cfg」で設定をmrtg.cfgとして新規作成しています。
既にあるmrtg.cfgに機器情報を追加する場合は「>> /etc/mrtg/mrtg.cfg」
として下さい。

 

書式は以下です。複数の機器(ホスト名やIPアドレス)を一括で入れることも可能です。
折り返していますが1行で投入します。

cfgmaker [オプション] [コミュニティ名@]ルータ名 [[オプション] [コミュニティ名@]ルータ名 ...]

 

オプションは以下URLを参照

 

■MRTGの設定ファイルの編集
vi /etc/mrtg/mrtg.cfg

 

テキストエディタの置換機能で

communityname@192.168.0.100:

communityname@192.168.0.100:::::2

へ。
●100Mbpsを少し過ぎると、グラフが0Mbpsから始まってしまう事象の対処

 

その後、

WorkDir: /var/www/mrtg

●出力ディレクトリ

 

Options[_]: growright, noinfo, bits

●グラフの推移を左から右への形式に。バイト表示からbit表示へ変更

 

 

MRTGの起動
■MRTGの起動

※2回は(キャッシュが無いため)エラーが出るが3回目で出なくなれば問題なし

 

env LANG=ja_JP.EUC_JP /usr/bin/mrtg /etc/mrtg/mrtg.cfg

 

env LANG=ja_JP.EUC_JP /usr/bin/mrtg /etc/mrtg/mrtg.cfg

 

env LANG=ja_JP.EUC_JP /usr/bin/mrtg /etc/mrtg/mrtg.cfg

 

■Apacheでのアクセス許可
vi /etc/httpd/conf.d/mrtg.conf
Allow from 127.0.0.1 192.168.0

●192.168.0.0/24からのアクセス許可

 

■Apacheの再起動
service httpd reload

 

■MRTGが作成したWEB画面の確認
http://192.168.0.100/mrtg

192.168.0.100_eth0.html

 

■MRTGで5分毎に監視機器のMIBを取得させる設定
chmod 755 /etc/cron.d/mrtg
vi /etc/crontab

 

*/5 * * * * root /etc/cron.d/mrtg

 

「crontab -e」ではありません。
「/etc/cron.d/mrtg」について、今後コマンド追記などの際の
ためにファイルの中身を確認しておいた方が良いです。

 

■cronの再起動

service crond restart

 

■更新の確認

ログ「/var/log/cron」を閲覧しcronの実行確認をします。

 

5分待った後、「/var/www/mrtg」の各ファイルが5分間毎に
更新されていることを確認します。

 

■MRTGが作成したWEB画面の確認
http://192.168.0.100/mrtg

192.168.0.100_eth0.html
などへ再度アクセスし「The statistics were last updated」行の
時間が更新されていることを確認する。

 

■CPU使用率・メモリ使用率の追加

まずfreeコマンドでMemのtotal、Swapのtotalを確認します

 

[root@abc mrtg]# free

total used free shared buffers cached
Mem: 1031320 959124 72196 0 83656 470764
-/+ buffers/cache: 404704 626616
Swap: 2064376 6020 2058356

 

以下を追加します。

 

●以下2項目は上記freeにて確認した値を入れます。

 

#物理メモリの最大値
MaxBytes1[localhost_mem]:
#スワップメモリの最大値
MaxBytes2[localhost_mem]:

 

Target[localhost_mem]: .1.3.6.1.4.1.2021.4.6.0&.1.3.6.1.4.1.2021.4.4.0:communityname@127.0.0.1
#物理メモリの最大値
MaxBytes1[localhost_mem]: 1031320
#スワップメモリの最大値
MaxBytes2[localhost_mem]: 2064376
Unscaled[localhost_mem]: dwmy
Options[localhost_mem]: gauge, absolute, growright, noinfo
YLegend[localhost_mem]: Mem Free(Bytes)
ShortLegend[localhost_mem]: KBytes
kilo[localhost_mem]: 1024
kMG[localhost_mem]: k,M
LegendI[localhost_mem]: Real
LegendO[localhost_mem]: Swap
Legend1[localhost_mem]: 空き物理メモリ[MBytes]
Legend2[localhost_mem]: 空きスワップメモリ[MBytes]
Title[localhost_mem]: localhost_空きメモリ量
PageTop[localhost_mem]: <H1> localhost_空きメモリ量 </H1> 

 

#CPU使用率
Target[localhost_cpu]: .1.3.6.1.4.1.2021.10.1.5.1&.1.3.6.1.4.1.2021.10.1.5.2:communityname@127.0.0.1
MaxBytes[localhost_cpu]: 100
Unscaled[localhost_cpu]: dwmy
Options[localhost_cpu]: gauge, absolute, growright, noinfo, nopercent
YLegend[localhost_cpu]: CPU Load(%)
ShortLegend[localhost_cpu]: (%)
LegendI[localhost_cpu]: 1分間平均
LegendO[localhost_cpu]: 5分間平均
Legend1[localhost_cpu]: 1分間平均(%)
Legend2[localhost_cpu]: 5分間平均(%)
Title[localhost_cpu]: localhost_CPU使用率
PageTop[localhost_cpu]: <h1>localhost_CPU使用率</h1> 

 

 

■再度、MRTGが作成したWEB画面の確認

cronが実行された後、localhost_cpu.htmlとlocalhost_mem.htmlが
作成されていることを確認します。

 

■WEB画面を1ページへ統合

ルータやスイッチなど、ネットワークインターフェースが多い場合は
新たにHTMLファイルを作成し1つの機器の主要なネットワークインターフェースを
その1ページに見やすく表示させた方が良いかと思います。