<< 練習 2010/2/13 | main | 練習 2010/2/17 >>

Torrus を使う・その1

Torrus はオープンソースのシステム管理ツールである。海外では割と使われているようだが、日本ではあまり実績がないようで、日本語の情報というのがほとんどないようだ。ということで、私が悪戦苦闘して Torrus を動かしてみた経験をもとに情報をまとめてみたいと思う。

まずは Torrus が動くところまで。

(1) Torrus とは?

Torrus はオープンソースのシステム監視ツールであり、SNMP をベースとして監視対象デバイスから情報を定期的に取得し、項目毎に定められたしきい値を越えた場合に通知することが出来たり、また統計情報をグラフで視覚的に表示させることができる。

SNMP による情報取得では Perl の Net::SNMP モジュールを使っており、またグラフの表示には Apache を用いるのが標準となっている。(mod_perl が必須。)

(2) Torrus のありか

ソースコードは http://torrus.org/ より取得可能。公式情報もここに数多く存在するが、正直あまり構造化されているとは言えず、あちこち動き回って情報を探し出す必要がある。

(3) インストール

Torrus のインストール自体は簡単。ソースコードを持ってきて
# ./configure; make; sudo make install
するだけ。ただし、RRDtool とか依存するライブラリが大量にあるのでこれらも事前にインストールしておいてあげる必要がある。(前提とされるライブラリの情報についてはおいおいまとめたい。)

ちなみに Ubuntu では既にパッケージが用意されているようなので、今回はこちらを使った。sudo apt-get install torrus-apache2 とすれば、Apache2 を使ったグラフ表示機能を実現するのに必要なパッケージを自動でインストールしてくれる (はず)。

(4) 設定ファイルについて

設定ファイルは Ubuntu のパッケージの場合、/etc/torrus/conf ディレクトリ以下に格納される。自分でビルドした場合は、標準では /usr/local/etc/torrus/conf になるので注意。

とりあえず、/etc/torrus/conf/torrus-siteconfig.pl 中で定義されている変数のコメント部分をすべて外し、有効にしておく。カスタマイズした場合は別途行えばいい。

(5) 何はともあれ、監視するホストを登録してみる

Torrus の設定は、すべて torrus コマンドを用いる。監視対象を登録するためのおおまかなステップは以下のとおり。

i. 監視対象への SNMP によるアクセス方法を定義

# torrus genddx --host=<hostname> --port=<port> --community=<community> --subtree=<subtree> --out=<ddxfile>

ここで subtree なるものが出てくるが、これは Torrus においてデバイスの管理を階層的に行うために必要となるもので、UNIX のディレクトリ構造のような形式で表記する。たとえば /Server/Tokyo/DC1 など。

また --out オプションで定義情報の出力先を指定する。この出力先ファイルは Torrus では一般的に DDX と呼ばれているが、torrus genddx コマンドは引数を元に DDX を XML 形式で保存するコマンドであるということも出来る。

ii. 監視対象へ SNMP でアクセスして、構成情報を取得 (Device Discovery)

それぞれの監視対象に対して DDX を作成したら、各機器ごとの構成情報を取得する。

# torrus devdiscover --in=<ddx1> --in=<ddx2> ... --verbose

のように、DDX ファイルをすべて指定してあげたほうがよさそう。また、verbose オプションをつけることによって Device Discovery の進行状況が逐一分かる。

iii. すべての監視対象に対する情報を一まとめにコンパイルし、DB へ格納

# torrus compile --all --verbose

終わったら検索データベースを構築。

# torrus bs --global --verbose

iv. 情報収集を開始させる

# torrus collect --tree=main
# /etc/init.d/torrus-common start

[注: root 権限で torros collect コマンドを動かしてしまうと、データ出力先ファイルのオーナーが root になってしまい、あとあと rc スクリプトから collector を起動した際に書き込みが出来なくなってしまう。collector を動かすときは rc スクリプトを使った方が無難。]

(6) Web ブラウザでアクセスしてみる

Ubuntu の場合は、torrus-apache2 パッケージが Apache 側の設定まで実施してくれるので大変便利。Ubuntu でない場合は、ここなどを参照して Apache に設定を追加する。

で、Apache を再起動。[注: torrus-siteconfig.pl をいじったら必ず Apache を再起動すること。これは mod_perl が古い情報を握ってしまうことを抑止するため。]

# /etc/init.d/apache2 restart

さらに、ツールにアクセスするための Torrus 上でのユーザを作成する。まずすべての閲覧権限を持つグループ (ここでは admin という名前) を作成し、次にユーザをこのグループに所属させるように作成する。

# torrus acl --addgroup=admin --permit='DisplayTree' --for='*'
# torrus acl --adduser=taishi --password=xxxxxxxx --addtogroup=admin

あとは、Web ブラウザで http://localhost/torrus にアクセスし、上で作成したユーザでログインすれば、収集されたデータを見ることが出来る。

----

ということで、今日はここまで。次回はもうちょっとカスタマイズする部分に踏み込んでみたい。

コメント
コメントする







calendar
 123456
78910111213
14151617181920
21222324252627
28293031   
<< March 2010 >>
コメントリスト