FrontPage 差分 一覧 ソース 検索 ヘルプ ログイン

Hobbit監視 〜サーバ導入のソース

!!!Hobbit監視
{{category Hobbit}}
{{category FreeBSD}}
{{category Windows}}

----

[Hobbit|http://sourceforge.net/projects/hobbitmon/]を使って監視をはじめませんかというお話。

Web日記界隈では[Nagios|http://sourceforge.net/projects/nagios/]のほうがメジャーっぽいけど、
あいつはいまいち直感的ではなかったので、Hobbitを使ってみるテスト。

監視ツールってな大まかにエージェントインストールタイプとエージェントレスタイプに分けられるけど、
Hobbitはエージェントインストールタイプと思っておいたほうがいい。

----
!!インストール
----

とりあえずは監視サーバのインストールから。
UNIXライクなOSならなんでもいいことになってはいる。
Hobbitが必要とするコンポーネント(及び依存関係)は以下の通り

 Hobbit
 - [PCRE|http://www.pcre.org/]
 - [RRDtool|http://oss.oetiker.ch/rrdtool/]
   - [libpng|http://www.libpng.org/pub/png/libpng.html]
     - [zlib|http://www.zlib.org/]
 - [OpenSSL|http://www.openssl.org/] (option)
 - [OpenLDAP|http://www.openldap.org/] (option)

RRDtoolのbuildの際にlibartとかfreetypeとかpkg-configとかも要求されるかもしれない。がんばれ。

このほかに、[fping|http://www.fping.com/]もあったほうがいいっぽい。
==なくてもいいけどちょっとはあったほうが… そんなの微妙すぎ〜♪==

あとはCコンパイラとGNU make。
GCC以外では試してない。
SolarisやBSDのmakeだと configure の時点ではねられる。

動作的には上記で充分だけど、
あとはhttpdとかブラウザとか(アラームをメール通知するなら)MTAとかは別途必要。

Solarisにインストールする場合には共有メモリまわりでシステムパラメータの変更が必要。
ドキュメントにはshmsegを7以上に設定するように記述があるが、
手元の端末では(他のソフトウェア用に設定した)下記の内容にて稼動中。

 forceload: sys/msgsys
 forceload: sys/shmsys
 set shmsys:shminfo_shmmax=13107200
 set shmsys:shminfo_shmmni=200
 set shmsys:shminfo_shmseg=50

ちなみにHobbitは何も考えずにbuildすると、
ライブラリをリンクする際に RPATH を埋め込んでくれない。
で、RRDtoolは何も考えずにbuildすると、
/usr/local/rrdtool-<VER> とか変態ディレクトリにインストールされるので、
librrd.so が使えなかったりもする。
「監視はできるけどグラフが出ない」という状態になったらこれを疑う。
rrd-status.log あたりに
 2007-05-22 11:24:43 Worker process died with exit code 9, terminating
 ld.so.1: hobbitd_rrd: fatal: librrd.so.2: open failed: No such file or directory
とか出力されているのでわかりやすいとは思う。

----

ライブラリを用意したら早速コンパイル……の前に専用ユーザを作る。
hobbitdの稼動にroot権限は必要ないので、
hobbit:hobbitとか適当にuser:groupつくっておけ。
configureの最中にhttpdが稼動している権限も聞かれるのでチェックしておく。
その他は……臨機応変に(ぇ  
基本的にはconfigureしてgmakeしてroot権限でgmake installするだけ。
httpd経由でアクセスする場合のPATHなんかもconfigureの際に聞かれる。

----

で、ここで設定したhttpd絡みの設定内容が、
そのままApacheのconfigとして server/etc/hobbit-apache.conf として吐き出されるので、
httpd.confからincludeしてやればよろしい。
あと、管理用ページへのアクセスにBASIC認証を使うので、
htpasswdを使ってAuthFileを用意しておく。
hobbit-apache.confの中に具体的なコマンドの指示まであるので見落とさなければいい。

----

Hobbit本体の設定については、
server/etc 以下のファイルをふにふにといじることになるけど
サーバ動作それ自体については基本的にいじる必要はないはず。

とりあえずhobbit動作ユーザの権限で
 > ./hobbit.sh start
とかしてやれば、自分自身だけを監視する設定でなんか起動する。
OS起動時の自動起動はroot権限で動いてしまうので、
 # su - hobbit -c '/where/to/hobbit.sh start'
とかてけとーになんとかしる。

あとは
http://hobbit-server/hobbit/
あたりにアクセスすればどうにかなっているはず。
どうにもなっていなかったらエラーからApacheの問題なのかHobbitの問題なのかは切り分けてくれ。
defaultだと server/www あたりに自動でなんか出力される。