ジョブの便利な機能について
投稿日: / 更新日:
Hinemos6.1からは、従来のジョブ機能が、さらに拡張・強化されました。その一部をご紹介いたします。
今回は、Hinemos ver.6.1のジョブ機能に追加されたものの中から、以下の4つの機能についてご紹介いたします。
①実行時間予測による終了遅延検知
→ ver6.1からはジョブの実行時間を収集し、いつもよりジョブの実行に時間がかかっている場合に通知を行うことが可能です。
②条件指定の繰り返し実行
→ ver6.0ではジョブの繰り返し実行だけでしたが、コマンドの繰り返し実行も可能になりました。
③セッションを跨いだイベント連携
→ 同一のジョブネット内に無いジョブを、先行・後続ジョブとして連携出来ます!
④実行時間のグラフ表示対応
→ ジョブの実行履歴も、監視履歴同様、グラフ表示が可能です。
では、①実行時間予測による終了遅延検知を、②と③の機能を利用して、実施してみます。
以下の手順で行います。
1.実行時間が2分ほどのジョブ( “sleep 120 “を実行する)を、30回実行する
2.1のジョブの終了時間を遅延させるジョブ(agentを停止する)を作成
3.1と2のジョブを含むジョブユニットを実行
1.実行時間が2分ほどのジョブ( “sleep 120 “を実行する)を作成し、30回実行する
今回はジョブの実行時間予測による遅延検知を行うため、以下の終了遅延設定を行っておきます。
1 2 |
実行履歴からの変化量(×標準偏差): 当該ジョブの過去の実行時間の平均値、標準偏差値を元に、ジョブが開始されてからの経過時間を、 「平均値+標準偏差×"実行履歴からの変化量(×標準偏差)"」 を閾値として判定する。 |
上記の条件を満たした場合、警告のイベントを通知させ、ジョブの終了状態を異常として、コマンド停止するよう設定しました。
また、実行時間予測を行う場合、ある程度 実行時間のデータを収集しなければなりません。
メンテナンスパースペクティブの[Hinemosプロパティ]ビューにて、
ジョブ実行時間の平均値などを求める際に必要なデータ件数を設定することが可能です。
デフォルトでは “30” となっています。
1 2 3 |
キー:job.session.change.data.analysys.count 値:30 |
今回は②条件指定の繰り返し実行 の機能を利用して、ジョブを30回 動作させます。
ジョブ作成画面の “制御(ノード)” にて ” コマンドの繰り返し実行 ” を選択することができます。
1 2 |
• 試行回数:ノード上でコマンドを実行する回数を設定。 1回目の試行は当該ジョブ開始直後、 2回目以降は前回のジョブが終了してから、10秒後に試行する。 |
1 2 |
• 完了状態: コマンドジョブの終了状態が設定された状態となった場合、試行回数設定に関係なく、繰り返しが終了される。 空欄を選択すると、ジョブの終了状態によらず試行回数分実行される。 |
上記の設定によりジョブを30回実行させることができました。
以下の画像では、開始から終了までに1時間ほどかかっており、これにより実行時間2分のジョブが30回実行された事が分かります。
2. 1のジョブの実行時間を遅延させるジョブを作成する。
1 のジョブとは別のジョブネットに、hinemosエージェントを停止するジョブを作成します。(job5)
この “job5” を、③セッションを跨いだイベント連携機能を利用して、実行してみます。
ver6.0までは、同一のジョブネット内でしか、待ち条件を設定する事ができず、
1度作成したジョブを別のジョブネット配下に何度も作成しなくてはいけなかったり……。
しかし、ver6.1からはジョブセッションを跨いで連携することが可能です!
待ち条件作成時に、”セッション横断ジョブ” を選択します。
今回は “JN2-job2” の後続ジョブとして設定し、ジョブ履歴範囲を 5分 としました。
1 2 3 |
ジョブ履歴範囲(分):セッション横断ジョブでは、指定した先行ジョブの実行履歴と待ち合わせるため、 指定した時間分、過去履歴を遡って該当のジョブ履歴があるかを判定する。 ひとつでも該当のジョブ履歴が存在する場合は条件を満たしたと判定し、ジョブが実行される。 |
3.1と2のジョブを含むジョブユニットを実行
それでは、ジョブユニットを実行してみましょう。
以下が実行結果となります。
job5 は設定どおり、JN2-job2 のジョブの後続ジョブとして実行されています。
またJN2-job1 も、エージェント停止によりジョブの終了が遅延したため、設定通り、終了状態が異常となり、コマンド停止しております。
また、イベント履歴にも、設定した警告の通知がされました。
さて、ver .6.1 では、新機能により これまで実行したジョブの実行時間を、グラフ表示させることができます!
監視履歴のグラフと同様に、性能パースペクティブより確認できます。
※ジョブの実行履歴は折れ線グラフと積み上げ面グラフのみ、グラフ表示が可能です。
いかがでしたでしょうか。
今回はご紹介できていませんが、他にも、” ジョブの実行の優先度指定” や ” ジョブネット/ジョブ単位の定義インポート・エクスポート機能” 、”実行間隔の拡張“などの機能が、ver.6.1では追加されております。
ぜひご利用ください!