注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

曾国藩的博客

 
 
 

日志

 
 

一个基于新浪SAE的网站短信、邮件报警系统  

2015-08-25 16:55:03|  分类: 脚本/跳板/效率/ |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
http://mawenjian.net/p/393.html

我寒假期间写了一个基于新浪SAE的网站短信报警应用,今天和大家分享一下。

这个应用的原理很简单,就是每间隔一段时间,抓取监控网站上的内容并进行分析,一旦抓取出现错误,则判定为网站出现错误。如果错误次数超过设定值,该应用就调用短信和邮件发送API,向指定的手机和电子邮箱发送报警信息。待网站恢复正常后,系统依旧会向用户发送信息,告诉用户“你的网站已经恢复正常了”。

在使用这个应用前,大家做一些简单的配置:

第一、 打开config.php文件,填写监控的URL、最大尝试次数及短信、邮件的一些配置信息:

//受监控的url
define('MONITOR_URL',' 受监控的URL ');
define('TRY_TIMES',1);	//失败尝试次数
define('MAX_TRY_TIMES',1);	//最多信息发送次数

//EMAIL告警服务
define('EMAIL_ENABLED',FALSE);	//是否启用
define('EMAIL_DEST','邮箱');	//告警邮件发送目标地址
define('SMTP_SERVER','SMTP服务器地址');
define('SMTP_USERNAME','发送邮箱的用户名');
define('SMTP_PASSWORD','密码');

//短信告警服务
define('SMS_ENABLED',TRUE);	//是否启用
define('SMS_APID','天翼应用工场的APID');	//apid号码
define('SMS_PRODUCTID',' 产品号码 ');	//产品号码
define('SMS_APKEY',' 产品密钥 ');	//产品密钥
define('SMS_DEST',' 告警短信发送目标地址 ');	//告警短信发送目标地址

第二、打开config.yaml,配置你的应用的名称和版本,其余不用改动。比如:

---
name: 改为你的应用名称
version: 你的应用的版本号
cron:
    - description: 网站监控
	  url: monitor/index.php
	  schedule: every 15 mins
	  timezone: Beijing
...

需要注意的是,需要把该版本设置为应用的默认版本,Cron才可以自动执行,请使用者多多注意。

第三、因为我在该应用中使用了SAE的Counter服务作为抓取计数器,所以请使用者在SAE后台启用“计数器服务”,并新建四个名称分别为‘SuccessNum’、‘FailNum’、‘ErrorNum’、‘SendNum’的计数器,当前计数都设为0。

这四个计数器中,前两个的作用是统计自程序运行以来,抓取成功和失败的总次数,使用者可以通过这两个数据了解网站的运行情况。
至此,配置就完成了。

 

用SAE做监控服务的优点:

  1. SAE服务的在线率极高,国内顶级机房和线路,这样才能保证监控的准确性。我记得曾经使用某网站监控服务的时候,一看我的网站在线率,特别低,害的我以为是网站使用的虚拟主机的问题。后来才知道,监控用的服务器和线路本身就有问题,怎么能去统计别人的在线率呢?
  2. 抓取间隔时间短。根据SAE的说明,抓取间隔最少可以设置为1分钟;相对于此,目前免费的网站监控服务抓取间隔至少为5分。
  3. 可以进行深度定制。比如说,可以为网站增加敏感字检测功能,保证在网站出现“非法信息”的时候可以及时得知。

 

我把代码放在了我的155网盘上面,有兴趣的朋友可以下载试用。我需要提醒感兴趣的朋友,应用的邮件发送功能有时候无法使用,貌似是SAE邮件发送API的原因。短信没有问题的。

地址:http://115.com/file/dpxz1p9n#SAE_Monitor.rar

  评论这张
 
阅读(183)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018