JP1を知らないと官庁・金融系の現場に入りにくい
インフラSEとして官庁や金融系の現場に入ると、JP1(日立のジョブ管理・統合システム運用管理ツール)を使っている環境が多い。
JP1/AJS(Automatic Job Management System)はジョブスケジューリングを担当するコンポーネントで、バッチ処理の定義・実行・監視・履歴管理を一元管理できる。
JP1の基本を知っているかどうかで、現場でのキャッチアップ速度が大きく変わる。
JP1/AJSの基本概念
ユニット(Unit)
JP1の設定単位は「ユニット」と呼ぶ。
| ユニット種別 | 説明 | |---|---| | ジョブネット | ジョブをまとめる単位 | | ジョブ | 実際に実行するスクリプト・コマンド | | スケジューラーサービス | ジョブネットを管理するサービス |
ジョブネットの中にジョブを定義し、ジョブネット単位でスケジューリングする。
実行フロー
スケジューラーサービス
└── ジョブネット(〇時に起動)
├── ジョブA(スクリプト実行)
├── ジョブB(AのOKを待って実行)
└── ジョブC(Bのエラーの場合に実行)
ジョブ間に依存関係(先行・後続)を設定できるため、「ジョブAが正常終了した場合のみジョブBを実行する」という制御が可能だ。
スケジュール定義の種類
JP1/AJSでジョブネットを動かすには実行登録が必要だ。
定時実行(スケジュール実行) 毎日22:00に実行・毎週月曜日に実行など、定期的な実行を設定する。
即時実行 手動でジョブネットを実行する。テスト時や障害後のリカバリ実行に使う。
起動条件(トリガー実行) ファイルの到着やイベントを検知して自動実行する。ファイル連携バッチでよく使われる。
移行設計で必要な確認項目
JP1環境を別サーバーに移行する案件では、以下を必ず確認する。
1. ユニット定義の一覧化
移行元のユニット定義をエクスポートして一覧を作る。
# ユニット定義のエクスポート(例)
ajsprint -r -t <ユニット名> > unit_definition.txt
どのジョブネットがどのスケジューラーサービスに属しているか整理する。
2. 実行アカウントの確認
ジョブはどのOSアカウントで実行されているか。移行先にも同じアカウントが必要になる。
3. 実行スクリプトのパス確認
ジョブに設定されているスクリプトのパスが、移行先でも同じパスで参照できるか確認する。サーバー名・マウントポイントが変わる場合は設定変更が必要。
4. 接続先エージェントホストの確認
JP1/AJSマネージャーからエージェントに接続してジョブを実行する構成では、エージェントのホスト名・IPアドレスの変更に伴う設定変更が必要になる。
5. 実行履歴・ログの移行要否
過去の実行履歴を移行先に持っていく必要があるか確認する。通常は不要だが、監査要件がある場合は別途保管が必要。
よくある設定ミス
ジョブの実行ユーザー忘れ
JP1/AJSエージェントを使う構成では、ジョブを実行するOSユーザーをエージェント側に登録しておく必要がある。移行後に「ジョブが実行エラーになる」原因の多くはこれ。
タイムゾーン不一致
JP1マネージャーとエージェントのOSタイムゾーンが異なると、スケジュール時刻がずれる。移行時はタイムゾーン設定を必ず確認する。
ジョブネットの実行登録し忘れ
ユニット定義を移行しただけでは動かない。ジョブネットを「実行登録」しないと、スケジュール実行が始まらない。本番切替後にスケジューラーを確認する。
JP1/IMとの連携
官庁・金融系の現場ではJP1/AJSとJP1/IM(統合コンソール・監視)を組み合わせて使うことが多い。
JP1/AJSのジョブが異常終了するとJP1/IMに事象が上がり、監視オペレーターが検知する構成だ。
移行設計では、JP1/AJSの設定だけでなくJP1/IM側の設定(イベント転送先・フィルター設定)も確認が必要になる。
JP1スキルの市場価値
JP1を扱えるインフラSEは、官庁・金融系の案件で重宝される。
理由は単純で、JP1は専門性が高く、独学で習得しにくい。現場で経験を積んだ人材が限られているため、経験者は単価が上がりやすい傾向がある。
自分の担当工程・スキルの市場単価を確認したい場合はこちら。
まとめ
JP1/AJSの基本:
- ジョブネットの中にジョブを定義する構造
- スケジュール定義は「定時」「即時」「起動条件」の3種類
- 移行設計では定義一覧・実行ユーザー・スクリプトパス・エージェント設定を確認
移行後によくあるトラブル:実行ユーザー設定漏れ・タイムゾーン不一致・実行登録忘れ。
JP1の経験は官庁・金融系案件で評価されやすい専門スキルだ。