(57)【要約】【課題】簡易なシステム構成において高速かつ正確にログ情報の取得を行うことができる情報処理装置、ログ処理方法、及びプログラムを提供すること。【解決手段】ログプロセス６１（第１ログ処理手段）は、オペレーティングシステム６０の動作に応じたログデータをメモリ２０に随時書き込む。そしてログプロセス６１は、一定のログデータがメモリ２０に書き込まれた際に、一括してメモリ２０内のログデータをログファイル１１に書き込む。ログ処理エージェント６２は、ログプロセス６１によるメモリ２０へのログデータの書き込みを検出する。そしてログ処理エージェント６２は、メモリ２０に書き込まれたログデータを読み出してＢＭＣ３０に書き込む。【選択図】図６
2015049552.tif 000002
【特許請求の範囲】
【請求項１】
オペレーティングシステムの動作により生じるログデータをバッファとして動作する揮発性メモリに書き込み、前記揮発性メモリから前記ログデータを一括して読み出して不揮発性ストレージに書き込む第１ログ処理手段と、
前記揮発性メモリへの書き込みを監視し、書き込まれた前記ログデータと対応するデータをＢＭＣ（Baseboard Management Controller）に書き込む第２ログ処理手段と、
を備える、情報処理装置。
【請求項２】
前記第２ログ処理手段は、
前記ＢＭＣに書き込まれてから一定時間以上が経過しているデータを前記ＢＭＣから削除する、ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記一定時間は、前記揮発性メモリに前記ログデータが書き込まれてから前記不揮発性ストレージに書き込まれるまでの最大時間以上の時間である、ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記第２ログ処理手段は、
前記揮発性メモリに書き込まれた前記ログデータを前記ＢＭＣに応じたデータ形式に変換し、変換後のデータを一定サイズのバイト列に分割して前記ＢＭＣに書き込む、ことを特徴とする請求項１〜請求項３のいずれか１項に記載の情報処理装置。
【請求項５】
オペレーティングシステムの動作により生じるログデータを揮発性メモリに書き込み、前記揮発性メモリに一定以上の前記ログデータが格納された場合に、前記ログデータを一括して不揮発性ストレージに書き込む第１ログ処理ステップと、
前記揮発性メモリへの書き込みを監視し、書き込まれた前記ログデータと対応するデータをＢＭＣ（Baseboard Management Controller）に書き込む第２ログ処理ステップと、
を備える、ログ処理方法。
【請求項６】
コンピュータに、
オペレーティングシステムの動作により生じるログデータを揮発性メモリに書き込み、前記揮発性メモリに一定以上の前記ログデータが格納された場合に、前記ログデータを一括して不揮発性ストレージに書き込む第１ログ処理ステップと、
前記揮発性メモリへの書き込みを監視し、書き込まれた前記ログデータと対応するデータをＢＭＣ（Baseboard Management Controller）に書き込む第２ログ処理ステップと、
を実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置、ログ処理方法、及びプログラムに関する。
【背景技術】
【０００２】
コンピュータ装置上で動作するＯＳ（Operating System）は、データ保存を効率的に行うために、ログデータを直接ディスクに書き込まず、一時的にメモリに書き込む構成をもつ。すなわちメモリをバッファとして使用する。メモリはディスクに比べて高速に書き込むことができる。メモリに一定のログデータを書き込んでおき、それらのログデータをディスクに書き込むことにより効率的なデータ保存が実現できる。しかしながら、ディスクに書き込む前のログデータ（すなわちメモリ上にあるログデータ）がサーバ障害等により失われることにより、障害究明の妨げとなる場合がある。
【０００３】
障害調査においては、障害発生直前のログデータが重要な情報となる。そのため、サーバ障害等が生じた場合であってもログデータを消失させない仕組みが必要となる。障害発生直前のメモリ上のログデータの取得手法として、メモリダンプや他のサーバ装置へのログデータ送信等の手法が考えられる。
【０００４】
メモリダンプを行う場合、ダンプファイルをローカルディスクに保存することが多いため、ダンプファイルを障害のあった機器から解析可能な環境に移動させる必要がある。このため、解析に時間を要するという問題があった。また障害解析対象のサーバから他のサーバにログデータを送信する手法では、ログデータを受信するサーバを設ける必要がある。このため、小規模なシステムでは適用が難しいという問題があった。
【０００５】
特許文献１には、ソフトウェアも考慮してリモートでログ情報を収集できるログ情報収集システムが開示されている。このログ情報収集システムでは、監視対象サーバ内の監視エージェントが所定時間毎にＯＳが出力するログ情報をＯＳ用記憶部（永続的な記憶部（特許文献１段落００２３））から読み出し、このログ情報をＢＭＣ（Baseboard Management Controller）に書き込む（特許文献１段落００３４〜００３９）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−２１００６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１の手法は、一定期間毎にログ情報を永続的な記憶手段（ＯＳ用記憶部（特許文献１段落００２３））から読み出して、ＢＭＣにまとめて書き込むため、障害直前のログ情報を正確に取得できない恐れがある。
【０００８】
すなわち、上述した手法では、簡易なシステム構成において正確にログ情報の取得を行うことができないという問題があった。
【０００９】
本発明は、上述した問題に鑑みてなされたものであり、簡易なシステム構成において正確にログ情報の取得を行うことができる情報処理装置、ログ処理方法、及びプログラムを提供することを主たる目的とする。
【課題を解決するための手段】
【００１０】
本発明にかかる情報処理装置の一態様は、
オペレーティングシステムの動作により生じるログデータを揮発性メモリに書き込み、前記揮発性メモリに一定以上の前記ログデータが格納された場合に、前記ログデータを一括して不揮発性ストレージに書き込む第１ログ処理手段と、
前記揮発性メモリへの書き込みを監視し、書き込まれた前記ログデータと対応するデータをＢＭＣ（Baseboard Management Controller）に書き込む第２ログ処理手段と、
を備える、ものである。
【００１１】
本発明にかかるログ処理方法の一態様は、
オペレーティングシステムの動作により生じるログデータを揮発性メモリに書き込み、前記揮発性メモリに一定以上の前記ログデータが格納された場合に、前記ログデータを一括して不揮発性ストレージに書き込む第１ログ処理ステップと、
前記揮発性メモリへの書き込みを監視し、書き込まれた前記ログデータと対応するデータをＢＭＣ（Baseboard Management Controller）に書き込む第２ログ処理ステップと、
を備える、ものである。
【００１２】
本発明にかかるプログラムの一態様は、
コンピュータに、
オペレーティングシステムの動作により生じるログデータを揮発性メモリに書き込み、前記揮発性メモリに一定以上の前記ログデータが格納された場合に、前記ログデータを一括して不揮発性ストレージに書き込む第１ログ処理ステップと、
前記揮発性メモリへの書き込みを監視し、書き込まれた前記ログデータと対応するデータをＢＭＣ（Baseboard Management Controller）に書き込む第２ログ処理ステップと、
を実行させる、ものである。
【発明の効果】
【００１３】
本発明は、簡易なシステム構成において正確にログ情報の取得を行うことができる情報処理装置、ログ処理方法、及びプログラムを提供することができる。
【図面の簡単な説明】
【００１４】
【図１】実施の形態１にかかる情報処理装置１の構成を示すブロック図である。
【図２】実施の形態１にかかるログ処理エージェント６２によるログデータのＳＥＬ形式への変換処理を示す概念図である。
【図３】実施の形態１にかかるＢＭＣ３０が記憶するデータ形式を示す概念図である。
【図４】実施の形態１にかかるＲｅｃｏｒｄ  ＩＤ管理ファイル１２の構成例を示す図である。
【図５】実施の形態１にかかるログ処理エージェント６２の動作を示すフローチャートである。
【図６】本発明にかかる情報処理装置１の構成を示すブロック図である。
【発明を実施するための形態】
【００１５】
＜実施の形態１＞
以下、図面を参照して本発明の実施の形態について説明する。図１は、本実施の形態にかかる情報処理装置１の構成を示すブロック図である。情報処理装置１は、ハードディスク１０、メモリ２０、ＢＭＣ（Baseboard Management Controller）３０、ＢＭＣ  ＮＩＣ（Network Interface Card）４０、ＮＩＣ５０を有する。また情報処理装置１は、図示しないＣＰＵ（Central Processing Unit）等を有し、ＣＰＵが基本プログラムをハードディスク１０から読み出して実行することによりオペレーティングシステム（ＯＳ）６０が動作する。
【００１６】
ＢＭＣ３０は、ＯＳ６０とは独立して動作する。一般的にはＢＭＣ３０は、専用のコントローラとして情報処理装置１に搭載される。そのため、ＢＭＣ３０は、ＯＳ６０が仮に停止状態となった場合であっても動作を続けることができる。
【００１７】
ＯＳ６０上では、ログプロセス６１（第１ログ処理手段）及びログ処理エージェント６２（第２ログ処理手段）が動作する。ログプロセス６１は、ＯＳ６０の動作に応じて生じるログデータをハードディスク１０上のログファイル１１に書き込む。詳細にはログプロセス６１は、メモリ２０にログデータを書き込む。そしてメモリ２０上に一定のログデータが溜め込まれた後に、ログプロセス６１は定期的にメモリ２０上のログデータをログファイル１１にまとめて書き込む。すなわち、メモリ２０はログデータをログファイル１１に書き込む際のバッファとして利用される。
【００１８】
ここでメモリ２０は、揮発性の記憶装置である。そのため情報処理装置１上で突発的な障害が生じた場合、メモリ２０上に記憶されていたデータ（ログデータを含む）は失われてしまう可能性がある。これに対しハードディスク１０は、不揮発性ストレージであり、情報処理装置１の電源が落ちた場合であってもデータを保持し続ける。
【００１９】
ログ処理エージェント６２は、メモリ２０上へのログデータの書き込みを監視する。そしてログ処理エージェント６２は、メモリ２０に書き込まれたログデータをコピーする。ログ処理エージェント６２は、コピーしたログデータをＳＥＬ（System Event Log）形式に変換する。
【００２０】
以下、図２を参照してログ処理エージェント６２によるログデータのＳＥＬ形式への変換処理について説明する。ログ処理エージェント６２は、図２に示すようにログデータを１６進数形式に変換する。そしてログ処理エージェント６２は、１６進数に変換したログデータを１３バイト毎に分割する。ログ処理エージェント６２は、１３バイトに満たないデータが生じた場合にはスペース文字（１６進数形式では“２０”）を用いてパディングを行う。
【００２１】
再び図１を参照する。ログ処理エージェント６２は、ＳＥＬ形式に変換後のログデータをＩＰＭＩ（Intelligent Platform Management Interface）コマンドを使用してＢＭＣ３０に書き込む。ログ処理エージェント６２は、ＢＭＣ３０に書き込んだ際に、ＢＭＣ３０から応答としてＲｅｃｏｒｄ  ＩＤを取得する。ログ処理エージェント６２は、このＲｅｃｏｒｄ  ＩＤと現時刻を関連付けてＲｅｃｏｒｄ  ＩＤ管理ファイル１２に書き込む。ログ処理エージェント６２は、任意のタイマ機構等にアクセスして現時刻情報を取得すればよい。
【００２２】
次に図３を参照して、ＢＭＣ３０が記憶するデータ形式について説明する。ＢＭＣ３０は、図示するように２バイトのＲｅｃｏｒｄ  ＩＤと、１バイトのＲｅｃｏｒｄ  Ｔｙｐｅと、１３バイトのＯＥＭフィールド（上述の１６進数に変換したログデータを記憶するフィールド）を関連付けて記憶する。なお、これらの３つのデータを関連付けたデータ形式（図３）をＯＥＭ  ＳＥＬとも呼称する。
【００２３】
Ｒｅｃｏｒｄ  ＩＤは、データ記憶時に一意に定められる。Ｒｅｃｏｒｄ  Ｔｙｐｅは、タイムスタンプなしのＯＥＭ形式を示すためのデータであり、Ｅ０ｈ〜ＦＦｈの範囲で選択される。Ｒｅｃｏｒｄ  ＴｙｐｅとＯＥＭ（すなわち、変換したログデータ）は、ＩＰＭＩコマンドによりログ処理エージェント６２からＢＭＣ３０に供給される。
【００２４】
続いて図４を参照してＲｅｃｏｒｄ  ＩＤ管理ファイル１２の構成例を説明する。図示するようにＲｅｃｏｒｄ  ＩＤ管理ファイル１２は、Ｒｅｃｏｒｄ  ＩＤと時刻情報が関連付けられて管理する。なお時刻情報は、図示する形式に限られず、この他の形式で管理してもよい。
【００２５】
再び図１を参照する。ログ処理エージェント６２は、一定時間毎にＲｅｃｏｒｄ  ＩＤ管理ファイル１２にアクセスする。そしてログ処理エージェント６２は、Ｒｅｃｏｒｄ  ＩＤ管理ファイル１２に書き込まれた時刻情報を基に、ＢＭＣ３０への書き込みから上述の一定時間よりも長い時間が経過しているログデータのＲｅｃｏｒｄ  ＩＤを特定する。ログ処理エージェント６２は、特定したＲｅｃｏｒｄ  ＩＤを持つログデータをＢＭＣ３０から削除する。更にログ処理エージェント６２は、削除を行ったＲｅｃｏｒｄ  ＩＤに対応するデータ列をＲｅｃｏｒｄ  ＩＤ管理ファイル１２から削除する。ここでこの一定時間は、メモリ２０に書き込んだログデータがハードディスク１０に書き込まれるまでの最大時間（またはそれよりも大きい時間）とする。
【００２６】
なおログ処理エージェント６２による削除処理は、必須の処理ではなく、実行を行わなくてもよい。また情報処理装置１に障害が生じた場合、ログ処理エージェント６２は削除動作を停止する。
【００２７】
端末２は、ＢＭＣ  ＮＩＣ４０を介してＢＭＣ３０にアクセスする装置である。詳細には端末２は、ＢＭＣ  ＮＩＣ４０を介してＢＭＣ３０に対してＩＰＭＩコマンドを送信し、ＢＭＣ３０に記憶されているログデータ（ＳＥＬ形式）を取得する。端末２は、取得したＳＥＬ形式のログデータを図２に示す変換と逆手順の変換を行い、ログデータを取得する。ユーザは、このログデータを参照することにより、メモリ２０に書き込まれた任意のログデータを参照することができる。
【００２８】
ＮＩＣ５０は、情報端末１とネットワークを接続するインターフェイスとして動作する。
【００２９】
続いて図５を参照して、ログ処理エージェント６２によるログデータの削除処理の流れについて説明する。ログ処理エージェント６２は、一定時間毎にＲｅｃｏｒｄ  ＩＤ管理ファイル１２にアクセスする（Ｓ１）。この一定時間は、メモリ２０に書き込んだログデータがハードディスク１０に書き込まれるまでの最大時間（またはそれよりも大きい時間）とする。ログ処理エージェント６２は、一定時間毎にＲｅｃｏｒｄ  ＩＤ管理ファイル１２内の各データ列の時刻情報と現在時刻の差分を算出する。そしてログ処理エージェント６２は、保存されてからの時間が一定時間以上となっているデータ列が存在するかを判定する（Ｓ１２）。
【００３０】
一定時間以上となっているデータ列が存在しない場合（Ｓ１２：Ｎｏ）、ログ処理エージェント６２は処理を終了する。
【００３１】
一方、一定時間以上となっているデータ列が存在する場合（Ｓ１２：Ｙｅｓ）、ログ処理エージェント６２は一定時間以上経過しているデータに対応するＲｅｃｏｒｄ  ＩＤを抽出する。ログ処理エージェント６２は、抽出したＲｅｃｏｒｄＩＤに対応するログデータをＢＭＣ３０（図３）から削除する（Ｓ３）。この削除処理は、ＩＰＭＩコマンドを用いて行われる。またログ処理エージェント６２は、削除を行ったＲｅｃｏｒｄ  ＩＤに対応するデータをＲｅｃｏｒｄ  ＩＤ管理ファイル１２（図４）から削除する（Ｓ１２）。
【００３２】
続いて本実施の形態にかかる情報端末１の効果について説明する。上述のようにログ処理エージェント６２（第２ログ処理手段）は、メモリ２０を監視し、ログプロセス６１（第１ログ処理手段）からメモリ２０にログデータが書き込まれた時点でログデータをコピーしてＢＭＣ３０に書き込む。換言するとログ処理エージェント６２は、メモリ２０というバッファに書き込まれた時点からログデータをＢＭＣ３０に退避する。ＢＭＣ３０は、ＯＳ６０と独立して動作し、データを保持できる構成である。そのためユーザは、ＢＭＣ３０から直接ログデータを読み出せば障害原因を即座に把握することができる。換言するとユーザは、ＯＳ６０等が不安定な状態下であっても、ＢＭＣ３０内のデータを参照することにより障害時の状況を正確かつ迅速に把握することができる。
【００３３】
またＢＭＣ３０は情報処理装置１内にある一般的な構成であるため、様々な装置に容易に適用することができる。またＢＭＣ３０からのデータ読み出しは処理負荷の大きい処理ではないため、ユーザは迅速に障害時の状況を把握できる。
【００３４】
ログ処理エージェント６２は、ＳＥＬ形式にデータを変換した後にデータをＢＭＣ３０に格納している。これにより既存のＢＭＣ３０の運用に合わせたログ管理を実現することができる。
【００３５】
またログ処理エージェント６２は、ログファイル１１にログデータが書き込まれたことが担保された後にＢＭＣ３０からログデータを削除する。一般的にＢＭＣ３０の記憶容量には限りがある。ログ処理エージェント６２が削除処理を行うことにより、ＢＭＣ３０の保存容量を適切に保つことができる。
【００３６】
同様にログ処理エージェント６２は、ＢＭＣ３０から削除対象となったデータをＲｅｃｏｒｄ  ＩＤ管理ファイル１２からも削除する。これによりファイル容量が小さく保つことができる。
【００３７】
上述した実施の形態は本件発明者により得られた技術思想の適用に関する例に過ぎない。すなわち、当該技術思想は、上述した実施の形態のみに限定されるものではなく、種々の変更が可能であることは勿論である。
【００３８】
オペレーティングシステム６０（及び内部動作するログプロセス６１及びログ処理エージェント６２）の各処理は、ＣＰＵ（Central Processing Unit）がコンピュータプログラム（基本プログラム）を実行することにより実現される。
【００３９】
コンピュータプログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Read Only Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（random access memory））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００４０】
最後に情報処理装置１の動作概要について図６を参照して改めて説明する。図６は、本発明にかかる情報処理装置１の概略ブロック図である。ログプロセス６１（第１ログ処理手段）は、オペレーティングシステム６０の動作に応じたログデータをメモリ２０に随時書き込む。そしてログプロセス６１は、一定のログデータがメモリ２０に書き込まれた際に、一括してメモリ２０内のログデータをログファイル１１に書き込む。
【００４１】
ログ処理エージェント６２は、ログプロセス６１によるメモリ２０へのログデータの書き込みを検出する。そしてログ処理エージェント６２は、メモリ２０に書き込まれたログデータを読み出してＢＭＣ３０に書き込む。
【００４２】
ログ処理エージェント６２は、メモリ２０というバッファに書き込まれた時点からログデータをＢＭＣ３０に退避する。そのため、情報処理装置１に予期せぬ障害が起きた場合であっても、ＢＭＣ３０が直前のログデータを保持することができる。そのためユーザは、ＢＭＣ３０内のデータを参照することにより障害時の状況を正確に把握することができる。
【符号の説明】
【００４３】
１  情報処理装置
２  端末
１０  ハードディスク
１１  ログファイル
１２  Ｒｅｃｏｒｄ  ＩＤ管理ファイル
２０  メモリ
３０  ＢＭＣ
４０  ＢＭＣ  ＮＩＣ
５０  ＮＩＣ
６０  オペレーティングシステム（ＯＳ）
６１  ログプロセス
６２  ログ処理エージェント
【図１】
2015049552.tif 000003
【図２】
2015049552.tif 000004
【図３】
2015049552.tif 000005
【図４】
2015049552.tif 000006
【図５】
2015049552.tif 000007
【図６】
2015049552.tif 000008