はじめに
システムの統合監視サービスである「Zabbixによる企業向け監視システムの構築」「Nagioによる企業向け監視システムの構築」をエンタープライズで利用する場合の構築例として紹介してきました。
今回はMRTG(Multi Router Trafice Grapher)によるネットワーク監視システムをLinux(CentOS)に構築する方法を説明します。MRTGは、ネットワーク帯域の監視やCPU使用率などのサーバーリソースの監視に古くから使われており、UNIXではネットワーク帯域監視の定番とも言えるツールです。今回は、MRTGによるネットワーク監視システムの構築方法を解説します。
前提条件
構築に必要なサーバー要件および、導入パッケージは下記のとおりです。
1.サーバー要件
サーバー要件は、次のとおりです。
ホスト名 | centos |
IPアドレス1(eth0) | 10.0.2.15 |
IPアドレス2(eth1) | 192.168.0.20 |
OS | CentOS 6.5 i386 |
Apache | 2.2.15 |
2.導入するパッケージ
導入するパッケージは、次のとおりです。
パッケージ名 | バージョン |
---|---|
net-snmp | 5.5 |
net-snmp-utils | 5.5 |
mrtg | 2.16.2 |
SNMPの導入
パッケージをインストールし、SNMPの設定を行います。
1.パッケージのインストール
$ sudo yum -y install net-snmp net-snmp-utils
2.SNMP設定ファイルの変更
全MIB情報を取得するため、設定ファイルを変更します。
$ sudo sed -i -e "s|^view|#view|" -e "s|systemview|all|" -e "s|^#disk|disk|" -e "s|^syslocation.*$|syslocation centos|" -e "s|^syscontact.*$|syscontact root@localhost|" /etc/snmp/snmpd.conf $ echo "view all included .1 80" | sudo tee -a /etc/snmp/snmpd.conf 1> /dev/null
3.SNMPの起動と自動起動設定
$ sudo service snmpd start $ sudo chkconfig snmpd on
4.SNMP動作確認
構築中のサーバーには、lo/eth0/eth1の3つのネットワークインターフェースが割り当てられているいるため、各々のネットワークからMIB情報にアクセスできるか確認します。
$ snmpwalk -v 2c -c public localhost | head -10 $ snmpwalk -v 2c -c public 10.0.2.15 | head -10 $ snmpwalk -v 2c -c public 192.168.0.20 | head -10
MRTGの導入
パッケージをインストールし、MRTGの設定を行います。
1.パッケージのインストール
$ sudo yum -y install mrtg
2.MRTG設定ファイルの作成
MRTG設定ファイルのひな型を作成します。
$ cfgmaker --ifref=descr --ifdesc=descr public@192.168.0.20|sed -e "s|[1-9].*_eth|eth|" -e "s|^t|#|" | sudo tee /etc/mrtg/mrtg.cfg 1> /dev/null
3.メモリとスワップ容量の確認
MRTG設定ファイルに指定するサーバーのメモリおよび、スワップ容量を確認します。
$ free
4.MRTG設定ファイルの編集
先ほど作成したMRTG設定ファイルを、下記のとおり編集します。
$ sudo vi /etc/mrtg/mrtg.cfg
# MRTGのドキュメントルート WorkDir: /var/www/mrtg # グラフの表示向きを左から右(過去から現在)にする Options[_]: growright, noinfo # eth0のIPアドレスを修正 Target[eth0]: eth0:public@10.0.2.15:
CPU使用率を追加します。
# 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@192.168.0.20 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>
RAM使用量を追加します。なお、MaxBytes1,MaxBytes2に指定する値は、freeコマンドで確認したMem Totalおよび、Swap Totalを指定します。
# メモリ使用量 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.0.20 MaxBytes1[mem]: 510756 MaxBytes2[mem]: 835576 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>
RAM使用量、ディスク使用率を追加します。
# ディスク使用率 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.0.20 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]: Disc Used PageTop[disk]: <H1>Disc Used</H1>
MRTGウエブページの作成
MRTGの設定が終了しましたので、MRTGのウエブページを作成します。
1.index.htmlファイルの生成
編集したMRTG設定ファイルから、ウエブページのindex.htmlファイルを生成します。
設定ファイルに監視項目を追加するなどで、設定ファイルを変更したら必ず実行する必要があります。
$ indexmaker --columns=1 /etc/mrtg/mrtg.cfg | sudo tee /var/www/mrtg/index.html 1> /dev/null
2.グラフの生成
MRTGは、SNMPが収集したデータを元に監視データをグラフ化します。
毎時、日次、月次といったタイミングでグラフを生成すると良いでしょう。
なお、グラフ生成をスケジュール運用するには、crontabに登録する必要があります。
ここでは、グラグを生成方法のみを解説しますので、crontabへの登録は行っていません。
$ env LANG=C sudo mrtg /etc/mrtg/mrtg.cfg $ env LANG=C sudo mrtg /etc/mrtg/mrtg.cfg
1回目と2回目の実行では、Warningが表示されますが、3回めの実行以降は、Warningは表示されなくなります。
$ env LANG=C sudo mrtg /etc/mrtg/mrtg.cfg
3.Apacheの設定
MRTGのインストール時に、MRTGウエブページの設定ファイルがインストールされますので、インストールされた設定ファイルを下記のとおり編集します。
$ sudo vi /etc/httpd/conf.d/mrtg.conf
Allow from 192.168.0.
4.Apacheの再起動
$ sudo service httpd restart
5.動作確認
下記のサイトにブラウザでアクセスすると、MRTGのページが表示されます。
http://192.168.0.20/mrtg/
まとめ
ここまで、MRTGによるネットワーク監視システムの構築方法を解説しました。MRTGは、現在もさまざまなサイトでネットワーク帯域の監視などで使われている実績のある監視ツールです。記事を参考にネットワーク帯域の監視にチェレンジしましょう。
本ブログは、Git / Subversion のクラウド型ホスティングサービス「tracpath(トラックパス)」を提供している株式会社オープングルーヴが運営しています。
開発の効率化をしたい!もっと便利なツールを使いたい!そんなお悩みをtracpathで解決!
「tracpath(トラックパス)」は、企業内の情報システム部門や、ソフトウェア開発・アプリケーション開発チームに対して、開発の効率化を支援し、品質向上を実現します。
さらに、システム運用の効率化・自動化支援サービスも提供しています。
”つくる情熱を支えるサービス”を提供し、まるで専属のインフラエンジニアのように、あなたのチームを支えていきます。
No Comments