2

widnows サーバー/Linux サーバーで実行されている Java cron ジョブを監視するライブラリを作成したいと考えています。

Java cron ジョブを追跡する方法がわからない

  1. 走った
  2. もしそうなら、それは成功していますか
  3. そうでない場合、失敗した場合
  4. 最後に成功したのはいつですか
  5. また、上記の情報の履歴データを維持します

サーバー、ディスクの使用状況、メモリなどを監視するために、社内にインフラストラクチャをセットアップしていますが、部門でセットアップした cron ジョブを追跡していません。

これにJavaを使用する予定ですが、これを行う方法がわかりません。また、DB を使用してステータスを収集し、現在のステータスだけでなく履歴データを表示できるように保存することも計画しています。

これを行う方法を教えてください.... 基本的に、私のすべてのジョブのステータスを一度に表示するダッシュボードのようなものを設計します。

この点で助けてくれてありがとう。

4

2 に答える 2

0

社内で使用するものを作成し、最終的に SaaS Web アプリにしました。これは PushMon と呼ばれ、上で挙げた機能をほとんど実行します。これはライブラリではありませんが、私たちがどのようにそれを行ったかを簡単に説明できます。

実行されました。cron ジョブは監視システムに「ping」を送信して、実行されたことを伝えます。URL を呼び出すだけです。

成功です。成功した場合にのみ「ping」します。

失敗したとき。ジョブがいつ失敗したかを知っている場合、失敗した特別な「ping」を実行できます。まったく実行されなかったなど、ジョブが失敗したことを認識していない場合、監視システムは ping の欠落に気づき、アラートを送信します。

最後に成功したのはいつですか。監視システムは、これらの「ping」を追跡します。

履歴データを維持します。監視システムはすべての情報をデータベースに保存し、いくつかの表とグラフを提供します。

これは、Tomcat 上で動作する Spring MVC で書かれた Web アプリケーションです。ダッシュボード/UI は jQuery UI ですが、もう一度やり直す機会があれば Bootstrap を使用します。チャートはGoogleチャートを使用しています。

于 2013-10-24T04:03:11.593 に答える
0

返信ありがとうございます。

扱い方がうまい。かもしれません、私たちもその選択肢を考えるかもしれません。オープンソースですか?呼び出す必要がある URL は PushMon 固有のものですか (つまり、ジョブのステータスは DB に保存されますか? 会社のインフラストラクチャ内にすべてを保存する必要があります)。

私たちはいくつかのオプションに取り組んでいます。

  1. log4j と JMSappender と Apache ActiveMQ を JMS サーバーとして使用する

上記を使用して、JMS にステータスを記録し、lsitener が読み取りと DB への挿入を行い、履歴データを保存できるようにします。この DB の上に Web インターフェイスを提供して、ステータスを読み取り、グラフィカル ビューを提供します。

ただし、ここで 1 つの問題が予測されます。JMS はログ エントリを順番に送信し、リスナーはそれらを順番に受信するかどうか。それについてはまだ調べていません。

最初は、JDBCAppender を使用してエントリを DB に直接記録することを考えていました。ただし、アプリとデータベースが分散されているため、ネットワークのオーバーヘッドが発生し、アプリのパフォーマンスに影響を与える可能性があるため、少し遅いというレビューはほとんどありません.

  1. 私たちの要件を満たすことができるいくつかのオープンソースの監視ソフトウェアを探索して、監視ソフトウェアのセットアップに時間を費やすだけでよいので、自己開発した監視ソフトウェアのテスト/保守に実際に入る必要はありません.

より良い方法をご存じでしたら、お知らせください。

于 2013-10-25T07:03:55.570 に答える