File: //var/www/html/uptimerobot.php
<?php
$loadavg_treshold = array(5,3,3);
$mailq_treshold = 50;
$df_treshold = 500 * 1024 * 1024;
$loadavg = sys_getloadavg();
$arrContextOptions=array("ssl"=>array("verify_peer"=>false,"verify_peer_name"=>false));
$mailq = file_get_contents("https://127.0.0.1:9443/mailq.php", false, stream_context_create($arrContextOptions));
$df = array ("/" => disk_free_space("/"),
"/home" => disk_free_space("/home"),
"/var/lib/mysql" => disk_free_space("/var/lib/mysql"),
"/var/log" => disk_free_space("/var/log"),
"/var/local/hostingplatform/snapshots" => disk_free_space("/var/local/hostingplatform/snapshots"));
$disksize = array("/" => disk_total_space("/"),
"/home" => disk_total_space("/home"),
"/var/lib/mysql" => disk_total_space("/var/lib/mysql"),
"/var/log" => disk_total_space("/var/log"),
"/var/local/hostingplatform/snapshots" => disk_total_space("/var/local/hostingplatform/snapshots"));
$return = array("status" => "OK");
# Load average #
$return["load"] = $loadavg;
for($i = 0; $i < count($loadavg); $i++) {
if($loadavg[$i] > $loadavg_treshold[$i]) {
$return["status"] = "PROBLEM";
}
}
# MailQ #
$return["mailq"] = $mailq;
if($mailq > $mailq_treshold) {
$return["status"] = "PROBLEM";
}
# DF #
$return["df"] = $df;
foreach($df as $filesystem => $free_space) {
if($free_space < $df_treshold) {
$return["status"] = "PROBLEM";
}
}
# DISKSIZE #
$return["disksize"] = $disksize;
header('Content-Type: application/json');
print json_encode($return);
?>