RED MONITOR

お問い合わせ・資料請求

ヘルプ / KEYVALUEプラグイン / 放置ファイル監視

放置ファイル監視プラグインは、指定したディレクトリ以下の全てのファイルと指定したファイルを調べて、一定期間放置されていることを検知するスクリプトです。

設定手順

設定手順は、次のとおりです。

1. 監視するディレクトリ、ファイルを指定

監視するディレクトリを指定します。$dirPathArrayの行(16行目付近)から、各業毎にディレクトリを指定して下さい。

2. warning, criticalを表示する時間の設定

warningを表示する時間(秒)を$warningDateUxtに、criticalを表示する時間(秒)を$criticalDateUxtに設定します。 Redmonitorがチェックした時点において、ここで設定した時間が経過しているファイルが存在する場合、Redmonitorは警告します。 デフォルトではwarningが120日、criticalが180日となっています。

3. warning, criticalを表示するファイルサイズの設定

Redmonitorがチェックした時点において、ここで設定した時間が経過している場合、Redmonitorは警告します。 デフォルトではwarningが120日、criticalが180日となっています。 warningを表示するファイルサイズを$warningFileSizeに、criticalを表示するファイルサイズを$criticalFileSizeに設定します。 Redmonitorがチェックした時点において、ここで設定した時間が経過しているファイルが存在する場合、Redmonitorは警告します。 デフォルトでは500KB、criticalが800KBとなっています。

4. プラグインの設置

プラグインファイルを、RED MONITORからインターネット経由でアクセス出来る任意のURLに設置して下さい。

5. RED MONITORの設定

サービスの管理画面から

  • 「監視するURL」欄に上記のURLを指定します。
  • 「status監視」欄に"filedate"、"filesize"を各行に指定します

プラグインダウンロード

プラグイン内容は、次のとおりです。
放置ファイル監視プラグインの圧縮ファイル(.zip形式)
下記のソースコードをダブルクリックすると、全てが選択され、右クリックでコピーできる状態になります。
 <?php
header("Content-type: text/plain");
echo date('Y/m/d H:i:s'), PHP_EOL;

$warningTime  = 60 * 60 * 24 * 120;
$criticalTime = 60 * 60 * 24 * 180;

$warningFileSize  = 1024 * 500;
$criticalFileSize = 1024 * 800;

$nowUxt = time();
$warningDateUxt  = $nowUxt - $warningTime;
$criticalDateUxt = $nowUxt - $criticalTime;

$dirPathArray = array(
    '/var/www/html/sample1/',
    '/var/www/html/munin/',
);

$OK = 0;
$WARNING = 1;
$CRITICAL = 2;

$timeState = $OK;
$sizeState = $OK;

$cmd = "find" ;
foreach($dirPathArray as $path){
    $cmd .= " $path";
}
exec($cmd, $out, $retcode);
foreach($out as $path){
    if(is_file($path)){

        $fUxt  = filemtime("$path");
        if($criticalDateUxt > $fUxt){
            $timeState = $CRITICAL;
        }elseif($warningDateUxt > $fUxt){
            $timeState = $WARNING;
        }
    
        $fSize = filesize("$path");
        if($criticalFileSize < $fSize){
            $sizeState = $OK;
        }elseif($warningFileSize < $fSize){
            $sizeState = $WARNING;
        }
    }
}

if ($timeState === $OK){
    echo "filedate,ok\n";
}elseif($timeState === $WARNING){
    echo "filedate,warning\n";
}else{
    echo "filedate,critical\n";
}

if ($sizeState === $OK){
    echo "filesize,ok\n";
}elseif($timeState === $WARNING){
    echo "filesize,warning\n";
}else{
    echo "filesize,critical\n";
}
        
TOPへもどる
製品・サービスに関するご相談・お見積り・お問い合わせはこちらから。
お問い合わせ・資料請求
03-5510-3315

月曜日〜金曜日 9:00〜18:00
(土日・祝日・弊社定休日を除く)