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 - 投稿数: 4720
Firewallの設定をご確認下さい。
iptablesなどを利用してネットワークのアクセス制限を行っていませんか?
具体的には、表示されたそのIPアドレスXXX.XXX.XXX.XXXのポート番号10051へのアクセスを許可していますか?
Tanya - 投稿数: 26
ご助けありがとうございます。
ZabbixサーバーでFireWallの設定をチェックして、
下記のとおりです。
#service iptables status
ファイアウォールは停止
他のSecurity制限のチェックがございませんでしょうか?
よろしくお願いします。
kodai - 投稿数: 1341
WebインターフェースのスクリプトはいちどZabbixサーバに渡されて実行されるので、
/etc/zabbix/zabbix.conf.php (ソースからインストールした場合はconf/zabbix.conf.php)の$ZBX_SERVERと$ZBX_SERVER_PORTが正しく設定されていないとエラーになると思います。
まずは上記の設定を確認されてみてはどうでしょうか。
Tanya - 投稿数: 26
/etc/zabbix/zabbix.conf.phpに、
$ZBX_SERVERと$ZBX_SERVER_PORTの設定を確認しました。
$ZBX_SERVER=zabbixサーバーのIPアドレス
$ZBX_SERVER_PORT=10051
たぶん問題がないでしょうか。
Webインターフェースのスクリプトで、socket-connectを立つ時に、ほかのポートをつかえますでしょうか?
よろしくお願いいたします。
TNK - 投稿数: 4720
他のポートを使う前に、現在、zabbix_serverがポート番号10051でLISTENしているか確認してみて頂けませんか?
例えば、以下のように実行して確認します。
<code>
# netstat -na|grep 10051
tcp 0 0 :::10051 :::* LISTEN
#
</code>
特定のIPアドレスでLISTEN状態になっているのであれば、そのIPアドレスと/etc/zabbix/zabbix.conf.php内の値と合致しているかご確認下さい。
Tanya - 投稿数: 26
ご回答本当にありがとうございます。
原因がわかりました、設定を変更して、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: