hero_picture

PHPから簡単なサーバー死活監視を行う

2012/12/01

PHPから簡単なサーバー死活監視を行う

結構特殊なポートなどを簡易チェックしたい時に。

がっつりとしたチェックじゃなくていいけど

ちょっとだけ死活監視したいなーなんて時、

PHPのfsockopen関数を使うと便利です。

portcheck.php

[code]

<?php

//const

$server = “seeds-std.co.jp”;

$port = “80”;

$MAIL_TO = “error@example.com“;

$MAIL_FROM = “check@example.com“;

//const end

//check

$socket = @fsockopen($server, $port, $errno, $errstr, 5);

if ($socket === FALSE) {

$mail_header = “From: $MAIL_FROM”;

mail($MAIL_TO, ‘server error’, $errstr, $mail_header);

}else{

exit;

}

//check end

exit;

?>

[/code]

上記のconst部分のサーバーやポート番号を変更したらすかっと使えます。

1$serverドメインやIPなど
2$port 監視するポート
3$MAIL_TO 失敗時のメール送信先
4$MAIL_FROM 失敗時のメールの送信元メールアドレス。
5

mail関数を使ってるのでsendmailコマンドが使えない場合はメール送信できないので注意して下さい。

cronで回す

cronで回すときはphpのパスに注意しましょう。

だいたいは /usr/local/bin/php か /usr/bin/php のどちらかです。

30分ごとに監視するなら以下のような感じで。

[code]

  • /30 * * * * root /usr/local/bin/php /path/to/portcheck.php

[/code]