Google
オフコン練習帳内を検索
インターネット全体を検索

NECオフコン関連
オフコン一般
情報

トップ  >  ログと自動通報遠隔監視

1.A−VX固有のログ

(1)A−VX固有のログの種類

まずA−VXがITOSと呼ばれていた頃から存在する、A−VX固有のログについて説明します。 ログを情報別にいくつかの種類に分けています。A−VXの世界でログというと、一般的にジョブ活動記録(ジョブログ)、メッセージ記録(メッセージログ)、利用者情報記録(ユーザログ)の3種類となります。

この3種類については、どの種類のログを取るかを選択できます。例えば、「うちはジョブログだけでいいよ」という場合であればジョブログだけ、「このサーバはメッセージログとジョブログの2つが必要」であるならばその2つだけ取る、といったように設定できます。
「うちは3つとも使用しないよ」という選択肢もあります。

ログを取るか取らないかとどのファイルにログを書き込むかという設定は、システム生成で行います。逆に言うとちゃんとシステム生成で設定されていないとログは採られないということです。

ジョブ活動記録
(システム活動記録)
何日何時何分にどのオペレータがどの端末でどのロードモジュールを起動して、いつ終了したかといった情報を記録する。
メッセージ記録何日何時にどの端末でどのロードモジュールが何のメッセージを画面に表示したかを記録する。ここでいうメッセージとは、メッセージファイル(SYS@MSG、システムメッセージとユーザが登録したメッセージが入っている)を利用したメッセージが対象。それ以外にCOBOLプログラム上から「COBOLシステムサブルーチン」というものを使用して記録することも可能。
利用者情報記録
(ジョブ記録)
COBOLプログラム上から「COBOLシステムサブルーチン」というものを使用して記録する。システム側は使用しないので、自分専用のログを作りたいときに使用する。ログの内容もフォーマットも自由に決められる。
ハードウェアエラー情報(保守記録)ITOSやA−VX10、A−VXII時代(要するに昔のオフコン)に記録されていたログ。A−VXIII以降(A−VXIV、A−VX01含む)ではこのログは無く、ハードウェアのエラーはWindows側のイベントログに直接出力される(ようです?)
(昔のオフコンの場合ですが)ハードウェアのエラーのログで、上の3つとは異なり必ず記録される。
リモートコンソールログ上記のログとは異なり、遠隔監視で使用されるログ。監視対象のサーバのログが転送されると、監視しているサーバ上でこの名前のログになる


