PHP實現伺服器狀態監控的方法,php實現伺服器監控_PHP教程

來源:互聯網
上載者:User

PHP實現伺服器狀態監控的方法,php實現伺服器監控


本文執行個體講述了PHP實現伺服器狀態監控的方法。分享給大家供大家參考。具體分析如下:

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任務或者使用什麼監控寶之類的!
完整代碼如下:
複製代碼 代碼如下:<?php
/*
* 伺服器狀態監控
*/
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');//設定時區東八區
$mail = new PHPMailer(); //new一個PHPMailer對象出來
// $body = eregi_replace("[]",'',$body); //對郵件內容進行必要的過濾
$mail->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'
);
?>




伺服器狀態監控




伺服器線上狀態監控

























<?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 " "; } else { echo " "; $subject = "您的伺服器 {$server_ip_list[$key]} 無法訪問!"; $body = "您的伺服器{$server_ip_list[$key]} 無法訪問,此郵件根據你設定的監控頻率發送,當伺服器恢複正常郵件自動停止發送!"; sendmail($subject,$body); } } ?>
ID Location Address Status
{$i} {$result->country}{$result->region}{$result->city} {$server_ip_list[$key]} 線上
{$i} {$result->country}{$result->region}{$result->city} {$server_ip_list[$key]} 不線上





注意:
include './smtp/class.smtp.php';
include './smtp/class.phpmailer.php';
檔案可以下載phpmailer包然後我們在包裡面這兩個檔案複製出來然後即可使用了。

ps:這個只是一個非常的簡單的不能很好的監控到伺服器了,現在有很多成熟的免費產品都可以更好的達到我們要求,如dnspod裡面有一個D監控了,然後我們就可以操作。

希望本文所述對大家的PHP程式設計有所協助。

http://www.bkjia.com/PHPjc/924537.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/924537.htmlTechArticlePHP實現伺服器狀態監控的方法,php實現伺服器監控 本文執行個體講述了PHP實現伺服器狀態監控的方法。分享給大家供大家參考。具體分析如下:...

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.