【问题标题】:Java batch monitoringJava 批量监控
【发布时间】:2008-11-17 15:36:25
【问题描述】:

我们有 50 多个 Java 批处理进程在一天中的不同时间运行。它们在 Solaris 机器上运行,并通过 cron 启动。目前,我们只知道它们是成功还是失败的唯一方法是通过每个批处理结束时生成的电子邮件。我们有一个支持团队来监控这些电子邮件。最近,我们遇到了未收到电子邮件的问题,即使批次正在运行。一定有更好的办法。

无需重新发明轮子,有没有开源批处理监控应用程序?

还有一个更普遍的问题,监控批处理过程的最佳方法是什么?

【问题讨论】:

    标签: java frameworks monitoring batch-processing


    【解决方案1】:

    目前是否有一些批次管理系统?或者作业是否通过操作系统调度程序运行? (即,Windows Schedule Tasks 或 *nix cron

    Quartz 是一个开源(Apache 许可)基于 java 的作业调度程序,它为 listeners 提供了可用于通知目的的基础设施,但会涉及一些代码开发。

    【讨论】:

    • 很抱歉漏掉了这些信息。我用“它们在 Solaris 机器上运行,并通过 cron 启动”更新了问题。我来看看 Quartz。
    【解决方案2】:

    我不知道开源批处理监控应用,但是Spring有一个新的子项目:Spring-Batch,它提供了一个批处理框架。我已经在几个新项目中成功使用了它。

    当您启动一个批处理作业时,您可以连接一个作业执行侦听器。在我的情况下,当作业因异常而失败时,我的执行侦听器会拦截它并将带有相关堆栈跟踪的错误电子邮件发送到众所周知的电子邮件列表。我在批处理结束时使用 Tasklet 发送一封电子邮件以指示正常完成。

    当然,如果电子邮件子系统出现错误(并且消息没有被发送),所有的赌注都将被取消......

    【讨论】:

      【解决方案3】:

      必须有一种方法可以使用 Nagios 来查看日常任务是否已成功运行,因为它可以以多种不同的方式监控事物(从 PID 文件到存在的文本文件,到拖网日志文件等)。遗憾的是,Nagios 不在我的工作范围内,所以我不能更进一步。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-06-02
        • 1970-01-01
        相关资源
        最近更新 更多