project-hatohol / hatohol

A unified manager of monitoring software
http://www.hatohol.org/
Other
89 stars 29 forks source link

Nagiosのデータ取得をNDOUtilsからLivestatusに切り替える #1549

Open masa0612 opened 9 years ago

masa0612 commented 9 years ago

Livestatus: https://mathias-kettner.de/checkmk_livestatus.html

Nagiosに組み込むモジュールで、ホストやサービスなどの情報をソケット経由で取得する。 DBを使用しないため、導入の敷居が低くなるのは大きなメリットだと考える。 過去のデータもログなどを使用して取得することができるそう。 epelレポジトリからインストールできますし、データ取得ライブラリもpython-pipから インストールできるのでHAP2.0のプラグインとして作成したい。

NDOUtilsと違い、各ホストやサービスにIDが存在しない問題さえ解決できれば導入できるはず。 (そもそもNDOUtilsはDBがオートインクリメントで付与したIDのため) 解決するとなると、結局ホスト情報などを記録するファイルを作成せざるを得ない? いい案があればぜひ。

masa0612 commented 9 years ago
$ apt-cache search livestatus                                                                             
check-mk-livestatus - general purpose nagios-plugin for retrieving data
python-mk-livestatus - Helps to query MK livestatus and return results as dictionary

Ubuntuにもあった。前者が組み込むモジュールで、後者がデータ取得のライブラリ

kz0817 commented 9 years ago

おもしろそう。名前がIDでもいい気がするけど、重複してる場合どうするかだね。

cosmo0920 commented 9 years ago

ホスト名とIPアドレスのペアなら重複はしなさそうなんですが、ちと厳しいか。 IPv6だと同一IPアドレスを複数マシンへ振ってロードバランスみたいなことも可能なので。

masa0612 commented 9 years ago

いや、名前がIDなら問題ないはずです。Nagiosは同一名のホスト登録は出来ません。 cfgファイルから各ホスト名を読み取るんですけど、同一ホスト名があればプロセスが起動しなかったはず。 サービス(Hatoholではトリガー)は、ホスト名とトリガーのセットで送るため問題なさそうです。

masa0612 commented 9 years ago

一通り触ってみましたけど、過去イベントも時間指定で取れますし、上記のとおりホストのIDなども問題なさそうです。 プラグイン化出来そうなので、明日から作ってみます。

masa0612 commented 9 years ago

a49b5c5ddb9d6bdd49bf4043a4dab91830b2fe7d

とりあえず作ってみた。イベントのpolling, fetch以外は動作すると思う(多分) 明日以降,ToDoを少しずつ解決していく予定。

cosmo0920 commented 8 years ago

1887 でmasterへマージ。

cosmo0920 commented 8 years ago

@Mnakagawa さん、ひとまずNDOUtilsとLivestatusは両方サポートという感じですか?将来的にNDOUtilsを廃止?

kz0817 commented 8 years ago

それぞれにメリット・デメリットがあるかですよね。 速度、信頼性・セットアップや運用の容易性などすべての面でlivestatusが上なら、それだけで十分ですし、使い分ける動機があるかですね。

masa0612 commented 8 years ago

速度,セットアップ面においてはlivestatusが上だと思いますが, 実際に使用したことがあるのが私しかいないため,客観的に信頼性はまだあまりないような気がします。 とりあえず 16.01のリリースは現状で良いのではないでしょうか。

cosmo0920 commented 8 years ago

Livestatusでは #1161 のようなエンコーディング由来の文字化けの問題は起こらないのでしょうか? 起こらないのであれば使い分ける動機の一つになりそうです。

masa0612 commented 8 years ago

そうですね。DBを介さずログファイルからデータを持ってくるため,文字化けは起こらないと思います。

masa0612 commented 8 years ago

上にもあげたとおり,また私しか詳細を知らないので,16.01のリリース作業が落ち着き, 日程に余裕が出ればブラッシュアップをかけようと思っています。