Hitachi

JP1 Version 12 JP1/Automatic Job Management System 3 設計ガイド(業務設計編)


8.1.1 定義内容の事前チェック機能の概要と注意事項

定義内容の事前チェック機能でチェックできる項目,事前チェックの流れ,および使用に当たっての注意事項を説明します。

〈この項の構成〉

(1) チェック項目

定義内容の事前チェック機能でのチェック項目を次の表に示します。

表8‒1 定義内容の事前チェック機能でのチェック項目

チェック項目の分類

内容

ジョブ実行順序

  • 実行順序関係がループしていないかどうかをチェックします。

  • 判定ジョブに従属ユニットが条件接続されているかどうかをチェックします。

  • 従属ユニットに条件接続以外の関連定義がされていないかどうかをチェックします。

ジョブネット詳細定義

ジョブネットコネクタ

接続範囲※1

接続範囲の指定が接続先のジョブネットと一致するかどうかをチェックします。

接続ホスト名※1

指定したホストに接続できるかどうかをチェックします。

接続サービス名

指定したスケジューラーサービスが存在するかどうかをチェックします。

接続先のジョブネット名

次についてチェックします。

  • 未指定ではないか。

  • 指定しているユニットの種別がルートジョブネットまたはプランニンググループであるか。

  • 指定したユニットが存在するか。

  • 指定したユニットに,実行順序制御をすると設定されているか。

  • 指定したユニットが他ホストを指定していないか。

  • 指定したユニットがほかのスケジューラーサービスを指定していないか。

  • 指定したユニットがほかのジョブネットコネクタを指定していないか。

待ち合わせ条件

次についてチェックします。

  • 指定した待ち合わせ対象ユニットがあるか。

  • 指定した待ち合わせ対象ユニットのユニット種別は,待ち合わせ対象ユニットに指定できるユニット種別であるか。※2

実行エージェント制限

マネージャー側で,実行エージェントが許可されているかどうかをチェックします。※3,※4,※5

空ジョブ定義

UNIXジョブで,[スクリプトファイル名]または[コマンド文]が指定されているかどうかをチェックします。

PCジョブで,[実行ファイル名]が指定されているかどうかをチェックします。

JP1イベント受信監視ジョブで,[イベントID]が指定されているかどうかをチェックします。

実行エージェント名

  • UNIXジョブ

  • PCジョブ

  • アクションジョブ

実行先サービスが[標準]※6

次についてチェックします。

  • マネージャー側で,実行エージェントが登録されているか。

  • マネージャー側で,実行エージェントに設定されている実行ホスト名(エージェントホスト名)を解決できるか。

  • エージェント側で,マネージャーのホスト名を解決できるか。※7

実行先サービスが[キューレス]

次についてチェックします。

  • マネージャー側で,エージェントのホスト名を解決できるか。

  • エージェント側で,マネージャーのホスト名を解決できるか。※7

イベントジョブ

次についてチェックします。

  • マネージャー側で,実行エージェントが登録されているか。

  • マネージャー側で,実行エージェントに設定されている実行ホスト名(エージェントホスト名)を解決できるか。

  • エージェント側で,マネージャーのホスト名を解決できるか。※7

  • ジョブネット※6

  • カスタムジョブ※6

  • フレキシブルジョブ※5,※6

  • HTTP接続ジョブ※6

次についてチェックします。

  • マネージャー側で,実行エージェントが登録されているか。

  • マネージャー側で,実行エージェントに設定されている実行ホスト名(エージェントホスト名)を解決できるか。

  • エージェント側で,マネージャーのホスト名を解決できるか。※7

ユーザーマッピング

エージェント側でユーザーマッピングが正しくできるかどうかについて,JP1ユーザー,実行元ホスト,OSユーザーを通常のジョブ実行時と同一の方法でチェックします。ただし,JP1ユーザーにマッピングされているOSユーザーの存在確認は行いません。

なお,実行ユーザー固定機能を使用している場合,ユニット属性プロファイルの設定内容に従って,固定されているJP1ユーザーのユーザーマッピングをチェックします。※3,※5

ジョブ詳細定義

UNIXジョブ

スクリプトファイル名※9

ファイルがAgent上に存在するかチェックします。

環境変数ファイル名

  1. ファイルがAgent上に存在するかチェックします。

  2. ファイルのアクセス権限をチェックします。

ワークパス

  1. パスがAgent上に存在するかチェックします。

  2. パスのアクセス権限をチェックします。

標準入力ファイル名

  1. ファイルがAgent上に存在するかチェックします。

  2. ファイルのアクセス権限をチェックします。

標準出力ファイル名

  1. ファイル上位のディレクトリがAgent上に存在するかチェックします。

  2. ファイルが存在する場合はアクセス権限をチェックします。

