WebでホストをPing時にsocket-connectが発生

インストール後で、監視ホストとアイテムを追加して、agent.pingでもicmpPingでもPING監視を行う時に、正常に監視できたけれども、Webインタフェースで[監視データ]→[マップ]を選択し、マップの中にあるホストをクリックし、ツールのPingをクリックしてから、以下のエラーが発生しました。

socket_connect() [<a href='function.socket-connect'>function.socket-connect</a>]: unable to connect [111]: Connection refused[/usr/share/zabbix/include/scripts.inc.php:71]
Use of undefined constant socket_last_error - assumed 'socket_last_error'[/usr/share/zabbix/include/scripts.inc.php:94]
socket_strerror() expects parameter 1 to be long, string given[/usr/share/zabbix/include/scripts.inc.php:94]
ZABBIXサーバに接続できません [XXX.XXX.XXX.XXX:10051] []

Zabbixサーバの環境については、SELinux=Disableにしました。

どなたか、設定についてアドバイスをいただけないでしょうか。
よろしくお願いいたします。

コメント表示オプション

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

Firewallの設定をご確認下さい。
iptablesなどを利用してネットワークのアクセス制限を行っていませんか?

具体的には、表示されたそのIPアドレスXXX.XXX.XXX.XXXのポート番号10051へのアクセスを許可していますか?

ユーザー Tanya の写真

ご助けありがとうございます。

ZabbixサーバーでFireWallの設定をチェックして、
下記のとおりです。

#service iptables status
ファイアウォールは停止

他のSecurity制限のチェックがございませんでしょうか?
よろしくお願いします。

ユーザー kodai の写真

WebインターフェースのスクリプトはいちどZabbixサーバに渡されて実行されるので、

/etc/zabbix/zabbix.conf.php (ソースからインストールした場合はconf/zabbix.conf.php)の$ZBX_SERVERと$ZBX_SERVER_PORTが正しく設定されていないとエラーになると思います。

まずは上記の設定を確認されてみてはどうでしょうか。

ユーザー Tanya の写真

/etc/zabbix/zabbix.conf.phpに、
$ZBX_SERVERと$ZBX_SERVER_PORTの設定を確認しました。

$ZBX_SERVER=zabbixサーバーのIPアドレス
$ZBX_SERVER_PORT=10051

たぶん問題がないでしょうか。

Webインターフェースのスクリプトで、socket-connectを立つ時に、ほかのポートをつかえますでしょうか?

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

ユーザー TNK の写真

他のポートを使う前に、現在、zabbix_serverがポート番号10051でLISTENしているか確認してみて頂けませんか?
例えば、以下のように実行して確認します。
<code>
# netstat -na|grep 10051
tcp 0 0 :::10051 :::* LISTEN
#
</code>

特定のIPアドレスでLISTEN状態になっているのであれば、そのIPアドレスと/etc/zabbix/zabbix.conf.php内の値と合致しているかご確認下さい。

ユーザー Tanya の写真

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

原因がわかりました、設定を変更して、webでホストをPingできました。

▲原因
#netstat -na|grep 10051
tcp 0 0 127.0.0.1:10051 0.0.0.0:* LISTEN

でも、zabbix.conf.php内の$ZBX_SERVERの値は、loIP(127.0.0.1)ではなくて、[サーバーのIPアドレス]でした。

▲解決方法
zabbix_server.confにLinstenIPも[サーバーのIPアドレス]に設定します。
:lol: