2008年11月11日
PHPスクリプト1つでできる簡単サーバ監視
こんばんは、牧野です。最近急に寒くなったせいか、風邪を引きかけています。。。アシアル社内はつい最近までTシャツ一枚で過ごせるくらい暑かったのですが、この前の金曜日から急に寒くなりました。皆さんも風邪には十分お気をつけ下さい。
さて、今 日はサーバ監視のTIPSです。以前紹介したcactiや、nagiosのようなソフトを使わなくても、php(とunixコマンド)だけで簡単に監視プログラムを作ることができます。(ただしunixサーバ限定です。)
今回は、監視対象サーバへのping、ウェブページへのアクセス、スクリプト設置サーバのハードディスク、メモリの使用量をチェックすることにします。プログラムは次のような感じです。
check_server.php
<?php
$SERVER_IP = 'xxx.xxx.xxx.xxx';
$URL = 'http://www.asial.co.jp';
$MAIL_TO = 'hogehoge@fugafuga';
$MAIL_FROM = 'systeminfo@fugafuga';
//pingチェック
$ping_command_str = "ping -c 3 -w 5 $SERVER_IP";
if (!strstr(`$ping_command_str`, '100% packet loss')) {
$result = "$SERVER_IP ping ok\n";
} else {
$result = "$SERVER_IP ping ng\n";
}
//webアクセスチェック
if ($res = file_get_contents($URL)) {
$result .= "{$URL} access ok\n";
} else {
$result .=