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]
[/code]