(57)【要約】【課題】ネットワークのログ管理において、各サーバのアプリケーションを停止させることなくログレベル、およびログ出力先を変更する方法および装置、さらに外報オフを用いたコンピュータプログラムを提供する。【解決手段】本発明はネットワークにおけるログ管理方法および装置に関し、サーバ上のアプリケーションを停止することなく、各アプリケーションにログレベルおよび出力先変更のコードを挿入し、コマンドを各アプリケーションに送信することによってログレベルの変更およびログ出力先の変更を動的に実行することができる。またインターネット等を用いて複数のアプリケーションを一括して管理することができる。【選択図】    図１
2004152024.tif 000002
【特許請求の範囲】
【請求項１】
複数のアプリケーションを管理しており、各アプリケーションごとに独立にログレベルの変更を行うことができることを特徴とするログ管理方法。
【請求項２】
複数のアプリケーションを管理しており、各アプリケーションごとにログ出力先の変更を行うことができることを特徴とするログ管理方法。
【請求項３】
複数のアプリケーションを管理しており、各アプリケーションごとに独立にログレベルの変更とログ出力先の変更を行うことができることを特徴とするログ管理方法。
【請求項４】
前記請求項１ないし３に記載のログ管理方法であって、各アプリケーションに対応してコマンド操作者が該コマンドを操作する資格を有するか否かを判断する認証段階を含み、有資格者である場合コマンド操作を許可することを特徴とするログ管理方法。
【請求項５】
前記コマンドはネットワークを経由して伝達されることを特徴とする請求項１ないし４の何れか１項に記載のログ管理方法。
【請求項６】
各アプリケーションに対応した識別子によってネットワークからコマンドを伝達することを特徴とする請求項４または５に記載のログ管理方法。
【請求項７】
前記コマンドはログ出力先アドレスおよびログレベルを有していることを特徴とする請求項１ないし６のいずれか１項に記載のログ管理方法。
【請求項８】
１つ以上のログ出力先アドレスを登録する手段と、前記コマンドにより登録済みのログ出力先アドレスを指定し出力することを特徴とする請求項１ないし７のいずれか１項に記載のログ管理方法。
【請求項９】
前記方法により複数のサーバのログを一括管理する請求項１ないし８の何れか１項に記載のログ管理方法。
【請求項１０】
コンピュータに対して請求項１ないし９のいずれかに記載されたログ管理方法を実行させるコンピュータプログラム。
【請求項１１】
複数のアプリケーションを管理しており、各アプリケーションごとに独立にログレベルの変更を行うことができることを特徴とするログ管理システム。
【発明の詳細な説明】
【０００１】
【発明が属する技術分野】
本発明は分散アプリケーション実行環境におけるログ管理に関し、特にログレベルおよびログ出力先を動的に変更するログ管理方法および当該方法を用いたコンピュータプログラムに関する。
【０００２】
【従来の技術】
【特許文献】
特開２０００−２９７５１号公報
特開２００２−７３３７７号公報
特開平１１−３２７９６５号公報
【０００３】
ネットワークなどのシステムに障害が発生した場合、ログを解析して問題を解決することが広く行われている。しかしながら障害が発生しない状況でもログは記録されるため、ログ出力装置には膨大な量のログが記録される。従ってログ出力先サーバは膨大な記憶容量を必要とし、またログ解析時にはこの中から必要な情報を取得しなければならないため、必ずしも効率的なシステムの管理、保守が行える状況ではないのが現状である。
【０００４】
このようなことから例えば特開２０００−２９７５１号公報にはログを参照するユーザのレベルに応じて必要なログのみを表示させるログ管理方法が提案されている。しかしながら本文献の発明はログ出力内容、すなわちログレベルの動的な変更には対応していないため、当業者には明白であるがログレベルを変更するにはアプリケーションを停止させる必要がある。
【０００５】
また特開２００２−７３３７７号公報にもログ管理の方法が記載されているが、該文献の方法はフィルタリングにより必要なログ情報を取り出すものであり、動的なログレベルの変更は不可能である。さらに文献特開平１１−３２７９６５号公報にはログレベルの動的な変更が記載されているが、ＵＮＩＸ（登録商標）をベースにしたシステムであり、この場合ネットワークを用いた分散アプリケーション実行環境では、リモート操作によりログレベル等を変更する場合、相手のプロセスＩＤを知る必要があり、事実上管理が極めて困難である。
【０００６】
【発明が解決しようとする課題】
以上のような状況から、本発明はアプリケーションを停止させることなくログレベルおよびログ出力先を変更でき、またコマンドを送受信することによりネットワークによるリモート操作を可能にするログ管理方法および当該方法を用いたコンピュータプログラムまたはシステムを提供することを課題とする。
【０００７】
【課題を解決するための手段】
以上の課題を解決するために、複数のアプリケーションを管理しており、各アプリケーションごとに独立にログレベルの変更を行うことができることを特徴とするログ管理方法を提供する。
【０００８】
複数のアプリケーションを管理しており、各アプリケーションごとにログ出力先の変更を行うことができることを特徴とするログ管理方法を提供する。
【０００９】
複数のアプリケーションを管理しており、各アプリケーションごとに独立にログレベルの変更とログ出力先の変更を行うことができることを特徴とするログ管理方法を提供する。
【００１０】
各アプリケーションに対応してコマンド操作者が該コマンドを操作する資格を有するか否かを判断する認証段階を含み、有資格者である場合コマンド操作を許可することを特徴とするログ管理方法を提供する。
【００１１】
上記記載の本発明のログ管理方法において、前記コマンドはネットワークを経由して伝達されることを特徴とするログ管理方法を提供する。
【００１２】
上記記載の本発明のログ管理方法において、各アプリケーションに対応した識別子（ｕｒｌ等）によってネットワークからコマンドを伝達することを特徴とするログ管理方法を提供する。
【００１３】
上記記載の本発明のログ管理方法において、前記コマンドはログ出力先アドレスおよびログレベルを有していることを特徴とするログ管理方法を提供する。
【００１４】
上記記載の本発明のログ管理方法において、１つ以上のログ出力先アドレスを登録する手段と、前記コマンドにより登録済みのログ出力先アドレスを指定し出力することを特徴とするログ管理方法を提供する。
【００１５】
前記方法により複数のサーバのログを一括管理するログ管理方法を提供する。
【００１６】
コンピュータに対して本発明のログ管理方法におけるログ管理方法を実行させるコンピュータプログラムを提供する。
【００１７】
複数のアプリケーションを管理しており、各アプリケーションごとに独立にログレベルの変更を行うことができることを特徴とするログ管理システムを提供する。
【００１８】
【発明の実施の形態】
本発明の実施例を図を用いて以下に説明する。図１は本発明を概念的に示した図であり、ＩＤＣセンタでの使用を想定している。同図に示されているようにＩＤＣセンタ内にログレベル変更ツール、およびログ出力先変更ツール３が設置されている。しかしながら本発明はこれに限定されるものではなくログ管理を必要とする状況で常に使用することができる。図１に示したようにＩＤＣセンタ１において、ユーザアプリケーション２が例えば、アプリケーションをデバッグするのに最も良く用いられる詳細情報のイベントである「ＤＥＢＵＧ」、粗いレベルでのアプリケーションの進行を表示する情報のメッセージである「ＩＮＦＯ」、潜在的に有害となる状況を示す「ＷＡＲＮ」、アプリケーションを動作し続けることができるエラーイベントである「ＥＲＲＯＲ」、およびアプリケーションの動作を中止させてしまう非常に深刻なエラーイベントである「ＦＡＴＡＬ」などのログをログ専用サーバ４に出力する。
【００１９】
正常時においては記録するログ情報は例えば「ＩＮＦＯ」「ＷＡＲＮ」などと設定することでサーバに出力されるログ情報を少なくすることができる。またシステムに障害が発生したときは、ユーザアプリケーションを停止することなくログ出力レベルおよびログ出力先を変更し、ローカルサーバ５に詳細ログのみ出力する。その後ローカルサーバのログ情報を解析して必要な処置を施す。
【００２０】
ここで本発明においては、ＳＥがログレベルを変更するとき、ログレベル変更ツールを用いてログ出力レベルを例えば「ＥＲＲＯＲ」「ＦＡＴＡＬ」から「ＷＡＲＮ」「ＥＲＲＯＲ」「ＦＡＴＡＬ」に変更し、これをローカルサーバに出力するように変更する。このログレベル変更ツールと関連して、サーバ、アプリ管理データベースによりサーバ名、アプリケーション名を通信できるＩＰアドレス、アプリケーション識別子等と対で管理する。つまり該データベース内にサーバ名、アプリケーション名の一覧が収録されており、それらに対応するＩＰアドレス、アプリケーション識別子の一覧が収録され、サーバ名、アプリケーション名が入力されるとそれに対応するＩＰアドレスやアプリケーション識別子が呼び出される。このようにして呼び出された各情報が、図５に示したツール画面と連動し、電文を送信するときにコマンドとして送信される。またＳＥはサーバを直接操作するだけでなく例えばインターネットなどのネットワーク７を経由して、コマンドを該当するユーザアプリケーションに対しｕｒｌ等の識別子を指定することによって送信してログレベルおよびログ出力先を指定することができる。またユーティリティ８を用いてサーバに記録されているログを見ることができる。
【００２１】
次に上記記載の本発明をより詳細に説明する。ログレベルを動的に変更するには各ユーザアプリケーションにログレベル変更のためのアプリケーション・ライブラリを組み込んでおく必要がある。このとき組み込むアプリケーション・ライブラリはログレベル変更コマンドのインターフェースとなるため汎用的なプログラムであることが望ましい。
【００２２】
図２にログレベル変更の一例を示した。ログレベルおよび出力先変更ツール１０によってＳＥが目的のアプリケーションにメッセージを送信１１する。該メッセージを以下「電文」と称する。ログレベル変更の電文に必要な情報は少なくとも、ログレベル変更電文を示すヘッダー情報（例えば「ｌｏｇｌｖｌｃｈｇ」）、ログレベル変更を行うサーバ名（例えば「ｓｖ１」）、ログレベル変更を行うアプリケーション名（例えば「ａｐｌ１０１」）、ログレベル変更を行いたいレベル（例えば「ＷＡＲＮ」）である。またこの電文はコマンドを含んでいる。アプリケーションが電文を受信１２すると次に当該電文がログレベル変更の電文か否かを、電文のヘッダーをチェックすることにより判断１３し、ログレベル変更の電文の場合はログレベル変更部品１４に処理が移行する。ここで当業者には明白であるが、電文が目的のアプリケーションに到達したときはヘッダーに含まれるサーバ名およびアプリケーション名は必要ない。従って電文の意味が同じであれば途中の経路でサーバ名およびアプリケーション名が削除されフォーマットが変更されることも考えられるが、この場合でも本発明の範囲である。
【００２３】
次に図３にログレベル変更部品での処理を示す。前記ログレベル変更対象アプリケーションでの処理の結果がログレベル変更部品に渡される２０。ログレベル変更部品が電文を受け取ると該電文が上記記載の情報、例えばアプリケーション名の有無などの、所定の形式を満たしているか否かを判断する２１。満たしている場合は次にログレベルの変更２２を行う。ログレベルの変更終了後正常に終了したか否かを判断し２３、正常終了しない場合はエラー処理を行う２４。ここで、ログレベル変更部品は単独での呼び出しが可能であって、例えばイベント駆動型の場合のアプリケーションではイベントで発生した電文が電文受付２０に入力される。
【００２４】
次の段階はログレベルの変更であり、これを図４に示した。前記記載のようにログレベル変更電文が所定の形式を満たしている場合ログレベルの変更３０が行われ、必要なログレベルが設定される。その後正常に終了したか否かを判定し３１、正常に終了しない場合はエラーコードを設定し処理を終了する。この様にすることでアプリケーションを停止することなくログレベルを変更することができる。
【００２５】
次にＳＥが操作するログレベル変更ツールの動作を説明する。ログレベル変更ツールは例えばｊａｖａ（登録商標）、ＣＧＩなどで作成することができ、図５に示したようにログレベルおよびログ出力先変更の画面４０、４１をそれぞれ構成することができる。ログレベルを変更する場合は図５中の４０で示したように、対象とするサーバ名、およびアプリケーション名、および変更後のログレベルをそれぞれ指定できるようにメニュー画面を構成する。また同図４１に示したようにログ出力先を変更する場合は、現在のサーバおよびアプリケーションであるログ出力元サーバ名、ログ出力元アプリケーション名、変更後のログレベル、ログ出力先サーバ名およびアドレス（所在場所またはファイル名）を設定できるように画面を構成する。これは、ファイル名を固定にし、出力先サーバ内の所在場所を指定、或いは、所在場所は固定でファイル名だけを指定することも可能である。しかしながら、構成する画面はユーザあるいはプログラマ等が必要に応じて適宜決定できるため本実施例に限定されるものではない。
【００２６】
このようなログレベル変更ツールの動作を以下に説明する。図６は該ログレベル変更ツールの動作の一例を示すフローチャートである。図示したように前記ツール画面で各メニューの項目を設定５０し、次に設定したサーバあるいはアプリケーションが存在するか否かを判断５１し、存在する場合にはログレベル変更のために通信を行う５２。ログレベルの変更処理が終了するとメッセージを受け取り、結果を画面に表示する５４、５５。
【００２７】
同様にしてログ出力先変更ツールについても説明する。本実施例ではログ出力先変更ツールもログレベル変更ツールと同様の動作である。図７に示したように、前記ログ出力先変更ツールで設定した各メニュー項目６０に関してサーバおよびアプリケーションの存在を判定し６１、存在するならばログ受付アプリケーションの入力および変更のための通信を行う６２。その後変更できた場合、あるいはできなかった場合のメッセージを表示する。
【００２８】
以上記載したようにログレベルおよびログ出力先の変更を行う。また、本実施例ではそれぞれの処理がシーケンシャルに実行されるが、イベント駆動型の環境において、各処理がイベントによって動作しても良い。この場合イベントによるメッセージは図２、３の電文受付１２、２０にそれぞれ直接送信される。ここで、本発明は前記記載の通りログレベル変更ツールからの電文を各アプリケーションに伝達してログ管理を行うものである。従って図１に示したようにインターネット７等のネットワークを用いて遠隔操作によってもログ管理を行うことができ、さらに複数のサーバを一括して管理することができる。従ってこの場合ログレベル変更ツールを使用する人の認証を行う必要がある。つまりコマンド操作者がコマンドを操作する資格を有するか否かを、例えばパスワード等によって認証し、資格を有することを確認後、操作画面が表示される。次にこれらの処理の実装に関して説明する。
【００２９】
通常ログを記録するためにはログ文を出力するコードを各アプリケーションのソースコードに挿入しなければならない。しかしこの方法はアプリケーションを読みにくくしバグの原因となるだけでなく、プログラマによってログ管理の方法が異なっておりコードの再利用が困難である。しかしながら現在ではログの制御にはｌｏｇ４ｊと呼ばれるｊａｖａ（登録商標）用のオープンソースが用いられており、プログラマは共通のＡＰＩを使用できるようになった。ｌｏｇ４ｊではロギング要求を複数のアペンダに出力する。またあらかじめログ出力先アドレスを登録しておき、初期の状態では無効としてログ出力時に有効に切り替えることで効率よくログの出力を行うことができる。
【００３０】
以上のような方法を実施する装置を用いて動的にログレベルの変更およびログ出力先を変更することができる。さらに前記記載のようなログレベル、出力先変更などを行う装置とインターネットとを組み合わせたシステムを構築することによって遠隔操作によるログ管理を行うことができる。
【００３１】
【発明の効果】
以上説明したように、本発明のログ管理方法および装置を用いることによって、サーバ上のアプリケーションを停止することなくログレベルの変更、およびログ出力先の変更をすることができる。
【図面の簡単な説明】
【図１】図１は本発明のログ管理方法を示した概念図である。
【図２】図２は本発明のログ管理方法におけるログレベル変更対象アプリケーションの動作を示したフローチャートの一例である。
【図３】図３は本発明のログ管理方法におけるログレベル変更部品の動作を示したフローチャートの一例である。
【図４】図４は本発明のログ管理方法におけるログレベル変更の動作を示したフローチャートの一例である。
【図５】図５は本発明のログ管理方法におけるログレベル変更ツールの操作画面を示した図である。
【図６】図６は本発明のログ管理方法におけるログレベル変更ツールの動作を示したフローチャートの一例である。
【図７】図７は本発明のログ管理方法におけるログ出力先変更ツールの動作を示したフローチャートの一例である。
【符号の説明】
１  ＩＤＣセンタ
２  ユーザアプリケーション
４  ログ専用サーバ
５  ローカルサーバ
８  ログ閲覧ユーティリティ
１１  電文
４０  ログレベル変更の画面構成
４１  ログレベル出力先変更の画面構成
【図１】
2004152024.tif 000003
【図２】
2004152024.tif 000004
【図３】
2004152024.tif 000005
【図４】
2004152024.tif 000006
【図５】
2004152024.tif 000007
【図６】
2004152024.tif 000008
【図７】
2004152024.tif 000009