ディスカバリ機能のzabbixエージェント

ディスカバリ機能に対して質問がございます。
チェックが「ICMP ping」の場合は、
正常に動作することを確認していますが、
チェックが「Zabbixエージェント」の場合は、
ディスカバリ機能が正常に動作しません。

何か設定が必要なのでしょうか。

チェックを「zabbixエージェント」にして
ホストの自動登録を実施したいと考えております。

★環境
centOS 6
zabbix 2.0.4

よろしくお願いいたします。

コメント表示オプション

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

はじめまして。
Zabbixエージェントによるディスカバリのチェックルール設定はどのようにされているでしょうか?
Zabbixエージェントによるディスカバリを実行する場合には、ZabbixサーバとZabbixエージェント間で通信できる必要があります。

通信が可能かどうかの確認は、zabbix_getコマンドが便利です。
Zabbixサーバからzabbix_getコマンドでディスカバリ対象機器のZabbixエージェントから正しく値が取れるかをご確認ください。

ユーザー yhkoi yhkoi の写真

早速の回答ありがとうございます。
チェックルールの設定は以下のようにしております。

------------------------------------------------
チェックのタイプ zabbixエージェント
ポートの範囲 10050
キー system.uname
------------------------------------------------

キーの設定はsystem.hostnameでも実施してみましたが、
ホストの自動登録はできませんでした。

また、zabbix_get -s192.168.0.20 -p10050 -k"system.uname"という
コマンドを実施して、値が正常に取得できていることは確認しました。

ユーザー ike_dai の写真

zabbix_getで取得できているということですね。
zabbix_getはZabbix Serverが稼働するサーバから実行されましたでしょうか?
それで問題なく取れているのであれば、ディスカバリも実行されると思うのですが・・・

あと実施できる対応としては、Zabbix Serverのログを確認してみて下さい。
zabbix_server.confの設定で
DebugLevel=4
を設定しZabbix Serverを再起動すると、より詳細なログが出力されます。

ディスカバリの実施状況も表示されます。
ディスカバリが成功した場合には以下のようなログが出力されるかと思います。

16530:20130625:092357.549 In get_value_agent() host:'' addr:'192.168.1.42' key:'system.uname'
16530:20130625:092357.549 Sending [system.uname
]
16530:20130625:092357.552 get value from agent result: 'Linux zabbix-server 2.6.18-194.el5 #1 SMP Fri Apr 2 14:58:14
16530:20130625:092357.552 End of discover_service():SUCCEED
16530:20130625:092357.552 query [txnlev:1] [begin;]
16530:20130625:092357.552 In discovery_update_service() ip:'192.168.1.42' port:10050 status:0
16530:20130625:092357.553 In discovery_register_host() ip:'192.168.1.42' status:0 value:'Linux zabbix-server 2.6.1
16530:20130625:092357.553 query [txnlev:1] [select dh.dhostid,dh.status,dh.lastup,dh.lastdown from dhosts dh,dservic
16530:20130625:092357.553 new host discovered at 192.168.1.42

system.unameの値取得を試みて、正常に結果が取得できていることがわかります。
最終的にnew host discoveredが出力されディスカバリに成功していることががわかります。

失敗する場合には以下のようにerrorログが出力されます。

16530:20130625:092357.594 In get_value_agent() host:'' addr:'192.168.1.45' key:'system.uname'
16530:20130625:092357.595 discovery: item [system.uname] error: Get value from agent failed: cannot connect to [[192.168.1.45]:10050]: [111] Connection refused
16530:20130625:092357.595 End of discover_service():FAIL

ここの場合だとZabbix Agentに接続できなかったためディスカバリに失敗しているログです。
他にも原因に応じて出力結果は様々変わるかと思います。

ディスカバリに失敗している場合にはこのようにerrorログが出力されるかと思いますので、
可能であればこのerrorログを教えて下さい。
そのログを見れば対応策がわかるかもしれません。

ユーザー yhkoi yhkoi の写真

ご回答ありがとうございます。
ログを解析して、無事にホストの自動登録ができるようになりました。

大変感謝しております!
ありがとうございました!