ホスト作成時 No route to host とエラーが出て監視が行えない

お初にお目にかかります。
先日、運用を行っているLinuxServerにZabbix-Agentをインストールし、Zabbix-Serverよりホストの作成を行ったところ
Cannot connect to [192.168.xxx.xxx:10050] [No route to host]
上記のようなエラーが表示され正常に監視が行われませんでした。

導入したServerのOSはCentOSの5.4
Zabbix-serverのVersionは1.4.6、Agentは1.4.6-1になります。
両Serverは同一のセグメント内にあり、Ping等の疎通確認は正常に行われております。
agent.confの設定は

Server=xxx.xxx.xxx.100
Hostname=xxxxxxxx
ListenIP=xxx.xxx.xxx.101
ListenPort=10050
ServerPort=10051

上記を追加し、ホスト側の設定ではxxx.xxx.xxx.101に対してIPアドレスで接続を指定しております。

お知恵を拝借することができませんでしょうか?
アドバイスいただきたく存じます。

コメント表示オプション

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

こんにちは。

ZABBIXサーバをインストールしているサーバから、以下のコマンドを実行するとどうなるでしょうか?

<code>$ telnet xxx.xxx.xxx.101 10050</code>
コマンドを実行して以下のような出力が出れば、ネットワーク的な問題やzabbix_agentd.confの設定は問題ないと思います。

<code>Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.</code>
上記の出力が出ないようであれば、zabbix_agentd.confの設定やネットワーク的な問題(iptablesなどのファイアーウォールが動作していないかどうかなど)を確認してみてください。

ユーザー zabinovi の写真

Kodaiさんご返信ありがとうございます。

ZabbixServer上よりnetstatを用いて確認した所、

<code>tcp 0 0 xxx.xxx.xx.101:zabbix-agent *:* LISTEN</code>
上記のように表示され開放されてるよう見受けられる為、zabbix_agentdのログを確認ししました。

19660:20091028:185928 ZABBIX Agent stopped
19917:20091028:192702 zabbix_agentd started. ZABBIX 1.4.6.
19918:20091028:192702 zabbix_agentd collector started
19920:20091028:192702 zabbix_agentd listener started
19921:20091028:192702 zabbix_agentd listener started
19922:20091028:192702 zabbix_agentd listener started
19923:20091028:192702 zabbix_agentd active check started [xxx.xxx.xxx.198:10051] ←ZabbixServerのIPです
19917:20091028:194403 One child process died. Exiting ...
19917:20091028:194405 ZABBIX Agent stopped
20063:20091028:194407 zabbix_agentd started. ZABBIX 1.4.6.
20065:20091028:194407 zabbix_agentd collector started
20066:20091028:194407 zabbix_agentd listener started
20067:20091028:194407 zabbix_agentd listener started
20068:20091028:194407 zabbix_agentd listener started
20069:20091028:194407 zabbix_agentd active check started [xxx.xxx.xxx.198:10051] ←ZabbixServerのIPです

とエラーが繰り返されていました。

ZABBIX-agentの再インストールを行おうと思い、
一度アンインストールを行いソースから再インストール→NG
RPMから再インストール→NG
どちらもVersion1.4.6で行ったのですが良い結果を得られませんでした。
[One child process died. Exiting] 左記のエラーについて何卒、アドバイス等頂けませんでしょうか?

ユーザー kodai の写真

19917:20091028:194403 One child process died. Exiting ...

このエラーはZABBIXエージェントを停止したときに出ているログなので、おそらく問題はないと思います。

20069:20091028:194407 zabbix_agentd active check started [xxx.xxx.xxx.198:10051] ←ZabbixServerのIPです

このログはアクティブチェックのログですね。正常なログなので特に気にする必要はありません。

おそらく、問題なのはZABBIXサーバとZABBIXエージェント間の通信だと思いますので、そこを調査しないと原因は分からないと思います。

ZABBIXサーバから監視対象ホストの10050番ポートに対して通信は行えるでしょうか?監視対象ホストでiptablesなどファイアーウォールは動作していないでしょうか?そのあたりが確認のポイントだと思います。

ユーザー KAZ の写真

zabinoviさん

19923:20091028:192702 zabbix_agentd active check started [xxx.xxx.xxx.198:10051] ←ZabbixServerのIPです

「xxx.xxx.xxx.198:10051」がサーバのアドレスですか?
サーバ建て直したのでしょうか?

agent.confの設定は

Server=xxx.xxx.xxx.100
Hostname=xxxxxxxx
ListenIP=xxx.xxx.xxx.101
ListenPort=10050
ServerPort=10051

agent.confの「Server」は「xxx.xxx.xxx.198」に直されましたか?

ユーザー zabinovi の写真

お世話になっております。
KodaiさんKAZさんご回答ありがとうございます。
返答遅くなりまして大変申し訳ございません。

<code>telnet xxx.xxx.xxx.101 10500</code>
上記をZABBIXサーバがインストールされているxxx.xxx.xxx.198上から行うと
<code>Trying xxx.xxx.xxx.101...
telnet: connect to address xxx.xxx.xxx.101: No route to host
telnet: Unable to connect to remote host: No route to host
</code>
と表示されます。
telnetは接続出来ないよう設定しております。

KAZさん
<code>
# List of comma delimited IP addresses (or hostnames) of ZABBIX servers.
# No spaces allowed. First entry is used for sending active checks.
# Note that hostnames must resolve hostname->IP address and
# IP address->hostname.

Server=xxx.xxx.xxx.198

# Server port for sending active checks

ServerPort=10051

# Unique hostname. Required for active checks.

Hostname=xxxxxxxxxx

# Listen port. Default is 10050

ListenPort=10050

# IP address to bind agent
# If missing, bind to all available IPs

ListenIP=xxx.xxx.xxx.101
</code>
zabbix_agentd.confの設定でいじった部分は上記のとおりです。
<code>Server=xxx.xxx.xxx.100</code>は誤表記です、正確ではない情報の提示をしてしまい申し訳ございませんでした。

telnetが繋がらないとZABBIX-agentの情報を得ることはできないのでしょうか?

ユーザー kodai の写真

telnetは接続出来ないよう設定しております。

ええっと、そういうことではなくて、ZABBIXサーバからZABBIXエージェントをインストールしたサーバの10050番ポートに通信が通るか、ということを確認してみてください。

telnetコマンドの引数にIPアドレス、ポートを指定することで、特定ポートへのTCP接続を確認することができます。

<code> telnet xxx.xxx.xxx.101 10050</code>

ZABBIXサーバからZABBIXエージェントをインストールしているサーバの10050番ポートと通信ができなければ、ZABBIXの設定以前にネットワーク的に接続できていないので、監視は正常に行えません。

ZABBIX自体はtelnetログインができなくても監視は行えます。

監視対象のサーバ上でiptablesは動作していないでしょうか?service iptables stopとすると監視が行えたりしないでしょうか?

ユーザー zabinovi の写真

お世話になっております。問題が解決したためご報告させて頂きます。

エージェントインストール先のサーバにて
iptables側ではdportを10050でINPUT、OUTPUT出来るよう許可していたのですが、iptablesの動作を停止した際に監視が行えるようになったため、
INPUTに -p tcp --sport 10050 -j ACCEPT 
OUTPUTに -p tcp --sport 10051 -j ACCEPT
と許可した所正常に動作するようなりました。

丁寧なご対応ありがとうございました。