ジョブ活動記録、メッセージ記録の2つは、ユーティリティ(#LGEDT)で表示したり印刷したりすることができます。利用者情報記録は、ユーザが自由に記録できるログ(ユーザ用に提供されているログ)なので、記録されたログ情報を見るユーティリティは用意されていません。一般的にはそういうプログラムを自分で作成することになります。

この3種類のログのうち、メッセージ記録だけがWindowsのイベントログに出力されます。従ってメッセージ記録だけはWindows側から見ることができます。ジョブ活動記録と利用者情報記録の2つは、イベントログに出ないので、A−VX上で見なければなりません。

このログの名前は、なぜかマニュアル/説明書ごとに異なる表現で、複数の説明書を読んでいると混乱します。この文書の中では、仮に上の表で記した名称で統一します。

(2)ジョブ活動記録

ジョブ活動記録の情報を貯めているファイルのことをジョブログファイル(またはジョブログ)と呼びます。

ジョブ活動記録は、プログラムの起動/終了時点で以下の情報(主なもののみ)が出力されます。

  • ジョブ実行記録を出力した日付/時刻
  • プログラムの開始時刻
  • プログラムの終了時刻
  • プログラム名
  • プログラムを起動したJS、PM名
  • プログラムを起動したステーション(端末)番号
  • 操作者のオペレータID、カンパニID
  • 終了状態(異常終了したかなど)

即ち誰が何時にどの端末から何のプログラムを実行したのかがわかります。
ログ編集ツールジョブログ詳細画面

STN000でオペレータQQQが、04/04/10(?) 17:46:52に#SORTを起動し、04/04/10 17:47:58に終了したことがわかる。終了は「異常終了」であり、JS/PM名が書いていないので、JS/PMからの起動ではなく、直接RUNコマンドから手入力で実行したということが分かる。

場合によっては、重要な問題になりそうなことが1つあります。重要な問題というよりも致命的な問題かもしれません・・・。
プログラムの開始と終了は"時刻”しか取っていないため、日付がまたがったかどうかがわかりません。(上の画面の例では、起動時刻が17:46:52で終了時刻が17:47:58となっている。終了は04/04/10 17:47:58であることはわかるが、起動は04/04/10 17:46:52とは限らない。もしかしたら04/04/09 17:46:52に起動したのかもしれず、あるいは03/01/01 17/46/52に起動したのかもしれない。)

(3)メッセージ記録

メッセージ記録の情報を貯めているファイルのことをメッセージログファイル(メッセージログ)と呼びます。

このログは、イベントログにコピーされたり、自動通報の対象になったりします。重要なので、少し詳細に説明します。

コンソールログ画面

メッセージ記録は、以下の場合にログに情報を出力します。

  • メッセージファイル(SYS@MSG)に登録されているメッセージが画面などに出力されたとき
  • COBOLシステムサブルーチンの「ログファイル出力」が実行されたとき


COBOLアプリケーションからメッセージ記録のログに情報を出力する方法は2つあります。

  • メッセージファイルにユーザのメッセージを登録して、COBOLアプリケーションでそのメッセージを指定して画面等に出力する。するとA−VXシステムが、同一内容を自動的にログに出力する。
  • COBOLシステムサブルーチンの「ログファイル出力」を使用して直接ログに出力する。

メッセージファイルを利用して画面などにメッセージを出力する方法はここにあります。


メッセージファイルに登録されたメッセージは、重要度や自動通報遠隔監視の通知先などを設定することができます。重要度によって、コンソールログユーティリティやイベントログの出力形式、自動通報遠隔監視の動きが変わります。

メッセージには重要度を始めとしていろいろな属性があります。(Windowsのログにも「エラー」とか「警告」とか複数のレベルがありますよね。それと同じです。)ユーザがメッセージファイルにメッセージを登録する時には、これらの値に注意しながら設定します。

●ERROR LEVEL

どのような種類のメッセージ情報なのかを分類している。エラーレベルとなっているが、正常なメッセージのときも設定する。この値と下記2情報(DISPATCH LEVEL、CENTER LEVEL)の組み合わせで、コンソールログユーティリティの動きが変わる。この情報はメッセージログ側には出力されない。つまりMM3方式の自動通報遠隔監視機能を使用する場合とコンソールログユーティリティを使用する場合は関係あるが、ESMPRO方式の自動通報遠隔監視機能やメッセージログ側にはあまり関係がない。

種別内容備考
0.HWHW関連情報
1.SWSW関連情報
2.APAP関連情報COBOLアプリケーションから出すメッセージはこれにすること
3.ENVIRONMENT環境の異常
4.POWER SHUT OFFシステムの電源切断


●DISPATCH LEVEL(メッセージレベル)

どのような重要度のメッセージなのかを示す数値。0から7まであり、数字が小さいほど重要なメッセージとなる。自動通報の対象になるかメッセージかどうかは、この数値で決まる。イベントログには「イベントID」として出力される。
メッセージファイルにユーザがメッセージを登録する時は、どの数値でも登録できますが、自動通報遠隔監視機能を使用する場合は、どの数値にするかよく考慮する必要があります。


●CENTER LEVEL

自動通報遠隔監視機能を使用する場合、通報先をどうするか示す数値。「保守センタ」とは、契約を結んでいる(たいていはNECの)保守サービス会社のこと。「センタシステム」とは自分たちの保守部門のサーバのこと。

この説明は、MM3方式の自動通報遠隔監視機能の場合です。ESMPRO方式の場合は、CENTER LEVELの意味が少々異なります。(後述)

種別内容
0.MAINTENANCE保守センタ
1.OBSERVATIONセンタシステム
2.BOTH両方


COBOLアプリケーションのメッセージもメッセージ記録のログに出すよう作成すれば、2つのログを組み合わせることによって、誰が何時にロードモジュールを起動して、何のエラーを出したか(ファイルオープンのエラーとか)がわかるようなシステムを作れるかもしれません。さらに利用者情報記録に独自の情報を出すようにCOBOLアプリケーションの構造を工夫すれば(例えば何時にどのファイルのどんなデータにアクセスしたかとかを出す)、データのアクセス管理もできるようになるかもしれません。

(4)利用者情報記録

ユーザが自分達のログを自由に出力することができます。

COBOLアプリケーション中の操作のログを残すようにするとか、あるいはCOBOLアプリケーションのデバッグ用途にも使えます。