(57)【特許請求の範囲】
【請求項１】
端末と複数のサーバを有し、端末から入力されたログレベル変更コマンドに従って、ログ情報を出力するためのログレベルを変更するログレベル変更システムであって、
前記ログレベル変更コマンドの送信先のサーバは、
前記端末から前記ログレベル変更コマンドを受信する受信手段と、
前記ログレベル変更コマンドに含まれる、変更後のログレベルを示すログレベル情報と業務識別情報とを、他のサーバに送信する送信手段とを備え、
前記他のサーバは、
処理を実行するプロセスから前記他のサーバ内の記憶装置へ出力されるログ情報の数を制御するためのログレベルと業務識別情報との対応関係を示すテーブルを格納する格納手段と、
前記テーブル内のログレベルのうち、受信した業務識別情報に対応するログレベルを、受信したログレベル情報に従って変更する変更手段を備えることを特徴とするログレベル変更システム。
【請求項２】
前記送信手段は、前記ログレベル情報と前記業務識別情報とを前記他のサーバにブロードキャスト送信することを特徴とする請求項１記載のログレベル変更システム。
【請求項３】
端末と複数のサーバを有し、端末から入力されたログレベル変更コマンドに従って、ログ情報を出力するためのログレベルを変更するログレベル変更システムであって、
前記ログレベル変更コマンドの送信先のサーバは、
前記端末から前記ログレベル変更コマンドを受信する受信手段と、
前記ログレベル変更コマンドに含まれる、変更後のログレベルを示すログレベル情報と処理要求を送信する端末の端末識別情報とを、他のサーバに送信する送信手段とを備え、
前記他のサーバは、
処理を実行するプロセスから前記他のサーバ内の記憶装置へ出力されるログ情報の数を制御するためのログレベルと端末識別情報との対応関係を示すテーブルを格納する格納手段と、
前記テーブル内のログレベルのうち、受信した端末識別情報に対応するログレベルを、受信したログレベル情報に従って変更する変更手段を備えることを特徴とするログレベル変更システム。
【請求項４】
前記送信手段は、前記処理要求を送信する前記端末のアドレス情報を前記端末識別情報として前記他のサーバに送信し、前記格納手段は、ログレベルとアドレス情報との対応関係を示すテーブルを格納し、前記変更手段は、受信したアドレス情報に対応する該テーブル内のログレベルを前記ログレベル情報に従って変更することを特徴とする請求項３記載のログレベル変更システム。
【請求項５】
前記送信手段は、前記ログレベル情報と前記端末識別情報とを前記他のサーバにブロードキャスト送信することを特徴とする請求項３又は４記載のログレベル変更システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のサーバのログレベルを変更するログレベル変更システムに関する。
【背景技術】
【０００２】
クライアント端末と複数のサーバからなるシステムにおいて各サーバが処理のログ情報を出力するか否かを決定する際に、ログレベルと呼ばれる情報が参照される。このログレベルを変更することで、出力されるログ情報の数を増減することができる。
【０００３】
従来のシステムでは、各サーバの環境設定ファイルにあらかじめログレベルが設定されている。そして、各サーバの制御プロセスが、起動時にそのログレベルをメモリに格納し、ログレベルを参照しながら必要なログ情報をログファイルに出力している。
【０００４】
また、各サーバのアプリケーションプログラム毎にログレベルを設定することにより、他のアプリケーションを停止させることなく、対象とするアプリケーションプログラムのログレベルを変更するシステムも知られている（例えば、下記の特許文献１を参照）。
【特許文献１】特開２００４−１５２０２４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述した従来のシステムにおいてログレベルを変更するためには、一旦、システムを停止して環境設定ファイルを書き換えた後、システムを再起動する必要がある。しかしながら、システム運用中は一時的であってもシステムを停止できないことが多い。
【０００６】
このため、運用中のシステムに障害が発生したときに、障害解析のためにログレベルを変更することや、単一のシステムを使用してプログラムを共同開発しているときに、デバッグのためにログレベルを変更することは、非常に困難である。
【０００７】
本発明の課題は、複数のサーバを有するシステムにおいて、システムを一時停止することなくログレベルを変更することである。
【課題を解決するための手段】
【０００８】
開示のログレベル変更システムは、端末と複数のサーバを有し、端末から入力されたログレベル変更コマンドに従って、ログ情報を出力するためのログレベルを変更する。
ログレベル変更コマンドの送信先のサーバは受信手段と送信手段を備え、他のサーバは格納手段と変更手段を備える。受信手段は、端末からログレベル変更コマンドを受信し、送信手段は、そのログレベル変更コマンドに含まれる、変更後のログレベルを示すログレベル情報を、他のサーバにブロードキャスト送信する。他のサーバの格納手段は、ログレベルを格納し、変更手段は、受信したログレベル情報に従って格納手段のログレベルを変更する。
【０００９】
ログレベル変更コマンドを受信したサーバがログレベル情報を他のサーバにブロードキャスト送信することで、他のサーバのログレベルが一括して変更される。
【発明の効果】
【００１０】
複数のサーバを有するシステムにおいて、システムを一時停止することなくログレベルを変更することができる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照しながら、本発明を実施するための最良の形態を詳細に説明する。
実施形態のログレベル変更システムは、ログレベルを変更するコマンドを実装するとともに、それぞれのサーバ間で通信を行う。そして、ログレベル変更コマンドがあるサーバ上で実行されると、サーバ間の通信により複数のサーバが同期してログレベルを変更する。
【００１２】
図１は、このようなログレベル変更システムの構成例を示している。このログレベル変更システムは、クライアント端末１０１、オペレータ端末１０２、及びサーバグループ１０３を備える。サーバグループ１０３は、サーバ１１１−１〜１１１−４を備える。クライアント端末１０１、オペレータ端末１０２、及びサーバ１１１−１〜１１１−４は、通信ネットワークを介して互いに通信することができる。
【００１３】
クライアント端末１０１は、例えば、サーバ１１１−１に処理要求を送信し、サーバ１１１−１は処理要求をサーバ１１１−２に転送し、サーバ１１１−２は要求された処理を実行する。そして、サーバ１１１−２の処理結果は、サーバ１１１−１を経由してクライアント端末１０１に返送される。このとき、サーバ１１１−１及び１１１−２は、それぞれの処理のログ情報をログファイルに出力する。
【００１４】
クライアント端末１０１による処理要求の送信から処理結果の受信までの一連の処理は、１つのトランザクションとして定義される。
オペレータは、ログレベルを変更する必要が生じたとき、オペレータ端末１０２からいずれかのサーバに対してログレベル変更コマンドを送信する。このログレベル変更コマンドには、変更後のログレベルと適用範囲が記述される。
【００１５】
ログレベルは、例えば、所定の範囲の数値で指定され、適用範囲は、例えば、ネームスペース単位、業務単位、又はクライアント端末１０１のインターネットプロトコル（ＩＰ）アドレス単位で指定される。
【００１６】
ネームスペースは、システムを複数の空間に分割した場合の各サーバに割り当てられた空間（ネームスペース名）を示す。例えば、サーバ１１１−１及び１１１−２上に第１のネームスペースに割り当て、サーバ１１１−２、サーバ１１１−３及び１１１−４上に第２のネームスペースに割り当てることが可能である。
【００１７】
ログレベル変更コマンドを受信したサーバは、ログレベル変更メッセージを他のサーバにブロードキャスト送信する。他のサーバは、受信したログレベル変更メッセージ中のログレベルをメモリ上のログレベルに反映させる。
【００１８】
このように、あるログレベルで運用中のシステムにおいて、入力されたログレベル変更コマンド中のログレベルを複数のサーバにブロードキャスト送信することで、システムを停止することなく、それらのサーバのログレベルが一括して変更される。
【００１９】
図２は、図１のログレベル変更システムにおけるログレベル変更処理の例を示している。ログレベル変更処理の手順は、以下の通りである。
【００２０】
（１）オペレータは、オペレータ端末１０２からサーバ１１１−１にログレベル変更コマンドを入力する。
このログレベル変更コマンドには、変更後のログレベルと、変更対象サーバが存在するネームスペースのネームスペース名と、適用範囲が指定される。このうち、適用範囲は、ネームスペース、業務、又はＩＰアドレスのいずれかを示す。適用範囲が業務の場合は、
さらに業務に割り当てられる識別情報（システムコード）が指定され、適用範囲がＩＰアドレスの場合は、さらにクライアント端末１０１のＩＰアドレスが指定される。
【００２１】
（２）サーバ１１１−１の運用管理プロセス２０１−１は、User Datagram Protocol（ＵＤＰ）により、ログレベル変更メッセージを指定されたネームスペース内の全サーバにブロードキャスト送信する。この例では、サーバ１１１−２〜１１１−４に対してログレベル変更メッセージが送信されている。
【００２２】
図３は、ログレベル変更メッセージの例を示している。このログレベル変更メッセージには、ログレベル変更コマンドで指定された適用範囲、システムコード、ＩＰアドレス、及びログレベルが記述されている。ただし、システムコード及びＩＰアドレスは、ログレベル変更コマンドで指定された場合のみ記述される。
【００２３】
（３）各サーバ１１１−ｉ（ｉ＝２，３，４）の運用管理プロセス２０１−ｉは、ログレベル変更メッセージを受信すると、そのメッセージをTransmission Control Protocol （ＴＣＰ）により自サーバのサーバプロセス２０２−ｉに転送する。
【００２４】
（４）各サーバ１１１−ｉのサーバプロセス２０２−ｉは、ログレベル変更メッセージを受信すると、その適用範囲に応じてメモリ上のログレベルを変更する。
【００２５】
メモリ上には、ネームスペース共通の環境変数であるログレベルの他に、システムコード適応ログレベルテーブル及びＩＰアドレス適応ログレベルテーブルが存在する。システムコード適応ログレベルテーブルには、システムコードとログレベルの対応関係が登録されており、ＩＰアドレス適応ログレベルテーブルには、ＩＰアドレスとログレベルの対応関係が登録されている。これらのテーブルの具体例は、以下の通りである。
（例１）システムコード適応ログレベルテーブル
Ｇ２：  ログレベル１
ＩＰ：  ログレベル２
（例２）ＩＰアドレス適応ログレベルテーブル
１０．８３．２３４．１２６：  ログレベル３
１０．８３．２３４．１２８：  ログレベル４
【００２６】
適用範囲がネームスペースの場合は、環境変数のログレベルがログレベル変更メッセージにより指定された値に変更される。また、適用範囲が業務の場合は、システムコード適応ログレベルテーブルの中で、ログレベル変更メッセージに含まれるシステムコードに対応するログレベルが、ログレベル変更メッセージにより指定された値に変更される。適用範囲がＩＰアドレスの場合は、システムコード適応ログレベルテーブルの中で、ログレベル変更メッセージに含まれるＩＰアドレスに対応するログレベルが、ログレベル変更メッセージにより指定された値に変更される。
【００２７】
図４は、図１のログレベル変更システムにおけるログ出力処理の例を示している。図４のサーバプロセス４０１は、図１のサーバ１１１−１〜１１１−４内で動作するサーバプロセスに対応し、制御部４１１及び業務部４１２を含む。ログレベル出力処理の手順は、以下の通りである。
【００２８】
（１）クライアント端末１０１からの処理要求送信によりトランザクションが開始され、サーバプロセス４０１に処理要求が転送される。
（２）サーバプロセス４０１の制御部４１１は、処理要求に含まれるシステムコード及びＩＰアドレスが、それぞれシステムコード適応ログレベルテーブル及びＩＰアドレス適応ログレベルテーブルに登録されているか否かを確認する。
【００２９】
処理要求のシステムコードがシステムコード適応ログレベルテーブルに登録されている場合は、そのシステムコードに対応するログレベルを環境変数のログレベルに上書きする。また、処理要求のＩＰアドレスがＩＰアドレス適応ログレベルテーブルに登録されている場合は、そのＩＰアドレスに対応するログレベルを環境変数のログレベルに上書きする
。いずれの場合も、元のログレベルを復元可能なように保存しておく。
【００３０】
システムコード又はＩＰアドレスのいずれもテーブルに登録されていない場合は、環境変数のログレベルは変更されない。
（３）制御部４１１は、業務部４１２を呼び出す。
（４）業務部４１２は、要求された業務処理を開始する。
（５）業務部４１２は、あらかじめサーバプロセス４０１用のプログラムに設定されたログレベル閾値を指定して、業務処理で発生するログ情報を制御部４１１に出力する。
（６）制御部４１１は、環境変数のログレベルを業務部４１２から指定されたログレベル閾値と比較し、環境変数のログレベルがログレベル閾値より小さければ、業務部４１２から出力されたログ情報４０３をログファイル４０２に出力する。一方、環境変数のログレベルがログレベル閾値以上であれば、ログ情報４０３を出力しない。
（７）業務部４１２による業務処理が終了すると、制御部４１１は、上記（２）で上書きされた環境変数のログレベルを元に戻す。
このようなログ出処理によれば、ログレベル変更コマンドにより変更されたログレベルに従って、ログ情報４０３をログファイル４０２に記録することができる。
【００３１】
以上説明したように、図１のログレベル変更システムによれば、システムを停止することなく、変更対象のサーバのログレベルが一括して変更される。したがって、運用中のシステムに障害が発生したときに、早期に障害解析を実施することができ、プログラムを共同開発しているときに、効率よくデバッグを行うことができる。
なお、図１のログレベル変更システムは４台のサーバを備えているが、一般には、ログレベル変更システム内のサーバの数は２台以上であればよい。
【００３２】
図１のクライアント端末１０１、オペレータ端末１０２、及びサーバ１１１−１〜１１１−４は、例えば、図５に示すような情報処理装置（コンピュータ）を用いて構成される。図５の情報処理装置は、ＣＰＵ５０１、メモリ５０２、入力装置５０３、出力装置５０４、外部記憶装置５０５、媒体駆動装置５０６、およびネットワーク接続装置５０７を備え、それらはバス５０８により互いに接続されている。
【００３３】
メモリ５０２は、例えば、Read Only Memory（ＲＯＭ）、Random Access Memory（ＲＡＭ）等を含み、処理に用いられるプログラムおよびデータを格納する。メモリ５０２に格納されるデータには、環境変数のログレベル、システムコード適応ログレベルテーブル、ＩＰアドレス適応ログレベルテーブル、及びログ情報４０３が含まれる。ＣＰＵ５０１は、メモリ５０２を利用してプログラムを実行することにより、クライアント端末１０１、オペレータ端末１０２、及びサーバ１１１−１〜１１１−４の処理を行う。
【００３４】
入力装置５０３は、例えば、キーボード、ポインティングデバイス等であり、オペレータ又はユーザからの指示や情報の入力に用いられる。出力装置５０４は、例えば、ディスプレイ、プリンタ、スピーカ等であり、オペレータ又はユーザへの問い合わせや処理結果の出力に用いられる。
【００３５】
外部記憶装置５０５は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。情報処理装置は、この外部記憶装置５０５に、プログラムおよびデータを格納しておき、必要に応じて、それらをメモリ５０２にロードして使用する。外部記憶装置５０５に格納されるデータには、ログファイル４０２が含まれる。
【００３６】
媒体駆動装置５０６は、可搬記録媒体５０９を駆動し、その記録内容にアクセスする。可搬記録媒体５０９は、メモリカード、フレキシブルディスク、光ディスク、光磁気ディスク等の任意のコンピュータ読み取り可能な記録媒体である。オペレータ又はユーザは、
この可搬記録媒体５０９にプログラムおよびデータを格納しておき、必要に応じて、それらをメモリ５０２にロードして使用する。
【００３７】
ネットワーク接続装置５０７は、Local Area Network（ＬＡＮ）等の通信ネットワークに接続され、通信に伴うデータ変換を行う。また、情報処理装置は、必要に応じて、プログラムおよびデータを外部の装置からネットワーク接続装置５０７を介して受け取り、それらをメモリ５０２にロードして使用する。
【００３８】
図６は、図５の情報処理装置にプログラムおよびデータを提供する方法を示している。可搬記録媒体５０９や外部装置６０１のデータベース６１１に格納されたプログラムおよびデータは、情報処理装置６０２のメモリ５０２にロードされる。外部装置６０１は、そのプログラムおよびデータを搬送する搬送信号を生成し、通信ネットワーク上の任意の伝送媒体を介して情報処理装置６０２に送信する。ＣＰＵ５０１は、そのデータを用いてそのプログラムを実行し、上述した処理を行う。
【図面の簡単な説明】
【００３９】
【図１】ログレベル変更システムの構成図である。
【図２】ログレベル変更処理を示す図である。
【図３】ログレベル変更メッセージを示す図である。
【図４】ログ出力処理を示す図である。
【図５】情報処理装置の構成図である。
【図６】プログラムおよびデータの提供方法を示す図である。
【符号の説明】
【００４０】
１０１  クライアント端末
１０２  オペレータ端末
１０３  サーバグループ
１１１−１、１１１−２、１１１−３、１１１−４  サーバ
２０１−１、２０１−２、２０１−３、２０１−４  運用管理プロセス
２０２−２、２０２−３、２０２−４、４０１  サーバプロセス
４０２  ログファイル
４０３  ログ情報
４１１  制御部
４１２  業務部
５０１  ＣＰＵ
５０２  メモリ
５０３  入力装置
５０４  出力装置
５０５  外部記憶装置
５０６  媒体駆動装置
５０７  ネットワーク接続装置
５０８  バス
６０１  外部装置
６０２  情報処理装置
６１１  データベース
【図１】
0005359023.tif 000002
【図３】
0005359023.tif 000003
【図５】
0005359023.tif 000004
【図６】
0005359023.tif 000005
【図２】
0005359023.tif 000006
【図４】
0005359023.tif 000007