ホスト作成時 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 - 投稿数: 1341
こんにちは。
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 - 投稿数: 4
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 - 投稿数: 1341
このエラーはZABBIXエージェントを停止したときに出ているログなので、おそらく問題はないと思います。
このログはアクティブチェックのログですね。正常なログなので特に気にする必要はありません。
おそらく、問題なのはZABBIXサーバとZABBIXエージェント間の通信だと思いますので、そこを調査しないと原因は分からないと思います。
ZABBIXサーバから監視対象ホストの10050番ポートに対して通信は行えるでしょうか?監視対象ホストでiptablesなどファイアーウォールは動作していないでしょうか?そのあたりが確認のポイントだと思います。
KAZ - 投稿数: 1085
zabinoviさん
「xxx.xxx.xxx.198:10051」がサーバのアドレスですか?
サーバ建て直したのでしょうか?
agent.confの「Server」は「xxx.xxx.xxx.198」に直されましたか?
zabinovi - 投稿数: 4
お世話になっております。
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 - 投稿数: 1341
ええっと、そういうことではなくて、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 - 投稿数: 4
お世話になっております。問題が解決したためご報告させて頂きます。
エージェントインストール先のサーバにて
iptables側ではdportを10050でINPUT、OUTPUT出来るよう許可していたのですが、iptablesの動作を停止した際に監視が行えるようになったため、
INPUTに -p tcp --sport 10050 -j ACCEPT
OUTPUTに -p tcp --sport 10051 -j ACCEPT
と許可した所正常に動作するようなりました。
丁寧なご対応ありがとうございました。