2.A−VX固有のログの設定
- (1)A−VX固有のログの設定
-
A−VX固有のログの設定は、システム生成(SG)にて行ないます。
設定の流れは以下の通り。
- SG設定
- ログファイルの確保
- ログを有効にする(リブートorログサブコマンド実行)
- (2)システム生成(SG)の設定
-
SGには、以下の4つの情報を設定することができます。
- 記録情報(記録するログの種類)
- ログのファイル名
- ログファイルを格納する(磁気ディスクの)装置名
- ログがオーバーフローした時の処理
SGのやり方は「システム導入・変更の手引き」に書いてありますが、失敗するとA−VX起動できなくなります。
★記録情報(記録するログの種類)
どの種類の情報をログに取るかを指定する。
AC ジョブ活動記録(ジョブ実行記録) MS メッセージ記録 AP 利用者情報記録(ユーザ情報記録) RC リモートコンソールログ(リモートコンソール記録)
ここで注目することは、ジョブ活動記録、メッセージ記録、利用者情報記録の3種類の情報を別々のログファイルに取ることも、3種類のログを全部1つのログファイルに取ることもできるということです。
またメッセージ記録(MS)は、Windows側のイベントログにも出力されることも重要です。
具体的な指定方法は下に例があるので、見てください。
リモートコンソールログも入れれば4種類のログを1つのログファイルに取ることも可能ですが、リモートコンソールログは特殊なので、今回の説明では別扱いとしています。リモートコンソールログは誰かから「取ってくれ」と指定されない限り通常は設定しません。実際に設定する場合も、トラブルを避けるためにシステム生成ではリモートコンソールログは他の3つのログとは別のファイルにすべきです。
★ログのファイル名
★ログファイルを格納する(磁気ディスクの)装置名
ログファイルの名前とどの磁気ディスクにそのファイルがあるか装置名で指定する。
ここで注意することは2つ。
1つ目は上で情報を格納するファイルをいくつ指定したかということ。上で4種類のログを別々のログファイルに取ると指定(INF=(AC),INF=(MS),INF=(AP),INF=(RC))したら、4つログファイルが必要になります。上で4つを1つのログファイルに入れると指定(INF=(AC,MS,AP,RC))したら、1つだけとなります。
もうひとつは、ログファイルの名前です。これは必ず7文字で指定します。(6文字以下のファイル名や8文字以上はNGということ。)7文字で指定すると、システム側で勝手に「0」を後ろに付けたファイル名にします。仮にLOGFILEというログファイル名を指定したら、実際に使用されるログファイルは「LOGFILE0」となります。
一応システムがSYS@LOG0というログファイル専用の名前(用意されているのは名前だけです。ファイルは自分で作らなければならない。)を用意しています。しかし別の名前でもぜんぜん問題ありません。
★ログがオーバーフローした時の処理
CONTINUE メッセージ表示後、上書きして記録を続行する END メッセージ表示後、記録処理を終了する OPERATE メッセージ表示後、オペレータにより続行/終了を選択する SKIP メッセージ表示せずに、上書きして記録を続行する
CONTINUE、END、OPERATE共に、オーバーフローするとメッセージ表示されてキー入力が必要となります。キー入力されるまで処理が停止してしまうので、ずっと監視しているのなら別ですが、現実的な選択肢ではありません。SKIPが無難な選択です。後述する自動通報遠隔監視を行なうならば、SKIPしか選択肢はありません。
メッセージは、アプリケーションを実行している端末に表示されます。システムステーション(センター端末)に出るわけではありません。例えば、STN021で実行しているアプリケーションがログにエラーを出そうとして、そのときにオーバーフローしたら、システムステーションではなく、「オーバーフローした」とSTN021の画面に表示されます。
例を幾つか挙げます。
- (例1)
-
ジョブ活動記録、メッセージ記録、利用者情報記録を装置名:MSD001上のファイル:SYS@LOG0に取る。オーバーフロー時は上書きして記録を続行。
INF=(AC,AP,MS) FIL=SYS@LOG <--「0」はシステムで自動的に追加されるので、入力しない。
DVL=MSD001 OVR=SKIP - (例2)
-
ジョブ活動記録、メッセージ記録、利用者情報記録をそれぞれ、MSD001上のLOGFILA0、MSD001上のLOGFILB0、MSD002上のLOGFILA0に取る。ジョブ活動記録、メッセージ記録はオーバーフロー時は上書きして記録を続行、利用者情報記録はメッセージ表示後、記録処理を終了する。
INF=(AC) FIL=LOGFILA DVL=MSD001 OVR=SKIP INF=(MS) FIL=LOGFILB DVL=MSD001 OVR=SKIP INF=(AP) FIL=LOGFILA DVL=MSD002 OVR=END
- (例3)
-
ジョブ活動記録、メッセージ記録をMSD001上のLOGFILA0、利用者情報記録をMSD001上のLOGFILB0に取る。オーバーフロー時は上書きして記録を続行。
INF=(AC,MS) FIL=LOGFILA DVL=MSD001 OVR=SKIP INF=(AP) FIL=LOGFILB DVL=MSD001 OVR=SKIP
- (例4)
-
ジョブ活動記録をMSD001上のLOGFILA0に取る。オーバーフロー時は上書きして記録を続行。メッセージ記録と利用者情報記録は取らない。
INF=(AC) FIL=LOGFILA DVL=MSD001 OVR=SKIP
- (3)ログファイルの確保
-
SGをしたら(する前でもよいですが)、磁気ディスク上にログファイルを作成します。
システムが勝手に作ってくれてもよさそうなのですが、今は作ってくれません。
簡易操作ユーティリティ(#ABC)で作るのがよいでしょう。
- SYS@LOG0以外のログファイルならば、#ABCを起動したら、「1.ファイル情報の保守」→「1.ファイルの保守」→「1.ファイルの定義」→「19.利用者ログ」と入力していきます。
- SYS@LOG0ならば、#ABCを起動したら、「1.ファイル情報の保守」→「1.ファイルの保守」→「1.ファイルの定義」→「6.システムファイル」となります。
SGで入力した通りのファイル名、装置名を入力してください。
ファイル名は、SGで入力した7桁の英数字+「0」の8文字のファイル名になることに注意。
なおファイルは管理者権限のオペレータで作らなければなりません。
ファイルサイズについては「システム管理説明書」の「ログ機能」の章を参照してください。たぶん見てもさっぱりわからないと思いますが。サイズは最終的には経験で決めるしかありません。利用者情報記録はユーザ自身が管理するものなので、1日でどのくらいのログが出るかわかると思います。ジョブ活動記録は、1日に何回ロードモジュールを起動するか(JS、PMではなく、LMの起動回数)でどのくらいのログが出るか予想がつきます。メッセージ記録は、ちょっとくせものです。どんなアプリケーションを使うかによって出るメッセージの数が異なり、へたをするとソートするたびに「ソートを開始します」「ソートを終了します」と出て、1日で大量に出ることもあります。
1日で出るログの数を見積もったら、後は何日ログを残す必要があるかと、「システム管理説明書」の「ログ機能」のログブロック長を掛け算して、サイズを求めます。
- (4)ログを有効にする
-
このままではまだログは取りはじめません。ファイルを全部作ったら、そのログファイルにログを取るように指示する必要があります。
ログが取るようにするには、拡張システムコマンドの「ログファイル初期化」と「ログ出力開始」サブコマンドを実行します。
これは「ATTN」キーを押して「PF10:拡張コマンド」→「NO5.ログ」の順番に選択すると出てくるコマンドです。ここでまず「ログファイル初期化」サブコマンドを実行してログファイルの初期化し、次に「ログ出力開始」サブコマンドを実行します。(システムステーションかつ操作者が機密コード=Z9を持つ場合のみ実行できます。それ以外の場合は実行できないようになっています。)
成功すればログを取りはじめるはずです。
後はサーバが起動すると必ずログを取りはじめます。いちいちサブコマンドを実行する必要はありません。 ただしファイル名が間違っていたり、ログファイル無かったり、ファイルが壊れていたりすると、ログは取られません。サーバ起動時に、以下のように「ファイルが見つからない」とメッセージが出ます。
SGで指定した装置にファイルがあるか、ファイル名がSGの通りの名前か、ファイルが壊れていないか(例えば未クローズになっていないか)どうかを確認してください。
上の写真のように「ファイルが見つからない; MSD001/ /SYS@LOG0」と表示されたのならば、MSD001にSYS@LOG0が無いということなので、「(3)ログファイルの確保」のところで書いたように、#ABCを起動したら、「1.ファイル情報の保守」→「1.ファイルの保守」→「1.ファイルの定義」→「6.システムファイル」→装置に「MSD001」、ファイルに「SYS@LOG0」→領域サイズは「それなりの値」→後は適当、のような感じで定義します。