作成日 | 2020/01/16 |
---|---|
更新日 | - |
1.ジョブ管理とは
ジョブ管理のソフトウェアは、サーバ間を跨る処理フロー(ジョブネット)の一元管理を実現します。本記事では、ジョブ管理のソフトウェアが持つ機能や導入するメリットを解説します。
1.1.ジョブ管理の特徴
ITシステムで一般的なWeb3層構造(Webサーバ、APサーバ、DBサーバ)のシステム構成をターゲットに、具体例でその特徴を解説します。
例えば、メンテナンス日にシステム閉塞を行うとしましょう。一般には、ユーザからのリクエストを受けるWebサーバから順に停止し、次にAPサーバ、DBサーバの停止を行います。
ジョブ管理のソフトウェアを導入しないケースを考えてみましょう。この場合は、1台1台のサーバ上のOSの機能(cronやWindowsタスク)を使って時刻指定で起動することになります。もし、何れかのWebサーバで停止が失敗しても、APサーバの停止は動いてしまいます。
そこで、ジョブ管理のソフトウェアを導入するケースを考えてみましょう。ジョブ管理のソフトウェアによって、全てのWebサーバが停止したら、初めてAPサーバを停止するといった順序制御や、停止が失敗した時点で警告灯を点灯したり、GUIからエラーメッセージの確認が出来ます。
1.2.Hinemosによるジョブ管理のアーキテクチャ
Hinemosによりジョブ管理を行う場合は、Hinemosマネージャ、Hinemosエージェント、Hinemosクライアントが必要になります。
Hinemosマネージャの管理DBにて、ジョブ定義及びジョブ実行履歴を一元的に管理します。
1.3.Hinemosによるジョブ管理の概念
Hinemosのジョブ管理の機能がどの様な概念で構成されているかを用語と合わせて解説します。
1.3.1. 基本的な用語(ジョブ、ジョブネット、ジョブユニット)
ジョブ機能を説明にあたり、最初に基本的な用語を説明します。Hinemosでは大きくジョブ、ジョブネット、ジョブユニットの3つの要素からなります。
ジョブユニット | 一番最初に作成する最上位のフォルダのようなもの。ジョブやジョブネットを業務などの用途の単位で纏めます。 |
---|---|
ジョブネット | ジョブユニットの中で、ジョブやジョブネットを纏めるもの。例えば順序性を持った一連の処理を纏めることに使用します。 |
ジョブ | 1つ1つの処理単位。様々な種類があり、コマンドを実行するコマンドジョブの他に、参照ジョブ、監視ジョブなど用途に合わせて指定する |
ざっとイメージで表すと以下の通りになります。
1.3.2. ジョブの前後関係の設定(待ち条件)
ジョブAが正常終了したらジョブBを、異常終了したらジョブCを開始したい、といった前後関係や、ジョブを開始する条件を、Hinemosでは待ち条件という形で指定します。待ち条件は、後続側のジョブに指定するものであり、「〇〇が××の状態になったら開始する(状態になるまで待つ)」という意味で「待ち」条件と呼びます。
待ち条件は、順序性だけではなく特定の時刻を待つなどの条件もあり、複数個の組み合わせ(ANDやOR)の指定も可能です。
待ち条件の一覧:
・時刻
特定の時刻になったら開始します。48時間カレンダに対応しています。
・セッション開始後の時間
ジョブセッションが生成されてからの経過時間で開始します。
・他ジョブ・ジョブネットの終了値
先行ジョブ・ジョブネットの終了値が指定の値の場合に開始します。
・他ジョブ・ジョブネットの終了状態
先行ジョブ・ジョブネットの終了状態が指定の状態の場合に開始します。
・ジョブ変数
ジョブ変数に指定の条件の値(数値、文字列)が格納されると開始します。
・セッション横断ジョブ
別のジョブセッションの流量を待ってから開始します。
1.3.3.ジョブの定義と実行履歴
ジョブ定義を作成した後、ジョブを起動します。この起動の度に自動的に生成されるのがジョブセッションです。ジョブの起動=ジョブセッションの生成のタイミングは空の状態ですが、順次、待ち条件を満たしたジョブが開始されるとその終了状態(正常や異常)がジョブセッションに反映されます。そして、このジョブセッション自体がジョブの実行履歴になります。
ジョブセッションをクリックしていくと、コマンドの実行結果(標準出力や標準エラー、戻り値)などもHinemosクライアントの画面から簡単に確認できます。
2.ジョブ管理のメリット
ジョブ管理のソフトウェアとして、Hinemosを導入するメリットを紹介します。
・複数サーバにまたがった処理を一括管理
ジョブ管理機能の根本的なメリットです。1つ1つのサーバにログインしたり、作りこみ不要で、
全体最適な処理フローの定義と管理が可能になります。
・監視連動が簡単
監視機能を持つHinemosならではの特徴で、特定の監視で異常を検知した後に、
一時的な復旧ジョブフローを自動的に実行させることもGUIからの設定で簡単に行えます。
・業務カレンダ、管理対象リポジトリが監視機能と共有
監視機能と業務カレンダ、管理対象リポジトリを共有できるので、監視機能が別ソフトウェアの場合と比べて管理コストが半分になります。
・1つのジョブで複数のサーバ実行が可能
1つのコマンドを1サーバで実行する場合も1,000サーバで実行する場合も、1ジョブで実現できます。
製品によっては個々にジョブを作成するケースもあるので、Hinemosでは非常に効率的な
ジョブ定義の管理が実現できることになります。
・コアライセンスではない費用体系
一般的なジョブ管理のソフトウェアはサーバ台数が少なくてもCPUコア数が多いと
ライセンス費用が高額になりがちです。Hinemosはコア数に依存しない費用体系で、
これによって導入するエージェント台数を削ったりという考慮は不要になります。
・クラウド対応
ジョブ管理製品は未だにクラウド対応が遅れているケースがありますが、Hinemosでは多種多様なクラウドに対応しています。
3.ジョブ管理の機能
ジョブ管理の機能と一口に言っても、実は多彩な機能が含まれており、この機能の有無でジョブ管理ソフトウェアの使い勝手が変わります。ここでは、Hinemosが持つジョブ管理の機能を細やかに紹介します。
ジョブ管理のソフトウェアとして、Hinemosを導入するメリットを紹介します。
・豊富なジョブの種類
Hinemosが有する豊富なジョブの種類をご紹介します。
・様々なジョブの実行契機
Hinemosが有する、様々なジョブの実行契機をご紹介します。
・ジョブ定義の作成方法
Hinemos上に定義するジョブの、定義方法をご紹介します。
・ジョブのオペレーションと実行結果の確認
ジョブの実行・再実行操作と、実行結果の確認方法をご紹介します。
・ジョブの実行制御①
カレンダ、同時実行制御、繰り返し実行といった、ジョブの実行制御をご紹介します。
・ジョブの実行制御②
ジョブの実行遅延を監視し、ジョブの実行制御する方法をご紹介します。
4.ジョブ管理の技術情報
ジョブを使ってバックアップを定期実行する 株式会社NTTデータ
日付に合わせて実行対象のジョブを切り替える 株式会社NTTデータ
ジョブの結果をメールやシステムログとして外部に送信する 株式会社NTTデータ
5.ジョブ管理の導入事例