【问题标题】:Web monitoring - check url网络监控 - 检查 url
【发布时间】:2013-09-13 09:18:39
【问题描述】:

我需要脚本从 cron 运行并监控我的站点。需要的功能是在出现一些错误(超时、服务不可用、未找到......)时向我发送电子邮件。所以我想分享我的解决方案;)

【问题讨论】:

    标签: php curl cron monitoring


    【解决方案1】:

    我宁愿使用一些托管服务,例如Pingdom。但是,如果您真的想在内部使用它,请查看 ZabbixNagios

    【讨论】:

    • 是的,我知道 pingdom、zabbix 和 nagios。但这对某些人也很有用。
    【解决方案2】:

    更新

    我更新脚本,现在你可以设置:

    • 发送警告的电子邮件数组(我推荐短信电子邮件免费短信警告)
    • 警告发件人的电子邮件
    • 有效的 http 状态代码数组
    • 最小文件大小(更新版本也检查文件大小)

    你可以在这里找到工作代码 - http://pastebin.com/Cf9GyVJB

    <?php
    function checkURL($url) {
    
    //array of emails to send warning
    $adminEmails=array("admin1@t-zones.sk","admin2@vodafonemail.cz");
    //email of sender
    $senderEmail="monitoring@domain.tld";
    //array of valid http codes
    $validStatus=array(200,301,302);
    //minimum filesize in bytes
    $minFileSize=500;
    
    if(!function_exists('curl_init')) die("Curl PHP package not installed!");
    
    $ch=curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HEADER, true);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $response=curl_exec($ch);
    $info=curl_getinfo($ch);
    $statusCode=intval($info['http_code']);
    $filesize=$info['size_download'];
    
    if(!in_array($statusCode,$validStatus) || $filesize<$minFileSize) {
        $message = "Web ERROR ($url) - Status Code: $statusCode, Filesize: $filesize\r\n";
        foreach($adminEmails as $email) {
            mail($email, "Web Monitoring ERROR", $message, "From: $senderEmail\r\nReply-To: $senderEmail\r\nMIME-Version: 1.0\r\nContent-Type: text/plain; charset=UTF-8\r\n");
        }
    }
    }
    
    checkURL("http://google.com/");
    ?>
    

    【讨论】:

    • 如果监控每小时运行一次就可以了。您需要有一个标志(文件),当网站关闭时不会发送数千封电子邮件
    【解决方案3】:

    看看 sparrow - http://blogs.perl.org/users/melezhik/2015/11/easy-nginx-monitoring-with-sparrow.html,这是一个 perl web 测试,监控框架可以很容易地用于任何类型的 web 应用程序。 Sparrow 使用所谓的 sparrow 插件 - 可重复使用的测试套件,有一些已经编写好了,但您可以轻松创建自己的。完整的文档可以在这里找到 - https://github.com/melezhik/sparrow

    麻雀的作者。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多