有什么监视现场商店的好方法?


41

前言: 我们希望扩展对其中一个网上商店的监视,因为提供程序在使用PHP配置时会遇到麻烦,并且实时网上商店的某些部分崩溃了(后端和结帐不起作用)。我不想在这里讨论有关转移到另一个提供商的问题。

现在,我们正在考虑监视网上商店本身的可能性以及某些部分的可用性(例如“结帐是否有效?”),因此问题是:

您建议使用哪些工具和策略来监视实时网站?

一些想法:

  • 如果结帐仍在实时网站上进行,您是否会自动检查?
  • 有什么好的参数可以监视以检测故障?最新订单<1天前,最后一次用户登录,...
  • 使用cron作业:例如,检查最后订单的日期/时间以及是否过早,请发送电子邮件和/或手动检查结帐是否仍然有效?
  • 使用Icinga,Uptime Robot等软件/工具...
  • 向管理员发送警告电子邮件,...

期待您的回答:)


1
即使这看起来有点“基于观点”,我也非常渴望看到一些答案:)。
马里乌斯

感谢@Marius,我知道这有点主观,但无论如何分享可能还是很有趣的:)
AnnaVölkl2013年

好问题,我一直想知道同一件事!谢谢!
Wessel

Answers:


30

您可以自动进行几件事。

  1. 如果车间的某些部分停止工作,则单元测试是检测某些功能是否仍在工作的好方法。
  2. 为了测试前端,我在远程服务器上使用phpQuery定期在某些关键页面上查找某些DOM元素,例如“类别列表中是否还有产品”,“主页上是否有页脚*”等
  3. 设置一个简单的cronjob来ping您的主机,以查看它是否仍然可用
  4. 使用本地的Magento订单RSS提要来检查订单是否仍在继续。在人流量大的商店中,星期五晚上一个小时没有订单是一个很好的指示,表明有问题:)
  5. 监控您的付款服务提供商。在荷兰,我们使用iDeal进行付款。该网站显示其正常运行时间,您的PSP可能会提供类似的服务

*如果页面上没有页脚,可能会导致PHP错误停止渲染。

这些是我们正在使用的几种解决方案。他们只需要一些设置时间就可以自由运行。

顺便问一个好问题,我真的很期待所有答案!


25

我将在以下内容中结合Sander的妙语,假设您已经设置并使用了Pingdom *等监视服务:

  • 注意页面上的内容;通常是结束</html>标签。我已经看到太多before_body_end脚本因第三方而失败(未捕获的异常等),这些脚本对最终用户不可见,但返回500状态-对于SEO / Google /网站管理员工具来说非常糟糕
  • 设置网站管理员工具,以在错误增加到特定阈值以上时通知您
  • 在页面上为无效的SSL设置警报
  • 在页面上为JavaScript错误设置提醒
  • 使用电子邮件组/密件抄送来发送失败的电子邮件,错误报告。
  • 与您的呼叫中心人员保持紧密联系,并确保他们知道如何截屏问题-通常,他们是第一个在出现问题时指出问题的人。
  • 慢速站点和宕机站点一样糟糕。确保您的警报对您的网站何时需要比平常更长的时间敏感。
  • 订阅所有重要的第三方/托管服务的twitter feed。较大的主机通常会在出现问题时使用Twitter触发器。您可以将Twitter配置为在某些帐户发布时通过电子邮件发送电子邮件/发送短信。

开发人员:

  • 设置Nagios以监视关键系统并发送警报
  • 设置系统日志或Splunk(每天最多可以查询特定数量的查询)以汇总日志并根据日志数据发出警报
  • 配置脚本化的常规网络设备检查。我已经看到(多次)NIC会回退,从我们不知道的1GB下降到10MB。

对于较大的团队:

  • 设置CI服务器(Travis,Jenkins / Hudson,Capistrano),以警告您提交后可能失败的测试。
  • 在您的源代码管理中设置预提交挂钩,以强制执行代码标准或检查明显的问题,例如代码损坏
  • 就像Sander所说的那样,设置一些东西来按一天中的时间监视RSS feed的订单和数量-这样做的好处是它没有被缓存,通常,如果您将通知阈值设置得足够低,则潜在的问题将立即使它崩溃。
  • 使用硒。很多。编写脚本化测试,每隔一两个小时运行一次结帐过程。
  • 设置日历提醒和针对SSL过期的特定警报

您将生成大量数据和潜在的误报。不要免疫警报。


我不隶属于Pingdom。我只是喜欢他们的(免费)产品。


8

如果您只在托管服务商方面有问题,而不在付款方面有问题,可以考虑设置一个隐藏的产品,编写硒测试,将其放入购物车中,添加优惠券以使其免费,然后逐步结帐。


1
很好,我喜欢隐藏的免费产品创意:-)
AnnaVölkl2013年

5

根据您的设置,这里已经有一些不错的答案。我使用NewRelic监视服务器和交易统计信息,以及为结帐流程的每个步骤设置关键交易。这样,我可以查看手机上的单个屏幕,确定我们是否仍在整个过程中派出适当数量的人员进行签出,以及他们是否获得了适当的响应时间。如果我看到直到最后一步的所有吞吐量,我知道PayPal可能已损坏,因为没人能处理他们的卡。如果存在很多错误,响应时间不正确等情况,我也会收到警报。您严格不需要NewRelic来执行此操作,但是它的设置非常简单快捷,而且我没有时间来构建我自己的仪表板/应用程序/警报系统。


1
我同意您对NewRelic作品的魅力。我还要补充一点,使用Pingdom之类的服务也是监视服务器可访问性的一个不错的选择。
Eirik

5

我喜欢NewRelic和PagerDuty,它们非常完美,如果您的网站或网站的任何部分出现故障,它们会在一分钟内通知您(电子邮件,短信和电话)。它甚至会通知您的CPU或内存是否超过了指定的使用百分比,从而使站点无响应。

  • 使用要监视的所有页面和频率来设置New Relic。例如:首页,任意1个类别页面,任意1个产品页面,购物车页面,结帐页面等。
  • 在PagerDuty警报上添加用户(所有人都收到通知),日程表(您希望接收通知的日期和时间),服务(新遗物警报)和升级策略以及所需的通知类型(电子邮件,文本,电话)

https://www.pagerduty.com/docs/guides/new-relic-integration-guide/

免责声明:我不属于任何上述服务。



3
  • 提供者端的Munin可以获取所有服务器(LB,App,DB,Redis等)和所有服务(内存,负载,io等)的历史值
  • 提供者或本地端的Nagios / Icinga可实时监控所有服务器上的负载
  • Pingdom收集“重要” URL(例如首页,结帐等)的响应时间。
  • 实时用户监控功能,您将获得类似于APDEX的价值并查看历史发展
  • 检查网址及其正确内容的能力
  • 在自动重新加载模式下报告最近的X个订单。有了它,我可以看到可能的休息时间
  • 在同一个载物台系统上使用Selenium进行自动化测试。我不是实时系统上自动结帐的朋友。稍后您会在会计方面遇到问题:)
  • Zapier和Twilio用于Email2SMS。严重错误以短信形式发送到手机
  • freeboard.io和dweet.io将所有内容显示在一个不错的仪表板上。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.