[PHP] 対象サーバーのPING確認

Pocket
LINEで送る
GREE にシェア
LinkedIn にシェア

WEBサイトを使ってサーバーの生き死に確認を行うことは、複数のサーバー管理を行う上で必須です。
shellスクリプトを使う場合は「PING」コマンドで確認ができるが、PHPを使った方法をいくつか考えてみた。

javascriptでAJAXを使って定期的にサーバー生存確認を行うことで、サイトでリアルタイムに行うことが可能になる。

fsockopenを使ってPING

$hostで対象サーバーのアドレスを登録しよう。
サーバーが起動している時は「1」、ダウンしている時は「0」が表示される。
この方法では、80番ポートに送信しているので、webサーバーしか確認ができない。

execコマンドを使ってPING

今回は、execを使ってシステムコマンドを使って扱っている。PINGコマンドでオプションを使っているのでLINUX専用だが、精度は悪く無い。
「-W」でタイムアウトを1秒にセットしているが、よほど遠くのサーバーを確認しないかぎり問題ないはずだ。

htmlにセットしてみる

「ping.php」は先述したPHPのどちらかのバージョンを書き込んでおけば、3秒毎に確認を行い、生き死に確認ができるWEBページが作れる。
もっと簡単に行えればいいのだが・・・

Leave a Reply

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です