利用PHP怎么对服务器的状态进行监控
创始人
2024-12-12 19:41:52
0次

PHP服务器状态监控对于很多朋友来讲都没做,只有看到网站挂了才知道,这种半夜网站关了是不知道情况了,对于网站也非常不好,为此这两天抽空写了个网页服务器状态监控,看到有朋友说需要,那我就放出来吧。很简单的东西。

使用方法:

打开压缩包里面的status.php文件。编辑这里的内容为你自己的邮箱信息。代码如下:

$mail->Host       = 'smtp.exmail.qq.com';      // SMTP 服务器
$mail->Port       = 25;   // SMTP服务器的端口号
$mail->Username   = 'admin@xxx.com';  // SMTP服务器用户名
$mail->Password   = 'password';            // SMTP服务器密码
$mail->SetFrom('admin@xxx.com','Status');
$mail->AddReplyTo('admin@xxx.com','Status');
$mail->Subject    = $subject;
$mail->AltBody    = 'To view the message, please use an HTML compatible email viewer!'; // optional, comment out and test
$mail->MsgHTML($body);
$address = 'admin@admin.com';   //接收邮箱
//更改这里的内容为你要监控的IP:
$server_ip_list = array(
'61.135.169.121',
'221.204.173.200',
'173.194.127.83'
);


然后访问你http://yourdomain.com/status.php文件,即可看到当前服务器状态并且自动发送邮件到你设置的邮箱。如果需要自动监控,请添加Cron任务或者使用什么监控宝之类的!
完整代码如下:

CharSet ="UTF-8";//设定邮件编码,默认ISO-8859-1,如果发中文此项必须设置,否则乱码
    $mail->IsSMTP(); // 设定使用SMTP服务
    $mail->SMTPAuth   = true;                  // 启用 SMTP 验证功能
    $mail->Host       = 'smtp.exmail.qq.com';      // SMTP 服务器
    $mail->Port       = 25;   // SMTP服务器的端口号
    $mail->Username   = 'admin@xxx.com';  // SMTP服务器用户名
    $mail->Password   = 'password';            // SMTP服务器密码
    $mail->SetFrom('admin@xxx.com','Status');
    $mail->AddReplyTo('admin@xxx.com','Status');
    $mail->Subject    = $subject;
    $mail->AltBody    = 'To view the message, please use an HTML compatible email viewer!'; // optional, comment out and test
    $mail->MsgHTML($body);
    $address = 'admin@admin.com'; //接收邮箱
    $mail->AddAddress($address, '');
    //$mail->AddAttachment("images/phpmailer.gif");      // attachment  附件
    //$mail->AddAttachment("images/phpmailer_mini.gif"); // attachment
    if(!$mail->Send()) {
        echo 'Mailer Error: ' . $mail->ErrorInfo;
    } else {
         // echo "Message sent!恭喜,邮件发送成功!";
    }
}
//check server status
function checkServerSatatus($ip) {
 $str = null;
 $fp = @fsockopen($ip,80,$errno,$errstr,10);
 if (!$fp) {
  return false;
 } else {
  fclose($fp);
  return true;
 }
}
$server_ip_list = array(
       '61.135.169.121',
       '221.204.173.200',
       '173.194.127.83'
      );
?>



 
 服务器状态监控
 


 
  

服务器在线状态监控

 
             IDLocationAddressStatus      $val) {       $api = file_get_contents('http://ip.taobao.com/service/getIpInfo.php?ip='.$server_ip_list[$key].'');       $json = json_decode($api);       $result = $json->data;       $i++;       if (checkServerSatatus($server_ip_list[$key])) {        echo "{$i}{$result->country}{$result->region}{$result->city}{$server_ip_list[$key]}在线
";       } else {        echo "{$i}{$result->country}{$result->region}{$result->city}{$server_ip_list[$key]}不在线
";        $subject = "您的服务器 {$server_ip_list[$key]} 无法访问!";        $body = "您的服务器{$server_ip_list[$key]} 无法访问,此邮件根据你设置的监控频率发送,当服务器恢复正常邮件自动停止发送!";        sendmail($subject,$body);       }      }      ?>         
 


注意:
include './smtp/class.smtp.php';
include './smtp/class.phpmailer.php';
文件可以下载phpmailer包然后我们在包里面这两个文件复制出来然后即可使用了。

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...