分散監視ができません(泣)。

こんにちは。
Zabbixサーバを複数立てて、一つのサーバで一括統合監視を行いたく思います。その検証として2台のZabbixサーバを立てて
マニュアルを参照して、マニュアル通り、Central Nodeで総括監視を試みましたが、eventが表示できません。
分散監視の経験のある方、ぜひ教えてください。

環境
CentOS 5.3
Zabbix 1.4.5
Central Node 192.168.3.2 port:10051
Child Node  192.168.3.5 port:15052

Central Nodeにて実施
1.Central Node Zabbix Server インストール後、
2./etc/zabbix/zabbix_server.confのNodeID=1追加
3.# /usr/sbin/zabbix_server -n 1 -c /etc/zabbix/zabbix_server.conf
Converting tables ..................... done.
Conversion completed.

4.zabbix Webにて
Administration→Nodesが表示できるのでlocalノードパラメータ設定後、
Child Node(remote)追加
5.Central Node起動

Child Nodeにて実施
1.Childl Node Zabbix Server インストール後、
2./etc/zabbix/zabbix_server.confのNodeID=2追加
3.# /usr/sbin/zabbix_server -n 2 -c /etc/zabbix/zabbix_server.conf
Converting tables ......... done.
Conversion completed.

4.zabbix Webにて
Administration→Nodesからlocalノードパラメータ設定後、
Central Node(remote)追加
5.Child Node起動

6.Child Nodeにてhosts追加

二つのzabbixサーバを設定後、
Child Nodeに表示できるevent messageが
Central Nodeでもそのまま表示できるのではないかと
思っていますが、Central Nodeでは表示できません。

Zabbixサーバのログをみると
19456:20090520:183549 NODE 2: Sending new events of node 2 to node 1 datalen 469
19456:20090520:183549 NODE 2: Sending new history of node 2 to node 1 datalen 371374
19456:20090520:183549 NODE 2: Sending new history_uint of node 2 to node 1 datalen 328025

のようにノード1へ送信しているようにみえますが、
なにが問題でしょうか?

ご存じの方、ぜひ教えて頂けないでしょうか。
よろしくお願いします。
event message確認可能?

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー yes2000c の写真

event messageが確認できました。
Central Nodeのzabbix Webの右上のCurrent node欄が
あることに気付き、Current nodeからChild Nodeに切り替えたら、ちゃんとChild NodeのWeb画面をリモートで見ることができました。お騒がいたしました。

もちろん、Central NodeのWeb画面(Child Node=リモート)は、
Child Node(ローカル)の画面と全く同一です。
やりたいことは、Central NodeのWeb画面では、重要度の高い物だけを選択表示させたいと思いますが、どう設定すればいいかわかりません。どこをいじればいいか、わかりません。

ユーザー kodai の写真

こんにちは。

ノード機能を使用した場合、基本的に子ノードの情報はすべて親ノードに送られるようになっていますので、重要なものだけ選別して送ることはできません。

zabbix_server.confの以下のパラメータを変更することで、親ノードにイベントとヒストリデータを送付するかしないかを設定することは可能です。

NodeNoEvents
NodeNoHistory

ユーザー yes2000c の写真

kodaiさま

ご回答かりがとうございます。
親ノード、子ノード機能を使用した場合はわかりましたが、
ノード機能を使わない場合は、マスター機能とかでしょうか?
そのほかに、プロセスグループ(discoverer、poller、HTTP poller、trapperなど)の分散など
いろんな形での分散環境での監視ができるように思われます。

例えば、50台規模の5つのシステムがあって、それぞれ5台のZabbixサーバで監視し、
かつ5台のZabbixサーバの内、1台(または別のサーバを立てることも含む)に集約して統合監視を行い、
トリガーの重要度が高い物だけを選別して統合監視できる方法はありませんでしょうか?
よろしくお願いします。

ユーザー kodai の写真

ZABBIXには、バージョンによって以下の分散監視機能があります。

1.4.x: ノード
1.6.x: ノード、プロキシ

ただ、ノード、プロキシのどちらの機能を利用しても、子サーバからのトリガーの重要度を判別して親サーバにデータを送付する機能はありません。

子サーバからのデータはすべて親サーバに送付しておき、親サーバ側で障害の重要度を判定して検知することで対応されるのはいかがでしょうか。

そのほかに、プロセスグループ(discoverer、poller、HTTP poller、trapperなど)の分散など
いろんな形での分散環境での監視ができるように思われます。

これらは分散監視の機能ではなく、ディスカバリは監視対象の自動発見機能、poller、trapperはポーリング、トラッピングを行うZABBIXサーバのプロセス名です。

ユーザー yes2000c の写真

kodaiさま

ご回答ありがとうございます。

親ノード、子ノードの分散監視(一方監視のように思われます)以外に、相互監視機能はありませんでしょうか。
何回も申し訳ございませんが、よろしくお願いします。

また、zabbix_server.confに以下にご教示の通り、
NodeNoEvents=1
NodeNoHistory=1

を子ノードで実行し、正常動作を確認しました。ありがとうございます。

ユーザー kodai の写真

相互監視機能とは、どのような機能をお考えでしょうか?もう少し具体的に要件を教えていただけると的確な回答ができると思います。

単純にZABBIXサーバを相互に監視するだけであれば、各ZABBIXサーバにエージェントを入れて相互に監視を行えば良いだけだと思います。

相互で監視の設定を同期したり、監視のデータを1カ所に集めて監視を行いたい場合は、前にも書いた通りノードかプロキシの機能を利用する必要があります。

ユーザー yes2000c の写真

Kodaiさま

さっそくのご回答ありがとうございます。いつも助かっております

相互監視は、予算上、商用のクラスタツールが使用できない場合、
2台のzabbixサーバをインストールして、相互監視して、それを補完できるかと思いついてみたのです。
ご説明、ありがとうございます。

さて、
プロキシ(ZABBIXサーバに変わってデータを収集する軽量なプロセス)機能ですが、
1.6.4ではデフォルトで使われる機能ではないでしょうか。
1.6.4ではデフォルトでプロキシ処理での機能が追加されたと認識していますが、認識の間違いでしょうか。

それとも1.6.4で、プロキシ機能を使って、分散監視を行う場合、
1.4バージョンと違い、何かの設定を追加する必要があるでしょうか。
ありましたたら、どころいじればいいでしょうか。
いつも基本的な質問で申し訳ございませんが、よろしくお願いします。

ユーザー kodai の写真

例えば

監視サーバ: A, B
監視対象: Y

があった場合に、AとBに同じ監視設定を行って

A -> Y
B -> Y

と監視することは可能です。ただし、ログ監視などアクティブチェックによるだけはZABBIXエージェントの仕様上単純に2台から監視を行うことはできませんので注意が必要です。

この場合は設定を2カ所に同時に行う手間が発生しますが、導入のコストは低く抑えることができると思います。

ZABBIXプロキシは1.6から新しく追加された機能で、

[ZABBIXサーバ] -> [ZABBIXプロキシ] -> [監視対象サーバ]

という構成で監視を行います。監視対象サーバが遠隔地にあったり、かなり大規模な監視を行う場合に利用することでメリットがありますが、今回ご質問頂いている要件とは外れているかと思います。