Hobbit監視 〜サーバ導入
Hobbit監視
[カテゴリ:Hobbit][カテゴリ:FreeBSD][カテゴリ:Windows]Hobbitを使って監視をはじめませんかというお話。
Web日記界隈では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もあったほうがいいっぽい。なくてもいいけどちょっとはあったほうが… そんなの微妙すぎ〜♪
あとは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 あたりに自動でなんか出力される。