2014-01-09 42 views
2

我在各种服务器上有几个cron-jobs和后台任务。这些任务可能会失败的原因有很多:用于监控cron作业和自动化任务的系统?

  • 磁盘空间不足
  • 处理奇怪,不可读文件类型
  • 逻辑错误/在程序中的bug
  • 无效cron项
  • 无效JSON收到
  • 网络连接失败
  • db锁
  • s系统库更新中断程序

为什么它们运行失败很重要,但最重要的是知道它们无法运行。

是否有一种统一的方式来监视多个作业,并在出现任何原因时无法在预定时间运行时收到警报?我使用Ubuntu,脚本主要是在Ruby中。

注:

我专门找了一个框架或系统跨多个服务器协同工作,并已通过电子邮件或者内置的文本,一个可以生存有限的磁盘空间警报。因此, How can I setup a system to tell me if a cron job is NOT running fine?中提出的解决方案似乎不适用。

+0

我们使用http://www.clowder.io这种类型的服务 – keithhackbarth

回答

1

http://www.pushmon.com满足您的需要?它主要是为了让你知道一个cron作业或计划任务是否运行失败。你可以把它放在你的任何服务器上,并有电子邮件和文本警报。这个想法是,当你的工作成功运行时,你“ping”PushMon,如果PushMon没有收到ping,PushMon会提醒你。

4

Cronitor(https://cronitor.io)是我为此设计的工具。它基本上归结为使用http请求作为ping的跟踪信标(类似于pushmon)。

但是,我的一个需求(以及pushmon和类似的工具无法提供)在cron作业开始运行时间过长(或相反,如果它们开始过快完成)时收到警报。 Cronitor通过允许您可选择触发开始事件和结束事件来解决这个问题,以便跟踪持续时间。

持续时间跟踪对我来说是必须的,因为我有一个计划每小时一次的cronjob,但随着时间的推移开始需要花费一个多小时才能运行。这是一场灾难;)