1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

JobSchedulerでのジョブ監視機能-1  概要説明編

Last updated at Posted at 2019-09-04

JobSchedulerについて

JobSchedulerは、オープンソースのジョブ管理ツールです。
ドイツの企業「Software-und Organisations-Service GmbH (SOS社)」が開発を行なっています。
Linux/Windows版はGPLのもと、無償で使用することができます。

ジョブ定義は全てXML形式のテキストファイルであり、ジョブの中で、Java, Perl, JavaScript, VBScript, Powershell, javax.scriptの内部APIを使ったロジックを記述可能です。
外部APIによりRESTまたはコマンドラインからジョブの実行制御、実行状況の取得が可能です。

JobSchedulerの詳細は以下をご確認ください。
SOS社:https://www.sos-berlin.com/
ナレッジ:https://kb.sos-berlin.com/display/PKB/Product+Knowledge+Base+Home
OSSラボ:https://www.ossl.co.jp/

Monitoring Interfaceについて

Monitoring Interfaceは、ジョブ、ジョブチェーン、オーダ等を監視し、Nagios、Zabbixなどの監視システムにエラー通知等を行います。
この機能は、V.1.8以降で使用できますが、本記事ではV.1.12.xでの機能を説明します。

仕組み

  1. JobSchedulerより実行されるジョブ、ジョブチェーンのタスク、オーダ実行履歴は、Historyテーブルに記録されます。
  2. Historyテーブルのログ情報を監視対象のジョブ、ジョブチェーンでフィルタリングし、分析を行います。
  3. ジョブ実行が正常に終了したか、もしくはエラーや警告で終了したかを分析します。
  4. このジョブの情報をHistoryテーブルとは別のNotificationsテーブルに書き込み、監視システムへ通知を行います。

使用する利点

・Monitoring Interfaceの実装:
 既存のジョブ、ジョブチェーン等を編集する必要はなく、SystemMonitorNotification_<MonitorSystem>.xmlに通知を行うジョブ、ジョブチェーンの設定を行います。

・監視機能:
 アーキテクチャ全体がJobScheduler側にあるため、ジョブ監視の通知の送信先の監視システムに依存しません。

・ワークロードに依存しない:
 ジョブ監視設定を行っても 他のジョブ、ジョブチェーンのパフォーマンス等の影響はありません。

・明確に定義された情報フロー:
 監視対象のジョブ、ジョブチェーンから詳細なログ情報を、監視システムへ送信することができます。
 また、エラーは定期的に監視システムに送信されます。

提供機能

・Job Chain and Order Monitoring
 ジョブチェーンをトリガーするオーダーによってジョブチェーンを監視できます。

・History Notifications
 ジョブのエラー通知を監視できるだけでなく、ジョブの成功通知も監視できます。
 実行されてたジョブがどのような結果、どのようなステータスで終了したかなど具体的に履歴として残るため、ジョブの実行結果に応じた通知設定を行うことができます。

・Performance measurement (Timer)
 ジョブ・ジョブチェーンの遅延監視を行います。
 ジョブチェーンの完了時に事前に定義された時間以上かかる場合、監視システムに警告アラートを送信できます。

・Acknowledgment
 「Acknowledge」操作を行える監視システムの場合、監視システムよりResetNotificationsを行う外部スクリプトを実行することができます。
 この外部スクリプトを実行することにより、JobSchedulerはResetNotificationsのジョブを実行します。
 ResetNotificationsのジョブを実行することにより、 JobSchedulerはすでに発生したジョブのエラーや警告等の通知を再度監視システムへの送信を行わなくします。

監視システムへの送信メッセージ内容

監視システムへ送信するメッセージは監視ジョブのパラメータを設定できます。
例えば監視システムがZabbixの場合は、zabbix_senderを使用してメッセージを送信します。

以下によく使用するパラメータの内容を記載します。
パラメータは以下に記載している他に多くあります。以下のパラメータは一部を抜粋して記載しましたので、他のパラメータの詳細は以下のナレッジを参照ください。
https://kb.sos-berlin.com/pages/viewpage.action?pageId=2523518

・よく使用するパラメータ
image.png

監視システムへのエラー通知設定

次回の記事「JobSchedulerでのジョブ監視機能-2 Zabbixへのジョブエラー通知設定編」で実際に監視システムへの通知設定方法についてを記載します。
監視システムはZabbixを使用し、通知はジョブにエラーが発生した際にZabbixにzabbix_senderを使用してエラーを通知するものとします。
JobScheduler Monitoring Interfaceの設定、Zabbixの設定や、通知する内容は次回の記事で詳しく記載します。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?