我正在构建一个ruby应用程序,它抓取发送到服务器的电子邮件并将它们记录到数据库中。现在我没有办法完全测试(电子邮件 - > Ruby - >数据库)堆栈的停机时间。我正在使用服务来测试ruby运行的服务器的停机时间,我正在使用monit来确保ruby守护程序不会长时间停机。除了定期手动检查外,还有我可以用来验证的服务:
1)我的后缀是否仍在运行并接收/发送邮件
2)消息是否仍然从我的守护进程到数据库
如果没有,是否有任何最佳实践可以监控和发送这两种方案中的任何一种,或任何可以可靠运行的家酿方法?
答案 0 :(得分:1)
您可以通过cron作业发送“canary”消息,然后进行另一个cron作业测试,以查看是否已将预期的canary消息写入数据库。 (可选择删除它等)
答案 1 :(得分:0)
如果您正在寻找商业工具,www.logicmonitor.com可以做到这一点。 它具有Postfix监控(监控状态,以及排队,交付,退回,拒绝等的图形消息)。 还有数据库监控(Mysql,oracle,postgres,sql server) - 因此它会对数据库发出警报和趋势,并在需要时提供一些调整建议。 它还可以轻松跟踪最后一次将电子邮件插入数据库的时间 - 并在比预期更长的时间内发出警报。 加上监控日志文件以跟踪应用程序响应时间。
取决于该系统的重要性,以及时间/金钱的权衡。
答案 2 :(得分:0)