欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP實(shí)現(xiàn)服務(wù)器狀態(tài)監(jiān)控的方法

 更新時(shí)間:2014年12月09日 16:05:32   投稿:shichen2014  
這篇文章主要介紹了PHP實(shí)現(xiàn)服務(wù)器狀態(tài)監(jiān)控的方法,可實(shí)現(xiàn)對(duì)指定IP服務(wù)器狀態(tài)的有效監(jiān)控,非常具有實(shí)用價(jià)值,需要的朋友可以參考下

本文實(shí)例講述了PHP實(shí)現(xiàn)服務(wù)器狀態(tài)監(jiān)控的方法。分享給大家供大家參考。具體分析如下:

PHP服務(wù)器狀態(tài)監(jiān)控對(duì)于很多朋友來(lái)講都沒(méi)做,只有看到網(wǎng)站掛了才知道,這種半夜網(wǎng)站關(guān)了是不知道情況了,對(duì)于網(wǎng)站也非常不好,為此這兩天抽空寫(xiě)了個(gè)網(wǎng)頁(yè)服務(wù)器狀態(tài)監(jiān)控,看到有朋友說(shuō)需要,那我就放出來(lái)吧。很簡(jiǎn)單的東西。

使用方法:

打開(kāi)壓縮包里面的status.php文件。編輯這里的內(nèi)容為你自己的郵箱信息。代碼如下:

復(fù)制代碼 代碼如下:
$mail->Host       = 'smtp.exmail.qq.com';      // SMTP 服務(wù)器
$mail->Port       = 25;   // SMTP服務(wù)器的端口號(hào)
$mail->Username   = 'admin@xxx.com';  // SMTP服務(wù)器用戶名
$mail->Password   = 'password';            // SMTP服務(wù)器密碼
$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';   //接收郵箱
//更改這里的內(nèi)容為你要監(jiān)控的IP:
$server_ip_list = array(
'61.135.169.121',
'221.204.173.200',
'173.194.127.83'
);

然后訪問(wèn)你http://yourdomain.com/status.php文件,即可看到當(dāng)前服務(wù)器狀態(tài)并且自動(dòng)發(fā)送郵件到你設(shè)置的郵箱。如果需要自動(dòng)監(jiān)控,請(qǐng)?zhí)砑覥ron任務(wù)或者使用什么監(jiān)控寶之類的!
完整代碼如下:
復(fù)制代碼 代碼如下:
<?php
/*
 * 服務(wù)器狀態(tài)監(jiān)控
 */
header('Content-type:text/html;charset=utf-8');
include './smtp/class.smtp.php';
include './smtp/class.phpmailer.php';
function sendmail($subject = '',$body = '') {
    date_default_timezone_set('Asia/Shanghai');//設(shè)定時(shí)區(qū)東八區(qū)
    $mail             = new PHPMailer(); //new一個(gè)PHPMailer對(duì)象出來(lái)
    // $body            = eregi_replace("[]",'',$body); //對(duì)郵件內(nèi)容進(jìn)行必要的過(guò)濾
    $mail->CharSet ="UTF-8";//設(shè)定郵件編碼,默認(rèn)ISO-8859-1,如果發(fā)中文此項(xiàng)必須設(shè)置,否則亂碼
    $mail->IsSMTP(); // 設(shè)定使用SMTP服務(wù)
    $mail->SMTPAuth   = true;                  // 啟用 SMTP 驗(yàn)證功能
    $mail->Host       = 'smtp.exmail.qq.com';      // SMTP 服務(wù)器
    $mail->Port       = 25;   // SMTP服務(wù)器的端口號(hào)
    $mail->Username   = 'admin@xxx.com';  // SMTP服務(wù)器用戶名
    $mail->Password   = 'password';            // SMTP服務(wù)器密碼
    $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!恭喜,郵件發(fā)送成功!";
    }
}
//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'
      );
?>
<!doctype html>
<html lang="zh_CN">
<head>
 <meta charset="UTF-8">
 <title>服務(wù)器狀態(tài)監(jiān)控</title>
 <style>
 * {
  margin: 0px;
  padding: 0px;
 }
 body {
  font-family: "Microsoft yahei",Arial;
  font-size:14px;
 }
 header {
  height: 40px;
  background-color: #2e2e2e;
  width: 100%;
  line-height: 35px;
 }
 header > h3 {
  color: #fff;
  margin-left: 20px;
 }
 footer {
  text-align: center;
 }
 a {
  color: #424242;
  text-decoration: none;
 }
 .wrap {
  height: auto;
  zoom:1;
  overflow: auto;
  max-width: 500px;
  width: 100%;
  margin: 50px auto;
 }
 .table {
  border-collapse: collapse;
  border: 1px solid #eee;
  width: 100%;
 }
 tr,td{
  color: #424242;
  border-collapse: collapse;
  border: 1px solid #F0F0F0;
  height: 30px;
  text-align: center;
 }
 tr:nth-child(2n+1) {
  background-color: #F7F8FC;
 }
 tr:hover {
  background-color: #F7F8FC;
 }
 .online,.offline {
  height: 20px;
  background-color: #2ECC71;
  width: 40px;
  margin: 0px auto;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  color: #fff;
 }
 .offline {
  width: 50px;
  background-color: #E74C3C;
 }
 </style>
</head>
<body>
 <header>
  <h3>服務(wù)器在線狀態(tài)監(jiān)控</h3>
 </header>
 <div class="wrap">
  <table class="table">
   <tbody>
    <tr><td>ID</td><td>Location</td><td>Address</td><td>Status</td></tr>
    <?php
     $i = 0;
     foreach ($server_ip_list as $key => $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 "<tr><td>{$i}</td><td>{$result->country}{$result->region}{$result->city}</td><td>{$server_ip_list[$key]}</td><td><div class="online">在線</div></td></tr>";
      } else {
       echo "<tr><td>{$i}</td><td>{$result->country}{$result->region}{$result->city}</td><td>{$server_ip_list[$key]}</td><td><div class="offline">不在線</div></td></tr>";
       $subject = "您的服務(wù)器 {$server_ip_list[$key]} 無(wú)法訪問(wèn)!";
       $body = "您的服務(wù)器{$server_ip_list[$key]} 無(wú)法訪問(wèn),此郵件根據(jù)你設(shè)置的監(jiān)控頻率發(fā)送,當(dāng)服務(wù)器恢復(fù)正常郵件自動(dòng)停止發(fā)送!";
       sendmail($subject,$body);
      }
     }
     ?>
   </tbody>
  </table>
 </div>
 
</body>
</html>

注意:
include './smtp/class.smtp.php';
include './smtp/class.phpmailer.php';
文件可以下載phpmailer包然后我們?cè)诎锩孢@兩個(gè)文件復(fù)制出來(lái)然后即可使用了。

ps:這個(gè)只是一個(gè)非常的簡(jiǎn)單的不能很好的監(jiān)控到服務(wù)器了,現(xiàn)在有很多成熟的免費(fèi)產(chǎn)品都可以更好的達(dá)到我們要求,如dnspod里面有一個(gè)D監(jiān)控了,然后我們就可以操作。

希望本文所述對(duì)大家的PHP程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論