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

2021-12-06
316次阅读
没有评论

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

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

原本我的想法是宝塔定时任务每小时访问一下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监控网站状态码并自动发送邮件通知技术员

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

完整代码下载:

[button url="https://mxooo.lanzouo.com/ivif8xc4ebe" types="down"]蓝奏云网盘[/button]

正文结束
居烽
版权声明:本站原创文章,由 居烽 于2021-12-06发表,共计899字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码