標準エラー出力ファイル名

  1. ファイル上位のディレクトリがAgent上に存在するかチェックします。

  2. ファイルが存在する場合はアクセス権限をチェックします。

実行時のユーザー

ユーザーマッピングでチェックします。

転送元ファイル※9

  1. ファイルがManager上に存在するかチェックします。

  2. ファイルのアクセス権限をチェックします。

転送先ファイル※9

  1. ファイルがAgent上に存在するかチェックします。

  2. ファイルのアクセス権限をチェックします。

PCジョブ

実行ファイル名※9

ファイルがAgent上に存在するかチェックします。

環境変数ファイル名

ファイルがAgent上に存在するかチェックします。

ワークパス

パスがAgent上に存在するかチェックします。

標準入力ファイル名

ファイルがAgent上に存在するかチェックします。

標準出力ファイル名

ファイル上位のディレクトリがAgent上に存在するかチェックします。

標準エラー出力ファイル名

ファイル上位のディレクトリがAgent上に存在するかチェックします。

実行時のユーザー

ユーザーマッピングでチェックします。

転送元ファイル※9

ファイルがManager上に存在するかチェックします。

転送先ファイル※9

ファイルがAgent上に存在するかチェックします。

JP1イベント受信監視ジョブ

イベントID

イベントIDの形式に合致するかチェックします。

実行前のイベント検索

検索前時間は範囲内かどうかチェックします。

ファイル監視ジョブ

監視対象ファイル名

ファイル名の形式をチェックします。

メール受信監視ジョブ

プラットフォーム

PC/UNIXが実行先ホストと一致しているかチェックします。

アクションジョブ共通

プラットフォーム

PC/UNIXが実行先ホストと一致しているかチェックします。※8

実行ファイル権限※9,※10,※11

ジョブ実行OSユーザーが該当する実行ファイルに対して実行権限および読み取り権限を持つかどうかを,通常のジョブ実行時と同一の方法でチェックします。ただし,UNIX上で実行されるキューレスジョブについては,ジョブ実行OSユーザーがスーパーユーザー権限を持つOSユーザー(rootユーザー)の場合は実行権限のチェックはしません。

また,ジョブ実行OSユーザーのプライマリーグループでだけ実行ファイル権限のチェックを行います。

注※1

[接続範囲]に[別サービス]を指定して接続先ホストで接続元制限機能を有効にしている場合は,接続先ホストのマネージャー用接続許可設定ファイルに,ジョブネットコネクタが定義されているホストのIPアドレスを設定する必要があります。設定しないで定義内容の事前チェックを実施した場合,チェック結果の「NUMBER OF CHECKUNITS」に表示される「チェックが完了したユニット数」が,ジョブネットコネクタの分だけ少なくなり,メッセージKAVS3431-Iが統合トレースログに出力されます。

注※2

ルートジョブネット,およびその配下のユニットを待ち合わせ対象ユニットに指定している場合は,起動条件の使用有無に関係なくチェックします。

プランニンググループ配下のネストジョブネットやジョブを待ち合わせ対象ユニットに指定している場合は,定義不正はチェックされません。

待ち合わせ条件による実行順序のループはチェックされません。

注※3

プロファイルの状態(有効/無効)に関係なく,ajschkdefコマンドで指定したプロファイルの内容に基づいてチェックします。

注※4

実行エージェントが実行エージェントプロファイルに設定されているかどうかをチェックします。このため,チェック対象のジョブが実行エージェントプロファイルでジョブ実行時に制限確認しない設定(JobExec=off)であっても,チェックします。

注※5

フレキシブルジョブの場合,エージェントを中継エージェントに読み替えてください。宛先エージェントはチェックしません。

注※6

実行エージェントグループ名が指定されている場合はチェックしません。

注※7

エージェントとマネージャー間の通信でNAT(ネットワークアドレス変換)を使用している場合は,マネージャーホスト名から解決されたIPアドレスがエージェントホストとマネージャーホストで異なるため,この項目のチェック結果はエラーになります。設定に問題がなければエラーを無視してください。

注※8

MSMQ送信ジョブはUNIX環境で実行できないため,プラットフォームの指定はできません。プラットフォームに「PC」が指定されたと仮定してチェックします。

注※9

相対パス,およびUNCパスが指定された場合はチェックしません。

注※10

PCジョブ(Windowsホストの場合)はチェックしません。

注※11

フレキシブルジョブはチェックしません。

(2) 事前チェックの流れ

定義内容の事前チェックの流れを次に示します。

図8‒2 定義内容の事前チェックの流れ

[図データ]

(3) 注意事項

