Fedora 8 で四苦八苦 SNMPとMRTG編
SNMPとMRTGはピィ〜ンと来ない方も居られると思います。
私もSNMPはインテルLANカードを使用した時に変な規格だなぁ〜と思っていた程度でした。
御自宅サーバーでは導入する度合いは低いと思いますが、イタズラ心に溢れている方は試してみてください。
SNMPはネットワーク機器をネットワーク経由で監視するためのプロトコルで「Simple Network Management Protocol」と言われるそうです。
後述するMRTGとの組み合わせでISPや大手通信会社で表示されるトラフィックグラフが簡単に作成できるものです(MRTGはSNMP越にデータを取得しHTML化して出力するものです)。
SNMPで得られるものとしてはサーバーやルータ(対応しているものは高級品ばかりですょ)のシステム情報、LANカードのハードウェア情報、通過しているIP情報等です。
Windowsのレジストリに書き込まれているようなハードウェア情報を読み取るものと思ってください。その他にIP等が追加されているあたりがネットワーク用ってことです。
SNMPでは、これらの情報を取得するアドレスみたいなものが標準化されており、MIBと称されています。MIBはツリー構造を成しており、特定のMIB番号を指定して、それに対応する情報を得る…というものです。
まずはMIBツリーを実際に出力したものをサンプル添付しておきます。
「snmp_list.txt」をダウンロード
次にsnmpdの設定を行います。Fedora8での定義ファイルは/etc/snmp/snmpd.confとなっています。こちらもサンプルを添付しておきます。余計なコメント行は削除しています。
「snmpd.conf.sample」をダウンロード
snmpd自身はsnmpクライアントからの要求がなければ状態を返すことはありません。今回はRead属性だけを許可していますがWrite属性を許可するとシステム情報をイタズラされる基となります。このため、一見不要に思ってアンインストールすることは好ましいことですが、これから記載するMRTGを使用する際はSNMPが実行されている必要があります。
snmpを使用する際はlm_sensorsパッケージが必要になります。lm_sensorsはWindowsの自作PCでは添付されていることが多いマザーボード温度監視ツールなんかのLinux版と思ってください。
MRTGは「Multi Router Traffic Grapher」の略らしく、和訳すると「多くのルーター上のトラフィックをグラフ化する」ということになります。
よってグラフ化するのがMRTGで、その基となるのがSNMPになります。
MRTGの定義ファイルはFedora8の場合、/etc/mrtg/mrtg.cfgファイルです。コマンドで作成できますので次のようなコマンドを使用します(長いけど1行)。
#>cfgmaker --out=/etc/mrtg/mrtg.cfg --global "workdir:/var/www/mrtg" --global "Language:eucjp" general@127.0.0.1
みたいな感じです。
--globalオプションを見て欲しいのですが、1個目はMRTGで作成されたHTMLファイルの出力先ディレクトリ、2個目は言語コードでutf-8はダメらしい。最後はsnmpd.confのcom2secラインの最後にあるコミュニティ名称となっています。
次に最近ではギガビットイーサネットが当たり前になっていますので桁溢れ対策としてmrtg.cfgを修正しておきます。
次の記載で探し出して欲しい。
Target[127.0.0.1_1]: 1:general@127.0.0.1
この行の終わりに:を5個と2を加える(以下のように修正する)。
Target[127.0.0.1_1]: 1:general@127.0.0.1:::::2
設定が完了したら実際に起動させる。最初と2〜3回目迄はエラーが出力されますが異常ではない模様です。私のところでも2回目まではエラーが出ましたが3回目以降はエラー出力されなくなりました。
LANG=ja_JP.eucJP mrtg /etc/mrtg/mrtg.cfg
/var/www/mrtg/以下にファイルと図が作成されていると思います。
それがmrtgの実行結果です。
あとはFedora8ではデフォルトで5分に1回実行するようにcrondで指定されています。
しかし、index.htmlファイルがないのでイチいちファイル名称を入れてやるか、ディレクトリ表示を有効にしなければならないのでindex.htmlを作成します。
indexmaker /etc/mrtg/mrtg.cfg > /var/www/mrtg/index.html
これでmrtg.cfgファイルの中身からindex.htmlを作成してくれます。ただし、ethnだけが作成され、loは作成されません。
またmrtgの出力するページはEUC-JPと指定されているらしいので、apacheでmrtgを定義している部分の最後のあたりにでも次のものを入れておくと良いらしい。
AddDefaultCharset off
mrtgをhttp://www.inter.net/mrtg/にしても、http://mrtg.inter.net/にしても今回は定義ファイルを用意していませんので各人で作成してみてください。
本ブログの過去記事にWeb編や折に触れてホスティング設定ファイルを使用していますので参考にしてみてください。
まぁMRTGの結果も2〜3か月ほど溜め込めれば面白いグラフになると思いますょ。
