使用UptimeRobot监控网站运行状态

由于公司服务器日益增多,人工维护几十个网站服务器日益吃力。往往一个网站挂了可能几天之后才会知道,这将给公司造成巨大的流量损失。所以需要对网站的运行状态进行检测。开始想在网站上部署监控脚本完成简单的监控,后来发现前人已经有了很多的实践,例如著名的Zabbix、Nagios这种分布式的监控程序。当然,国内也有许多基于云平台的检测,比如360,监控宝之流。

通过前期的调研,所得到的解决方案大概有一下几种:

  1. 类似360、监控宝,基于云平台的监测,需要在服务器上部署一个轻量化脚本。
  2. 类似UptimeRobot,只监控指定端口,无需部署,功能有限。
  3. 类似Zabbix、Nagios,需要自己部署自己配置的开源监控解决方案。
  4. 自己写监控脚本对一些基本信息进行监控。

考虑到公司需求:“快速的监控网站是否正常工作,并给出通知”。我决定使用方案2进行实践。方案1将使公司的服务器状态暴露在第三方手中,并有可能受到第三方服务故障的牵连;方案3部署困难,维护成本高;方案4相比方案2成熟度较低,容易出现漏洞。下面介绍一下部署的过程:

UptimeRobot(网址:uptimerobots.com)是一个免费的监控服务提供商。免费账户提供50个网站的监控,每5分钟对服务状态进行扫描。如果宕机将通过邮件或者应用推送通知管理员。付费账户则提供低至1分钟的扫描服务和短信通知服务以及更多的站点监控。一般情况下免费的账户即可满足需求。

进入网站,注册完成后即进入管理面版,点击左侧“+Monitor”按钮即可添加网站域名

20160221214707

填入域名等信息

20160221214812

监控状态在右侧显示:

20160221214722

同时,网站还开放了监控API,用户可以通过API调取监控结果,这点还是十分方便的。具体在API页面有介绍(页面链接:https://uptimerobot.com/api)。提供了Json、XML两种格式的API。在底部有一些API的应用实例。

这里着重推荐Nerd Baggy提供的StatusPage项目(项目链接:https://github.com/nerdbaggy/StatusPage

这个项目部署之后提供了一个可视化的页面,列举出了所有被监控的网站(Demo)

20160221215450

具体部署过程并不复杂,正常的网站部署即可。部署过程可能会出现错误,具体为有两个文件夹需要手动创建。查看Nginx的错误日志,里头有详细的说明,照着错误建立对应文件夹即可。

暂无评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注