> 做站经验技巧 > 服务器故障自动提醒功能(短信+邮件)

服务器故障自动提醒功能(短信+邮件)

前言:不知不觉有二三十台服务器了,其中比较困扰的是经常发现服务器php或mysql异常中断,很是恼火,等发现一批网站都挂掉时才发现服务器异常了。于是想着做个工具能对服务器进行监测,本以为很简单的小功能,却不料踩了好些坑,同样的代码在不同服务器的兼容性还不一样,遂只能自己动手一点点调整代码,把代码放在某个能兼容的服务器上运行。

适用哪些人群?

1、服务器比较多、站点比较多,又无暇顾及

2、服务器使用宝塔面板,且支持面板API(宝塔版本在6.0以上)

3、近期或曾经站点偶发性出现php、mysql、Nginx等意外自动停止的

 

自动监控的功能及优点

避免降权及广告费收入

服务器不论php还是mysql或者Nginx,Apache挂掉,就是整个服务器全部瘫痪,多则七八十个站点,哪怕一个站点,宕机多一小时都是损失,毕竟有些站点的广告收入是按小时计的。而且一不小心宕机十天半个月,对网站权重影响太大,网站关门半个月,大概率会掉排名;网站关门一个月,降权甚至拔毛都没问题。

功能特点:

通过宝塔后台的API功能,实时监控宝塔面板,对异常(停止)项目进行监控,一旦发现停止项目,就通过邮件、短信通知运维人员。

服务器故障自动提醒功能(短信+邮件)

邮件是免费的,非常不错。如果经常玩QQ,还会自动弹出QQ邮箱新邮件提醒。

但一天忙于其它事情,不碰手机电脑,就很容易忽略邮件信息。

于是立马增加了短信提醒功能。

 

服务器故障自动提醒功能(短信+邮件)

开通一个短信功能也好多坑,例如模板审核都得申请个三四回,模板变量参数不能超过12个字,导致放不下最长15位的ip地址。不过这都不是事,最终解决了。

 

为什么要从服务器层面进行监控

从域名层面监测存在诸多问题,从服务器方面下手,负载压力小,且更为直观。一个服务器可能放着几十个域名,如果牵涉二级域名就更为复杂了。

服务器故障常见病灶

1、php程序异常

导致php程序异常自动停止的原因很多,例如wp插件冲突、死循环、内容爆满、权限异常等等。

2、mysql异常

MySQL异常自动停止的情况相比php自动停止更为常见,比较常见的譬如硬盘写满、查询死循环等等。

预警是手段,最终还是要修好服务器。

 

配置费用:50元/次

对于xiaoboy小男孩伪原创的在用客户,可以提供免费的服务器监测服务(监测频率为小时),待后期再提供短信提醒服务。

需要高频监测的客户可以考虑自行购买短信套餐以及调高监测频率。

考虑到自写的代码不易维护,所以代码暂不对外开放,有需要的客户可以联系小北帮忙配置。

您需要提供:宝塔面板API及设置某固定ip的白名单

爬坑备忘录:

1、腾讯云短信需要安装qcloudsms_py

pip install qcloudsms_py

2、腾讯云邮件可以控制台开通25端口,未开通会长时间排队等待。。

开通后,切忌不能使用服务器smtp发邮件(wordpress就是用服务器自带smtp发邮件,这是腾讯云坚决禁止的,会永久封25端口)

3、宝塔API的py示例有bug。。。

在win或部分Linux主机环境可以,但阿里腾讯甚至uhost都不行,一度怀疑权限问题,www切换root都不成。

cookie_file = './' + self.__get_md5(self.__BT_PANEL) + '.cookie';
with open(cookie_file,"a") as file:
file.write("# Netscape HTTP Cookie File\n")

如上所示,接第一行,增加下面两行。这两行代码,浪费了好长时间。都两年了,官方版这bug依旧未修复。

4、原宝塔给我的代码

#解析JSON数据
return json.loads(result)

也存在不严谨的问题。当请求失败,result非str,因此会报错。这时候在我源码中加个Tab缩进即可。如果你也遇到这类问题,可自行添加判断语句。

5、腾讯云短信便宜,老用户35元1000条随便买,还是很划算的。

6、这稳定运行两年的程序,如今搬迁并改良,不料耗费了一天的时间,还熬夜到3点。

还准备做个url级的监测工具,本以为旧的加新的半天时间全部搞定,想不到这个坑爬得如此艰辛。

双十一马上要到了,你买服务器的钱准备好了吗?

文章:2021双十一活动小结

又到了一年一度为新账户发愁的日子,好想全部迁移到天翼云,阿里云真的贵!

服务器故障自动提醒功能(短信+邮件):等您坐沙发呢!

发表评论

表情
还能输入210个字