监控cron任务的技术?

Tri*_*cek 25 monitoring cron

是否有用于监控集群上的 cron 任务的好技术?

我们开始使用 cron 以每天的间隔启动任务。检查信息的一些想法:

  1. 添加特殊的应用程序处理,将信息记录到一些“网络感知”的地方,比如数据库
  2. 建立一个日志文件系统,定期将 cron 日志传输到一个中心点进行处理/查询(以及其他可能的日志文件)

我想知道人们是否在分别为 cron 和其他事物做事方面取得了成功,或者,是否将任务完全集成到不同的方法中。我倾向于#2,但我想知道更有经验的人可能会尝试什么。

Dan*_*ley 16

因此,我的常用方法是:

  • 当您的 cron'ed 应用程序成功完成时,不要产生任何标准输出。
  • 不要将任何输出通过管道传送到 /dev/null。
  • 当出现问题时,一定要产生有意义的 stderr 输出。
  • 请在 crontab 中设置 $MAILTO 地址,以将该错误输出发送给所需的团队。


Mar*_* M. 16

除了其他答案:

  • 让作业在完成时将时间戳与实际作业的返回值一起写入文件
  • 将返回值传播回原始调用者

我们使用第一个让Nagios ( Icinga )更容易检查,例如,最后写入的时间戳是否早于 n 小时(加上您需要的任何逻辑) - 我们知道出了问题。