定義内容の事前チェックを実施する際の注意事項を次に示します。

  1. 定義内容の事前チェックは,本番業務が実行中でない時間帯に実行してください。本番業務の実行中に定義内容の事前チェックを実行した場合,次に示す現象が発生するおそれがあります。

    • スケジューラーデータベースへのアクセス競合によって,業務実行性能が劣化する

    • システムへの負荷が一時的に集中したことによって,ジョブ実行処理でエラーが発生する

  2. 定義内容の事前チェックを実施するために,マネージャー側のJP1/AJS3サービスを起動しておく必要があります。

  3. 定義内容の事前チェックの多重実行はできません。

  4. UNIXジョブの[スクリプトファイル名],またはPCジョブの[実行ファイル名]にパラメーターも同時に指定している場合,定義内容の事前チェックではエラーとして検出されます。

  5. イベントジョブの引き継ぎ情報はチェックの対象外です。

  6. マクロ変数はチェックの対象外です。

  7. 環境変数はチェックの対象外です。

  8. ジョブ定義で「$変数名$」形式の変数を使用した項目は,チェック対象外です。なお,定義内容の事前チェックでは,「$」を2回以上使用している場合,「$変数名$」形式の変数を使用していると見なします。

  9. UNIXの場合,JP1/AJS3 Check Managerサービスは,servicesファイルに設定されている「jp1ajs2chkman」サービスのポート番号を使用しません。

  10. スクリプトファイルのアクセス権限のチェックでは,運用時とは異なる方法でチェックを実施するため,実際には正常終了するジョブを,定義内容の事前チェックでエラーとして検出する場合があります。

  11. メッセージKAVS3400〜KAVS3431は,「統合トレースログ」または「標準出力」だけに出力されます。

  12. Windowsで,環境変数ファイル,標準入力ファイル,標準出力ファイル,および標準エラー出力ファイルにフォルダを指定して,キューレスエージェントサービスで実行した場合には正常終了しますが,定義内容の事前チェックではエラーとして検出されます。

  13. UNIXで,環境変数ファイルにディレクトリを指定して,キューレスエージェントサービスで実行した場合には異常終了しますが,定義内容の事前チェックではエラーとして検出されます。

  14. ajschkdefコマンドで-Aオプションを指定した場合,実行ファイル権限チェックにジョブ実行OSユーザーの情報が必要なため,「ユーザーマッピング」も前提としてチェックされます。ただし,Windowsの場合,[詳細定義−[PC Job]]ダイアログボックスの[実行時のユーザー]に指定されたユーザーで,OSのログオン確認はチェックしません。

  15. 次に示す条件が重なる場合は,一時ファイルを作成して定義内容の事前チェックを実施します。

    • UNIXジョブの[標準出力ファイル名],[標準エラー出力ファイル名],または[転送先ファイル名]に実在しないファイルを指定する

    • 上記ジョブを対象に,-Dオプションを指定して定義内容の事前チェックを実施する

    一時ファイルは,上記の条件に該当するジョブの[標準出力ファイル名],[標準エラー出力ファイル名],または[転送先ファイル名]で指定した場所に作成されます。そのため,[標準出力ファイル名],[標準エラー出力ファイル名],または[転送先ファイル名]で指定したファイルの上位ディレクトリは,更新日時が変わることがあります。

    なお,一時ファイルはチェック終了後に削除されます。

  16. 次に示すユニットおよびその配下のユニットは,チェックしません。

    • リモートジョブネット

    • マネージャージョブネット

    • マネージャージョブグループ

  17. ジョブネットリリース機能を使用している場合は,リリース状態が「適用中」の定義内容について事前チェックを実施します。リリース状態が「リリース待ち」の定義内容はチェックできないため,リリース元ジョブネットをチェックしてください。

  18. 接続元制限機能を有効にしていても,マネージャーホストが接続先のエージェントホストに接続できるかどうかは,チェックされません。そのため,接続が許可されていないエージェントホスト上で実行するようにユニットが定義されている場合でも,定義内容が正しければ,事前チェックではエラーは検出されません。ただし,[接続範囲]に[別サービス]を指定したジョブネットコネクタは,接続先ホストでジョブネットコネクタが定義されているホストの接続が許可されていないと,定義内容をチェックできません。

  19. チェック対象のジョブの実行先ホスト名(エージェントホスト名)に,エイリアスホスト名は使用できません。エイリアスホスト名を使用すると,チェック結果が正しく出力されない場合があります。

(4) クラスタ運用時の注意事項

クラスタ運用している場合の,定義内容の事前チェックを実施する際の注意事項を次に示します。

  1. クラスタ環境で,論理ホスト上のユニットに対して定義内容の事前チェックをする場合は,論理ホストの実行系でチェックを実施してください。待機系ではチェックできません。

  2. クラスタ環境で,実行系の論理ホスト上のユニットをチェックしているときにフェールオーバーが発生した場合,チェックが中断されます。フェールオーバー後に実行系になった論理ホストでチェックが再開されることはありません。