php监控网站状态码并自动发送邮件通知技术员

我的作品 Loading... 阅读 0

今天上班来了就开始写的,花了一个小时写完了。我现在才发表文章,是因为导入监控一直弄到现在,快一天了。几百条数据没办法自动化,只能手动慢慢倒入。

现在临时用的就是这种,宝塔后台监控一条一条监控。

原本我的想法是宝塔定时任务每小时访问一下url,之后php自动从txt文件中依次开始读取执行。之后想了一下,我不会php队列处理,所以还是用宝塔定时分钟级别来处理,这样写代码也比较方便。

源码一共三个php文件加一个phpEmail插件,没有数据库,直接文件执行。

执行的方法也是 https://jk.mxooo.cn/index.php?url=https://www.baidu.com 这种,如果状态正常就不管他,状态不正常就获取当前的网站域名、当前网站的服务器ip(没有cdn 的,加了cdn的获取到的ip就不正确了)、还有就是说明。

原本说明是获取的状态码加一句话,测试的时候发现php提示错误(A non-numeric value encountered in),然后就把代码删除了,改成现在的纯字符串提示。(现在想想不知道可不可以用强转试一下。)

今天这个写的比较急,主要是最近公司几十台服务器时不时的抽风,一抽风我就挨训,所以我临时买台硅谷的机器(目标站是哪里的机器就用哪里的机器来执行监控,这样速度更快,不容易超时,我这里限制的是15s。)来放这个监控,测试了两个小时(循环了两次),目前用起来还不错。

邮件的风格我也是按照孟坤的美化来的,以前自己二开thinkphp的时候用的phpEmail,这次也用这个,方便。

php监控网站状态码并自动发送邮件通知技术员

美化邮件发送信息

如果要使用,一定要 修改一下 Index.php 文件里面的邮件发送地址,我试过相对路径,结果无效(可能和我本地测试有关,本地发不了邮件)。

监控要是不经常动那就直接用绝对路径吧,起码不会错。

php监控网站状态码并自动发送邮件通知技术员

修改发送邮件的绝对地址

还有需要注意的就是,发送邮件的信息当然得修改了,至于怎么改去百度,我用的是qq邮箱,也可以用其他邮箱。

php监控网站状态码并自动发送邮件通知技术员

效果还算是比较理想,目前测试没什么问题。

完整代码下载:

蓝奏云网盘

Tags:

版权声明:若无特殊注明,本文皆为《长行客》原创,转载务必保留文章来源。

本文链接:php监控网站状态码并自动发送邮件通知技术员 & https://www.mxooo.cn/1508/

推荐阅读
发表评论 取消回复
表情 图片 链接 代码

分享