(57)【特許請求の範囲】
【請求項１】
複数の仮想ＰＣを実行し、前記複数の仮想ＰＣの実行履歴を含むイベントログを取得する制御手段と、
前記イベントログを格納するＯＳログ記憶手段と、
前記複数の仮想ＰＣの各々により実行され、管理サーバから自仮想ＰＣに対するログオン／ログオフ通知及び前記ログオンしたユーザ識別子を受信して、前記ＯＳログ記憶手段内の前記イベントログから、前記ログオンから前記ログオフまでの期間に生成され、かつ、受信した前記ユーザ識別子を含むログを抽出して個別ログを作成し、ログサーバ装置に出力する更新手段と、を備えるログ作成装置。
【請求項２】
前記複数の仮想ＰＣの各々は仮想記憶装置を備え、
前記ログ作成装置は、前記複数の仮想ＰＣの各々により実行され、定期的に前記ＯＳログ記憶手段内の前記イベントログから、自仮想ＰＣのログを抽出して作業ログを作成して、自仮想ＰＣの前記仮想記憶装置に格納する抽出手段をさらに備え、前記更新手段は、前記作業ログから前記個別ログを作成する請求項１のログ作成装置。
【請求項３】
前記複数の仮想ＰＣの各々の前記更新手段から、前記個別ログを取得して、前記個別ログのインデックスを作成する前記ログサーバ装置と、前記複数の仮想ＰＣへのログオン／ログオフを監視する前記管理サーバと、請求項１または２のログ作成装置と、を包含するログ生成システム。
【請求項４】
複数の仮想ＰＣを実行し、前記複数の仮想ＰＣの実行履歴を含むイベントログを取得する制御処理と、
前記イベントログをＯＳログ記憶部に格納するＯＳログ記憶処理と、
前記複数の仮想ＰＣの各々により実行され、管理サーバから自仮想ＰＣに対するログオン／ログオフ通知及び前記ログオンしたユーザ識別子を受信して、前記ＯＳログ記憶部内の前記イベントログから、前記ログオンから前記ログオフまでの期間に生成され、かつ、受信した前記ユーザ識別子を含むログを抽出して個別ログを作成し、ログサーバ装置に出力する更新処理と、をコンピュータに実行させるログ作成プログラム。
【請求項５】
前記複数の仮想ＰＣの各々は仮想記憶装置を備え、定期的に前記ＯＳログ記憶部内の前記イベントログから、自仮想ＰＣのログを抽出して作業ログを作成して、自仮想ＰＣの前記仮想記憶装置に格納する抽出処理と、前記作業ログから前記個別ログを作成する前記更新処理とを、前記コンピュータに実行させる請求項４のログ作成プログラム。
【請求項６】
複数の仮想ＰＣを実行し、前記複数の仮想ＰＣの実行履歴を含むイベントログを取得し、
前記イベントログをＯＳログ記憶部に格納し、
前記複数の仮想ＰＣの各々により実行され、管理サーバから自仮想ＰＣに対するログオン／ログオフ通知及び前記ログオンしたユーザ識別子を受信して、前記ＯＳログ記憶部内の前記イベントログから、前記ログオンから前記ログオフまでの期間に生成され、かつ、受信した前記ユーザ識別子を含むログを抽出して個別ログを作成し、ログサーバ装置に出力するログ作成方法。
【請求項７】
前記複数の仮想ＰＣの各々は仮想記憶装置を備え、定期的に前記ＯＳログ記憶部内の前記イベントログから、自仮想ＰＣのログを抽出して作業ログを作成して、自仮想ＰＣの前記仮想記憶装置に格納し、前記作業ログから前記個別ログを作成する請求項６のログ作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はログ作成装置、ログ作成プログラムならびにログ作成方法に関する。
【背景技術】
【０００２】
現在、オフィスや学校など、パーソナルコンピュータを大量に使用する環境ではシンクライアント化（仮想ＰＣ使用環境化、ＰＣ：Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）が急速に進んでいる。また、システムのメンテナンスに関しても、金銭・人的工数をかけられないため、システム管理の一極集中率が高くなっている。その状況の中、障害発生時のログ解析において、膨大な数、容量のログから、対象となるログに辿り着くまでに相当量の工数が発生してしまうことがある。障害発生時、ログの解析は必須であり、急務である。しかし、ＯＳ（ＯＳ：Ｏｐｅｒａｔｉｏｎ  Ｓｙｓｔｅｍ）のログはマシン単位でしか記録されない。その間、複数の使用者が使用しても、ログはマシン毎に1つしか残らないため、特定の使用者における使用状況調査 (複数日にわたるものも含む)や、障害発生時間帯で誰が何を行っていたかなどの調査は煩雑となり、作業効率が落ちる。そこで、ログ取得について、下記に示す提案がなされている。
【０００３】
特許文献１は、複数の仮想サーバを有する物理サーバに関して、物理サーバに関するイベントの履歴と、仮想サーバに関するイベントの履歴とを明示してイベント履歴テーブルに登録することを開示している。
【０００４】
特許文献２は、仮想ＯＳ上で実行されたプログラムの動作履歴を、通信に関する履歴と、データの生成に関する履歴に分けて記録することを開示している。
【０００５】
特許文献３は、仮想ＯＳ内で生成されたログ情報が管理ＯＳに転送され、ネットワークを介してログ管理装置に送信されて、記憶されることが開示されている。
各仮想ＯＳ１Ａ内で生成されたログ情報Ｄ１は、情報交換部１Ｃを介して管理ＯＳ１Ｂに転送される。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−８６５１６
【特許文献２】特開２００８−１２９７０７
【特許文献３】特開２００７−１４１１７１
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１〜３によれば、仮想サーバと物理サーバのそれぞれのログを、分けて記録し、ログ管理装置に記憶することは可能だが、このログは使用者毎の記録ではないため、依然として障害発生時の故障原因の究明には多くの工数を要する。
本発明の目的は迅速に解析できるログ取得方式を得ることである。
【課題を解決するための手段】
【０００８】
本発明によれば、複数の仮想ＰＣを実行し、前記複数の仮想ＰＣの実行履歴を含むイベントログを取得する制御手段と、前記イベントログを格納するＯＳログ記憶手段と、前記複数の仮想ＰＣの各々により実行され、管理サーバから自仮想ＰＣに対するログオン／ログオフ通知及び前記ログオンしたユーザ識別子を受信して、前記ＯＳログ記憶手段内の前記イベントログから、前記ログオンから前記ログオフまでの期間に生成され、かつ、受信した前記ユーザ識別子を含むログを抽出して個別ログを作成し、ログサーバ装置に出力する更新手段と、を備えるログ生成装置を得ることができる。
【０００９】
本発明によれば、複数の仮想ＰＣを実行し、前記複数の仮想ＰＣの実行履歴を含むイベントログを取得する制御処理と、前記イベントログをＯＳログ記憶部に格納するＯＳログ記憶処理と、前記複数の仮想ＰＣの各々により実行され、管理サーバから自仮想ＰＣに対するログオン／ログオフ通知及び前記ログオンしたユーザ識別子を受信して、前記ＯＳログ記憶部内の前記イベントログから、前記ログオンから前記ログオフまでの期間に生成され、かつ、受信した前記ユーザ識別子を含むログを抽出して個別ログを作成し、ログサーバ装置に出力する更新処理と、をコンピュータに実行させるログ作成プログラムが得られる。
【００１０】
本発明によれば、複数の仮想ＰＣを実行し、前記複数の仮想ＰＣの実行履歴を含むイベントログを取得し、前記イベントログをＯＳログ記憶部に格納し、前記複数の仮想ＰＣの各々により実行され、管理サーバから自仮想ＰＣに対するログオン／ログオフ通知及び前記ログオンしたユーザ識別子を受信して、前記ＯＳログ記憶部内の前記イベントログから、前記ログオンから前記ログオフまでの期間に生成され、かつ、受信した前記ユーザ識別子を含むログを抽出して個別ログを作成し、ログサーバ装置に出力するログ作成方法。
ログ作成方法が得られる。
【発明の効果】
【００１１】
本発明は、ログを使用ユーザ毎に取得することにより、迅速に解析できるログを得ることを可能とする。
【図面の簡単な説明】
【００１２】
【図１】図１は第１の実施形態の構成図である。
【図２】図２は第１の実施形態を、ネットワークを介した運用システムに適用した構成図である。
【図３】図３は第１の実施形態における個別ログ作成から個別ログのインデックス作成までの工程を示すブロック図である。
【図４】図４は、個別ログ作成の流れを示すフローチャートである。
【図５】図５は第２の実施形態の構成図である。
【図６】図６は第２の実施形態をネットワークを介した運用システムに適用した構成図である。
【図７】図７は第３の実施形態の構成図である。
【発明を実施するための形態】
【００１３】
（第１の実施形態）
次に、本発明の第１の実施の形態が、図面を参照して詳細に説明する。
本実施形態では、一回に一人のユーザのみがログオンするログ形成装置に関するものである。本実施形態は、端末装置群１００、ログ作成装置２００、ストレージ３００、管理サーバ４００、ログサーバ５００から構成されている（図１）。
【００１４】
端末装置群１００は複数の端末装置１０から成り立っている。
【００１５】
ログ作成装置２００は仮想ＰＣ用モジュールの組みあわせで構成されている。具体的には、ログ作成装置２００は、端末装置に対応する仮想ＰＣを含んでいる。仮想ＰＣは更新部２０、通信部２１、抽出部２２を有している。通信部２１は管理サーバ４００から送信されるｌｏｇｏｎ／ｌｏｇｏｆｆの通知、ｌｏｇｏｎ／ｌｏｇｏｆｆを行ったユーザのユーザＩＤ（ＩＤ：Ｉｄｅｎｔｉｆｉｅｒ）を受信し、抽出部２２に通知する。なお、ユーザＩＤはユーザ識別子とも呼ばれる。それぞれの端末装置１０は、抽出部２２を介して、仮想ＰＣにｌｏｇｏｎ／ｏｆｆする。また、抽出部２２は、通信部２１からｌｏｇｏｎ通知を受けた場合、ＯＳログ記憶部２３から後述する全体ログの複写である作業ログＡを受信する。また、抽出部２２は、その回に取得した作業ログＡと前回に取得した作業ログＡの差分である差分ログＢを定期的に取得する。抽出部２２は、作業ログＡを更新部２０に送信する。
【００１６】
更新部２０は、このコピーからｌｏｇｏｎ時刻以降の、ログを抽出し、これを個別ログとする。更新部２０は、これ以降、差分ログを抽出部２２から受け取り、個別ログに追加して更新する。更新部２０は、この更新を通信部２１がｌｏｇｏｆｆ通知を受けるまで続ける。更新部２０は、作成した個別ログをストレージ３００に格納する。ストレージ３００は記憶部とも呼ぶ。なお、更新部２０は、作成した個別ログをストレージ３００を介すことなく直接ログサーバ５００に格納してもよい。更新部２０、通信部２１、抽出部２２は論理素子を組み合わせて構成したハードウェアで構成されてもよいし、コンピュータプログラムを実行するソフトウェアで構成されてもよい。
【００１７】
制御部２４は、ログ作成装置２００の起動と同時に、ログ作成装置２００に発生したイベントのログを取得する。このイベントログは、仮想ＰＣの実行履歴も含まれる。制御部２４はこのイベントログをＯＳログ記憶部２３に格納する。このイベントログは、後述する個別ログと区別するために、全体ログと呼ばれることもある。また、ＯＳログ記憶部２３は、前回取得した全体ログと、その回に取得した全体ログの差分を差分ログとしてログサーバ５００に格納する。その後、ＯＳログ記憶部２３は、定期的（ユーザ指定の時間間隔）に全体ログのコピーを作成し、全体ログ、差分ログを更新する。
【００１８】
管理サーバ４００は管理サーバ用モジュールの組みあわせで成り立っている。管理サーバ４００は、端末装置群１００全体をする。具体的には、管理サーバ４００は、ユーザが端末装置１０のそれぞれから、抽出部２２にｌｏｇｏｎ／ｌｏｇｏｆｆするのを監視する。管理サーバ４００は、ｌｏｇｏｎ／ｌｏｇｏｆｆを検出した時点で、通信部２１にこれを通知する。
【００１９】
ログサーバ５００はログサーバ用モジュールの組みあわせで成り立っている。
【００２０】
ログサーバ５００は個別ログのインデックスを作成し、これを保管する。ユーザ毎に個別ログが作成されるため、ログの数、容量は大きくなっていく。そのため、ログのインデックスを作成しておくことで、サーチ作業の簡略をはかる。ログサーバ５００は、ストレージ３００に格納されたログと、後述する個別インデックの整合性を保つために、定期的にログの内容を確認し、不整合が生じた場合は管理者へ通知する。
【００２１】
図２は、図１に示された本実施形態の構成要素を、ネットワークを介した運用システムに適用した場合を示している。なお、図２のネットワークは全てのシステム構成要素が接続されるが、構成要素間はセキュリティレベルの向上のために、必要な部分だけを接続するよう設計されても問題ない。
【００２２】
次に、本発明の第１の実施の形態の動作が、図面を参照して説明される。図１、図２、図３を参照して本実施形態の動作が、具体的に説明される。
（１）抽出部２２へのｌｏｇｏｎ、抽出部２２からのｌｏｇｏｕｔ監視
図２に示すように、管理サーバ４００は端末装置群１００へのユーザのｌｏｇｏｎ／ｌｏｇｏｆｆを監視している。
【００２３】
あるユーザが端末装置１０のいずれかから、仮想ＰＣの抽出部２２にｌｏｇｏｎすると、そのｌｏｇｏｎを管理サーバ４００が検知する。管理サーバ４００は、ｌｏｇｏｎしたユーザのユーザＩＤ、ｌｏｇｏｎした時刻、を含む内容をｌｏｇｏｎ通知としてログ作成装置２００の通信部２１へ送る。下記にｌｏｇｏｎ通知の一例が示される。
（ｌｏｇｏｎ通知の一例）
ユーザ名またはユーザＩＤ：  山田花子またはｕｓｅｒＡ
ｌｏｇｏｎ日時：  ２０１２年１２月０５日  時刻０８：３０
（上記日時は２０１２１２０５０８３０で表すことも可能である）
その他：  必要な情報があれば付記
あるユーザが更新部２０からｌｏｇｏｆｆすると、そのｌｏｇｏｆｆを管理サーバが検知する。管理サーバ４００は、ｌｏｇｏｆｆした時刻、ｌｏｇｏｆｆしたユーザのユーザＩＤをｌｏｇｏｆｆ通知として通信部２１へ送る。下記にｌｏｇｏｆｆ通知の一例が示される。
（ｌｏｇｏｆｆ通知の一例）
ユーザ名またはユーザＩＤ：山田花子またはｕｓｅｒＡ
ｌｏｇｏｆｆ日時：２０１２年１２月０５日  時刻１７：３０
（上記日時は２０１２１２０５１７３０で表すことも可能である
その他：  必要な情報があれば付記
（２）ユーザ個別ログの作成
ログ作成装置２００の抽出部２２、更新部２０は、図３、図４のフローチャートに示す手順で、個別ログを作成する。
以下、Ｓ１〜Ｓ７とあるのは、図４のフローチャートにおけるステップを示す。
【００２４】
通信部２１が管理サーバ４００からのｌｏｇｏｎ通知を受ける。通信部２１は、これを抽出部２２に送信する（Ｓ１：ＹＥＳ、図３Ａ、Ｂ）
抽出部２２はこのｌｏｇｏｎ通知からｌｏｇｏｎ時刻、ユーザＩＤを抽出する。抽出部２２は、ＯＳログ記憶部２３から全体ログのコピーを取得する。抽出部２２は、これを作業ログＡとする（Ｓ２、図３Ｃ）。
【００２５】
抽出部２２は、この作業ログＡ、ｌｏｇｏｎ時刻、ユーザＩＤまたはユーザ名を、更新部２０に送信する（Ｓ３）。これ以降、抽出部２２は、前回の全体ログとその回の全体ログとの差分である作業ログＢを定期的に作成し、更新部２０に送る（図３Ｃ）。作業ログＢは差分ログとも呼ばれる。
【００２６】
作業ログＡを受信した更新部２０は、作業ログＡからｌｏｇｏｎ時刻以降のログを切り出し、ユーザＩＤで抽出したログ（図３Ｄ（１））に、抽出部２２が作成した作業ログＢからユーザＩＤで抽出したログを定期的に追加することによって、個別ログを作成し、更新する（Ｓ４、図３Ｃ、Ｄ（２））。
【００２７】
管理サーバ４００がｌｏｇｏｆｆ通知を検出しない間（Ｓ５：ＮＯ）は、上記に述べたように、更新部２０は、個別ログの更新を続ける。この更新は、差分ログを定期的に追加することによって、行われる（図３Ｃ、Ｄ（２））。
【００２８】
通信部２１が管理サーバ４００から、この更新部２０に対するｌｏｇｏｆｆ通知を受ける（Ｓ５：ＹＥＳ、図３Ａ、Ｂ）。通信部２１は、これを抽出部２２に送信する。抽出部２２は、ｌｏｇｏｕｔ時刻を抽出して、更新部２０にこれを通知する（Ｓ５：ＹＥＳ）。更新部２０は、この時点で受け取った作業ログＢから、ｌｏｇｏｕｔ時刻以前のログを切り出し、個別ログに追加することによって、個別ログを完成する（図３Ｄ（３））。
【００２９】
更新部２０は、個別ログのファイル名として、ユーザＩＤまたはユーザ名、ｌｏｇｏｎ時刻、ｌｏｇｏｆｆ時刻を組みあわせた名称を自動作成する。
【００３０】
更新部２０は、このファイル名で、個別ログをストレージ３００に格納する（Ｓ６  図１、図２）。更新部２０はストレージ３００を介さず、ログサーバ５００にこの個別ログを
格納してもよい。
【００３１】
更新部２０は、ログサーバ５００に終了通知を送信する（Ｓ７  図３Ｃ、Ｄ）。
【００３２】
以下に、終了通知の一例が示される。
【００３３】
（終了通知の一例）
ファイル名  :  ￥￥ｓｅｒｖｅｒ￥ｌｏｇｓ￥＊＊＊＊￥
（３）インデックスの作成
ログサーバ５００は、ストレージ３００に格納された個別ログに関するインデックスを作成する。具体的には、ログサーバ５００は、Ｓ７にて更新部２０からの終了通知を受け取り、この終了通知から、ファイル名、ファイルサイズ、格納場所を抽出する。ログサーバ５００は、これを個別ログインデックス内に追記する（図３Ｄ）。
【００３４】
なお、個別ログのファイル名は、（２）で説明した通り、ｌｏｇｏｎ／ｏｆｆ通知から抽出したユーザ名、ｌｏｇｏｎ／ｏｆｆ時刻を組みあわせて作成する。したがって、ユーザ名、ｌｏｇｏｎ／ｏｆｆ時間で個別ログを容易に検索することができる。
【００３５】
本発明では、個別ログインデックスを用いてログの整合性を確認するが、この個別ログインデックスを使用して、大量の個別ログの中から、必要とするログの位置を高速に特定することが可能である。なお、ストレージ３００が使用されず、直接自身に個別ログが格納された場合は、ログサーバ５００は、自身に格納された個別ログに関するインデックスを作成する。
【００３６】
また、あるユーザ、ある日時などでインデックス内を検索することで、アクセスに関する概要を知ることが可能である。仮想ＰＣの状態監視などを行う場合、個別ログ作成用に生成される作業ログＢを用いて、小規模のログの通信を行うことで、仮想ＰＣの状態が監視される。この場合、ネットワーク上に流れる情報が、ログ全体の量に比べてはるかに小さく抑えることが出来るため、ネットワーク・システム全体の負荷の軽減をはかることができる。
【００３７】
さらに、各モジュールが行う通知（ｌｏｇｏｎ／ｌｏｇｏｆｆ、終了通知)に管理システム用の情報を付加することで、ユーザ使用状況のセキュリティチェックやその他状態監視に役立てることにも期待できる。
【００３８】
本実施形態により、大容量のログデータからユーザ毎に切り出してあるため、必要な部分だけを高速に発見でき、障害発生時の解析の高速化・効率化が期待できる。また、個別ログの作成は管理サーバ４００やログサーバ５００ではなく、各仮想ＰＣ上にて行われるため、システム全体にかかる負荷が分散され、安定稼動も期待できる。
【００３９】
本実施形態は、仮想環境のみならず、パーソナルコンピュータを不特定多数で使用するような環境へも適用できる。
【００４０】
また、仮想環境のみならず、パーソナルコンピュータを不特定多数で使用するような環境でも、本実施形態を適用することが可能である。
【００４１】
なお、本実施形態においては、抽出部２２が取得する全体ログからログを切り出しているが、抽出部２２が自身の属す仮想ＰＣに生じているイベントを記録することによって、個別ログを更新する方式が取られてもよい。
【００４２】
なお、本実施形態では、抽出部２２が差分ログである作業ログＢを取得し、更新部２０に送信しているが、抽出部２２は、全体ログである作業ログＡのみを更新部２０に送信してもよい。この場合、更新部２０が、送信された作業ログＡから、新規に記録されたログを抽出し、個別ログに追加する。
【００４３】
なお、仮想ＰＣは仮想記憶装置２５を備えることができる。抽出部２２は、定期的にＯＳログ記憶部２３のイベントログから、自身が属する仮想ＰＣのログを抽出して作業ログを作成し、これをこの仮想記憶装置２５に格納することもできる。この場合、更新部２０は、この作業ログから個別ログを作成する。
（第２の実施形態）
第１の実施形態では、同時刻に仮想ＰＣにｌｏｇｏｎするユーザは一名に限られていた。第２の実施形態は、図５、図６に示すように、同時刻に複数のユーザがｌｏｇｏｎ／ｏｆｆする場合であり、複数のユーザの個別ログを同時に取得する。この実施形態では、更新部２０は、個々に識別子（ＩＤ：Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）が割り当てられる。この識別子は仮想ＩＤと呼ばれる。また、ｌｏｇｏｎ／ｏｆｆ通知は、ユーザＩＤ、ｌｏｇｏｎ／ｏｆｆ時刻のみならず、ｌｏｇｏｎ／ｏｆｆした更新部２０の仮想ＩＤをも有する。抽出部２２は図４のステップ４で作業ログＡまたはＢを送信する際、ｌｏｇｏｎ通知に含まれる仮想ＩＤを有する更新部２０にこれを送信する。また、作業ログＡ、Ｂを受け取ったそれぞれの更新部２０は、単にｌｏｇｏｎ時刻で作業ログＡを切り出すのではなく、自機の仮想ＩＤに関連づけられたログのみを切り出す。それぞれの更新部２０は、同時にそれぞれ異なるユーザの個別ログを作成する。本実施形態は、この機能により、同時に複数の更新部２０にｌｏｇｏｎしているユーザに関するログを、独立に取ることができる。
（第３の実施形態）
図７は本発明の第３の実施形態の構成を表す。本実施形態は、複数の仮想ＰＣを実行し、前記複数の仮想ＰＣの実行履歴を含むイベントログを取得する制御部２４と、前記イベントログを格納するＯＳログ記憶手段２３と、前記複数の仮想ＰＣの各々により実行され、管理サーバから自仮想ＰＣに対するログオン／ログオフ通知及び前記ログオンしたユーザ識別子を受信して、前記ＯＳログ記憶手段内の前記イベントログから、前記ログオンから前記ログオフまでの期間に生成され、かつ、受信した前記ユーザ識別子を含むログを抽出して個別ログを作成し、ログサーバ装置に出力する更新部２０と、を備えるログ生成装置２００である。
【００４４】
本実施形態は、ログを使用ユーザ毎に取得することにより、迅速に解析できるログを得ることが可能である。
【符号の説明】
【００４５】
１０    端末装置
２０    更新部
２１    通信部
２２    抽出部
２３    ＯＳログ記憶部
２４    制御部
２５    仮想記憶装置
１００    端末装置群
２００    ログ作成装置
３００    ストレージ
４００    管理サーバ
５００    ログサーバ
【図１】
0005962106.tif 000002
【図２】
0005962106.tif 000003
【図３】
0005962106.tif 000004
【図４】
0005962106.tif 000005
【図５】
0005962106.tif 000006
【図６】
0005962106.tif 000007
【図７】
0005962106.tif 000008