JP2018180982A - 情報処理装置、およびログ記録方法 - Google Patents

情報処理装置、およびログ記録方法

Info

Publication number
JP2018180982A
JP2018180982A JP2017080411A JP2017080411A JP2018180982A JP 2018180982 A JP2018180982 A JP 2018180982A JP 2017080411 A JP2017080411 A JP 2017080411A JP 2017080411 A JP2017080411 A JP 2017080411A JP 2018180982 A JP2018180982 A JP 2018180982A
Authority
JP
Japan
Prior art keywords
log
sel
event
recording
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2017080411A
Other languages
English (en)
Other versions
JP6880961B2 (ja
Inventor
昌浩 長柄
Masahiro Nagae
昌浩 長柄
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2017080411A priority Critical patent/JP6880961B2/ja
Publication of JP2018180982A publication Critical patent/JP2018180982A/ja
Application granted granted Critical
Publication of JP6880961B2 publication Critical patent/JP6880961B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】記録するログの整合性を確保できる情報処理装置を提供する。【解決手段】情報処理装置はBMC(Baseboard Management Controller)を含む。BMC11は、通信部21と記憶部22と選択部23と記録部24と取得部25とを含む。通信部は、各種ハードウェアとのデータの送受信を行う。記憶部は、SEL(System Event Log)記録領域と詳細ログ記録領域とを含む。選択部は、新たに発生した事象と、記録されているSELが示す事象との関連性に基づいて、取得部に詳細ログを取得させないか、一部の詳細ログを取得させるか、全ての詳細ログを取得させるかを選択する。記録部は、ログ取得対象の事象が発生した場合、スレッド番号に対応する識別情報(第2識別情報)を詳細ログに付与して保存し、SELを、発生した事象に対応するSEL_ID(第1識別情報)と記録時刻とに対応付けて記録する。【選択図】図5

Description

本発明は、情報処理装置、およびログ記録方法に関する。
コンピュータに搭載されたBaseboard Management Controller(BMC)ファームウェアが、コンピュータのハードウェアの監視を行い、リモートコントロールやハードウェアイベント等に関する情報のログを記録する。ログの記録について、Intelligent Platform Management Interface (IPMI)に標準仕様が規定されている。
監視対象の装置が大規模になると、取得するログの量は多くなり、ユーザによるログの解析にも時間がかかるため、解析の効率化が求められる。
関連する技術として、アプリケーションプログラムの障害発生の際に、障害内容等の判別のために必要なログ情報のみをファイル装置に出力する技術が提案されている(例えば、特許文献1を参照)。
また、関連する技術として、排他制御を行わずに、複数のタスクに関する動作履歴情報を収集する情報処理装置が提案されている(例えば、特許文献2を参照)。
できる情報処理装置
特開2007−58265号公報 特開2010−66799号公報
BMCは、例えば、IPMIに規定されている故障種別を含むSystem Event Log(SEL)と、故障発生時のアプリケーションの動作情報、ハードウェアのレジスタから出力された情報等の詳細が記述された詳細ログとを記録する。SELの記述内容は、IPMIに規定されている。
例えば、SELに識別情報を付与した後に詳細ログの記録を開始し、詳細ログの記録完了後にSELにメッセージと記録時刻を書き込むことが考えられる。しかし、詳細ログの取得に要する時間は事象によって異なる。従って、SELの識別情報の順序とSEL記録時刻の順序とが一致しない可能性がある。
1つの側面として、本発明は、記録するログの整合性を確保することを目的とする。
1つの態様では、情報処理装置は、発生した事象の検出に応じて、前記事象に関する事象データを取得する取得部と、前記事象データの取得が完了した後に、前記事象に対応する第1識別情報を設定し、前記事象データに対応するログを前記第1識別情報に対応付けて記録する記録部と、を含む。
1つの側面によれば、記録するログの整合性を確保することできる。
実施形態のシステムの全体構成の一例を示す図である。 BMCファームウェアのプロセス概要を示す図である。 SELの一例を示す図である。 不整合が発生するログ記録処理の一例を示す図である。 BMCのソフトウェア構成の一例を示す図である。 ログ取得方法の管理情報の一例を示す図である。 エラーの管理情報を示す図である。 実施形態の処理の流れの一例を示すフローチャートである。 図8のステップS101の処理の一例を示す図である。 ログ記録処理の第1の例を示す図である。 ログ記録処理の第2の例を示す図である。
<実施形態のシステムの全体構成の一例>
以下、図面を参照して、実施形態について説明する。図1は、実施形態のシステムの全体構成の一例を示す。実施形態のシステムは、第1サーバ1と第2サーバ2とを含む。第2サーバ2は1台であってもよいし、複数台であってもよい。第1サーバと第2サーバとは通信可能であり、IPMIコマンドの送受信を相互に行う。
第1サーバ1は、BMC11とPower Supply Unit(PSU)15とセンサ16とCPU Memory Unit(CMU)17とを含む。第1サーバ1は、情報処理装置の一例である。
BMC11は、記憶装置12と第1通信インタフェース13aと第2通信インタフェース13bと第3通信インタフェース13cとプロセッサ14とを含む。CMU17は、Central Processing Unit(CPU)18とメモリ19とを含む。
BMC11は、オンチップの管理用コントローラであり、例えばマザーボード上に搭載されている。BMC11は、第1サーバ1内の各ハードウェア、第2サーバ2に含まれる各種ハードウェア等に関する各種のログを、記憶装置12に記録する。
記憶装置12は、コンピュータ読み取り可能な有形の記憶媒体の一例である。これらの有形な記憶媒体は、信号搬送波のような一時的な媒体ではない。記憶装置12は、例えば、半導体メモリを用いた可搬型記録媒体(例えば、SDメモリーカード)である。ただし、記憶装置12は、可搬型には限られず、BMC11に内蔵されていてもよい。記憶装置12にBMC11における各種処理を実行させるプログラムが記憶されていてもよい。
第1通信インタフェース13aは、第2サーバ2との通信に用いられる。第2通信インタフェース13bは、PSU15およびCMU17との通信に用いられる。第3通信インタフェース13cは、General Purpose Input/Output(GPIO)の一例であり、センサ16との通信に用いられる。
プロセッサ14は、記憶装置12に展開されたプログラムを実行する。PSU15は、第1サーバ1に電源を供給する。PSU15は、Inter-Integrated Circuit(I2C)通信方式により、BMC11と通信を行う。
センサ16は、第1サーバ1に関する各種の検出を行う。センサ16は、1つであってもよく、複数であってもよい。センサ16は、例えば、漏水検知センサ、温度センサ、冷却ファンの回転数を測定するセンサ等である。
CMU17は、例えば、CPU18とメモリ19とが搭載された基板である。メモリ19は、例えば、Random Access Memory(RAM)である。CPU18は、メモリ19に展開されたプログラムを実行する。
第1サーバ1は、図1に示す構成の他に、ハードディスクドライブや半導体メモリ等の補助記憶装置を含んでいてもよい。
BMC11は、I2C通信方式により、PSU15から電源状態を記録したログを取得する。電源状態は、例えば、電圧値である。ログのファイル形式は、例えば、バイナリ形式であり、ツールを使用することにより参照可能である。
また、BMC11は、I2C通信方式により、第2通信インタフェース13bを介してPSU15から、電源状態(例えば、電圧値)を示すログとして取得する。
また、BMC11は、第3通信インタフェース13cを介してセンサ16から各種検出データを取得し、各種検出データに関するログを記録する。検出データは、漏水の有無、CPU18等の温度、冷却ファンの回転数等である。ログのファイル形式は、例えば、バイナリ形式であり、ツールを使用することにより参照可能である。センサ16からのログ取得にかかる時間は、例えば、数ミリ秒である。
また、BMC11は、I2C通信方式により、第2通信インタフェース13bを介してCMU17のダンプ情報をログとして取得する。ダンプ情報は、例えば、エラーの発生時にCPU18が有するレジスタから出力された情報である。CMU17からのログ取得にかかる時間は、PSU15やセンサ16からのログ取得時間と比べて長い可能性が高い。
また、BMC11は、第1通信インタフェース13aを介して第2サーバ2からIPMIコマンドを用いて、ログを取得する。第2サーバ2からのログ取得にかかる時間は、第1サーバ1内のハードウェアからのログ取得にかかる時間より長い可能性が高く、例えば、数分である。
プロセッサ14は、実行するプログラムの動作を示すログ(以下、プログラム動作ログと称する)を出力し、記憶装置12に記憶する。プログラム動作ログは、定期的に更新される。プロセッサ14は、例えば、ハードウェアエラー等の事象が発生した際にプログラム動作ログを出力する。BMC11は、以前に同様の事象が発生している場合、その事象のログをコピーしてもよい。
プログラム動作ログは、例えば、定期的に出力され、PSU15、センサ16、CMU17、第2サーバ2等から取得するログと比較して記録にかかる時間は短い可能性が高い。プログラム動作ログのファイル形式は、バイナリ形式またはテキスト形式である。バイナリ形式の動作ログは、ツールを使用することにより参照可能である。
第2サーバ2内の構成要素は、第1サーバ1と同じであってもよいし異なっていてもよい。第1サーバ1は、サーバ以外の電子装置(例えば、ストレージ、スイッチ等)と接続されていてもよく、接続されている電子装置に関するログを取得してもよい。
図2は、BMCファームウェアのプロセス概要を示す図である。BMCファームウェアの処理は、例えば、IPMIのMainプロセスとして規定されている。
BMCファームウェアのプロセスは、CPU(例えば、CPU18)の割り込み受付スレッドと、PSU(例えば、CMU17)の割り込み受付スレッドと、各種センサ(例えば、センサ16)から出力される値に対する監視スレッドを含む。各スレッドにおいて、SEL登録ライブラリと詳細ログ登録ライブラリへのログ記録が行われる。
SEL登録ライブラリおよび詳細ログ登録ライブラリは、例えば、記憶装置12に記憶される。なお、SELは、ログの一例である。また、詳細ログは、事象データの一例である。
BMC11は、ハードウェアごとにスレッドを生成する。また、同一のハードウェアであっても、事象の種類が異なる場合、BMC11は、新たなスレッドを生成してもよい。また、BMC11は、ハードウェアのエラー等の事象の内容を解析し、SELの記録と詳細ログの記録を各スレッドで処理する。
BMC11は、例えば、CPU18およびPSU15からの割り込みに応じて、SEL記録および詳細ログ記録を行う。BMC11は、例えば、CPU18およびPSU15を定期監視してログを取得し、SEL記録および詳細ログ記録を行ってもよい。また、BMC11は、各種センサを定期監視し、例えば、異常値を検出した場合に、SEL記録および詳細ログ記録を行う。
図3は、SELの一例を示す図である。SELは、事象の概要を示すログであり、記述内容は、IPMIで規定される。SELは、例えば、障害の発生や重度を切り分けるために用いられる。図3に示すSELは、SEL_ID、時刻(timestamp)、メッセージコード(MsgCode)、エラーレベル(ErrLvl)、部品名、メッセージが含まれている。
なお、SEL_ID、時刻、メッセージコードは、IPMIで規定された内容である。例えば、BMC11からログを取得したサーバが、ツールを用いてメッセージコードを変換して、エラーレベル、部品名、メッセージを取得することができる。
SEL_IDは、スレッド毎に付与されるログの識別情報である。時刻は、メッセージ記録時の時刻である。メッセージコードは、事象を分別するコードである。
エラーレベルは、例えば、エラー内容が通常レベルか、警告レベルか、致命的なレベルかを示す情報である。ハード種別は、事象を発生したハードウェアの種別を示す。メッセージ内容は、エラー内容など、事象の内容についての記述である。
BMC11は、図3に示すSELに対応する、1以上の詳細ログ(図示せず)を記録する。詳細ログは、各種ハードウェア(例えば、PSU15、センサ16、CMU17、および第2サーバ2)から取得したログである。または、BMC11は、取得したログを所定の形式に編集して詳細ログとしてもよい。
詳細ログは、障害要因を詳細に調査するために用いられる。また、詳細ログは、Original Equipment Manufacturing(OEM)により生成されるログであり、ユーザにより記録内容や記録方法が定義される。
また、詳細ログは、障害の詳細原因追究の解析のために用いられる。監視対象の装置が大規模になるに応じて、詳細ログは多くなり解析にも時間がかかる。BMC11は、SELと詳細ログに共通の識別情報を付与し、識別情報を用いて関連性を管理することで、解析に必要な情報明確にして効率化する。例えば、ユーザがログを参照してエラーの解析をする際に、SELを参照して、SELの内容に基づいて解析に用いる詳細ログを選択することにより、全ての詳細ログを参照せずにエラーの解析をすることができる。
例えば、BMC11は、以前に発生した事象と同様または関連した事象が発生したと判定した場合、詳細ログとして以前に生成したログの識別情報のみを記録してもよいし、詳細ログの取得を省略してもよい。BMC11は、以前に生成したログの識別情報のみを記録したり、詳細ログの取得を省略することにより、ログ容量の削減をすることができる。
図4は、不整合が発生するログ記録処理の一例を示す図である。図4に示す例では、ログ記録の対象となる2つの事象(エラー)が発生し、2つのエラーにそれぞれ対応するスレッドAおよびスレッドBで処理が行われることを想定する。
図4に示すSEL記録領域には、SEL_IDに日付(SEL記録日)、時刻(SEL記録時刻)、メッセージコードが記録される。図4では、予め、SEL_ID:「1」に対応して、日付(X/X)、時刻(09:00)、メッセージコード(○○)が記録されている。また、詳細ログには、SEL_ID:「1」に対応するフォルダ「ID0001」が予め作成されている。
ログの取得対象のエラーAが発生した場合(S11)、BMC11は、エラーAについてSEL記録領域の空きを確保し、SEL_IDとして「2」を設定する(S12)。SEL_IDの取得時点では、SEL記録日時、およびログ内容が不明であるため、BMC11は、日付、時刻、メッセージコードの替わりに「reservedA」というメッセージをSEL記録領域に仮記録する。
BMC11は、エラーAに関して詳細ログの取得を開始する(S13)。BMC11は、詳細ログの取得を開始する際に、SEL_IDに対応するフォルダ名を付与したフォルダを作成する。そして、BMC11は、作成したフォルダ内に取得したログを保存する。図4の例では、BMC11は、SEL_ID:「2」に対応してフォルダ名を「ID0002」とする。
S13の後に、エラーAとは異なるエラーBが発生したとする(S14)。BMC11は、エラーBについてSEL記録領域の空きを確保し、SEL_IDとして「3」を設定する(S15)。SEL_IDの取得時点では、SEL記録日時、およびログ内容が不明であるため、BMC11は、日付、時刻、メッセージコードの替わりに「reserved B」というメッセージをSEL記録領域に仮記録する。
BMC11は、エラーBに関して詳細ログの取得を開始する(S16)。BMC11は、詳細ログの取得を開始する際に、SEL_ID:「3」に対応して「ID0003」という名称のフォルダを作成する。そして、BMC11は、詳細ログの取得を完了する(S17)。
BMC11は、スレッドBにおける詳細ログの保存後、SEL記録領域にSEL記録を行う(S18)。BMC11は、SEL_IDが「3」である領域に、日付、時刻、メッセージコードを記録する。記録される日付、時刻は、SELの記録を行った日付、時刻である。
S18の後、エラーAに関して、詳細ログの取得が完了したとする(S19)。BMC11は、スレッドAにおける詳細ログの保存後、SEL記録領域にSEL記録を行う(S20)。BMC11は、SEL_IDが「A」である領域に、日付、時刻、メッセージコードを記録する。
以上の処理において、S18の処理の時点で、SEL_ID:「1」、「3」に対応する日付、時刻、メッセージコードが記録されているが、SEL_ID:「2」に対応する日付、時刻、メッセージコードが記録されていない。すなわち、SEL_IDの順序で確保されたSEL記録領域の中間に空きが発生する。
さらに、S11〜S20の処理の結果、SEL記録領域において、SEL_ID:「2」に対応する日時(x/x 10:50)よりSEL_ID:「3」に対応する日時(x/x 10:40)の方が前の日時となっている。すなわち、SEL_IDの順序と日時の順序が逆転している。
SEL記録領域の中間に空きができた状態やSEL_IDの順序と日時の順序が逆転した状態は、プログラムにとって想定していない状態であるため、各種処理に異常が発生する可能性がある。例えば、外部の情報処理装置等から送られた、SELを読み込むためのIPMIコマンドがエラーとなったり、ログデータの取得が部分的にうまくいかない可能性がある。また、サーバの再起動時にログの復元が行えない可能性がある。また、SELの領域の中間に空きができた状態では、新規のログ記録ができない可能性がある。
詳細ログの形式は様々であり、収集時間にもばらつきがある。例えば、上述したように、自装置内のハードウェアからの詳細ログ(センサ情報等)の収集と比較して他の装置からの詳細ログの収集には時間がかかる。また、大規模なシステムでは、複数の故障イベントがほぼ同時に発生することがあり、短期間に多数のログ記録する場合があるため、上記のような問題が発生する。
詳細ログの記録前にSELを記録すれば、上記問題は解消するが、収集した詳細ログを解析した上で記録するSELを決定する場合、詳細ログの記録後にSELを記録することが好ましい。
また、SELの記録方法は、IPMI規格でサポートされるため、記録の処理が標準的なパッケージの一つとして提供される。そのため、例えば、詳細ログの完了に合わせてSEL_IDを変更する等の工夫をすることは困難である。
また、スレッド間の排他により、上記の問題を防ぐ方法は考えられる。例えば、スレッドAの処理中はスレッドBの処理を行わないことが考えられる。しかし、スレッド間の排他を行うと、短期間に複数の事象が発生した場合、ログの記録時間が長くなってしまう。
<BMCの一例>
上記のような問題を回避するために、実施形態におけるBMC11は、発生した事象に関して記録するログの整合性を確保する処理を行う。なお、以下の説明において、発生する事象はハードウェアのエラーであるが、発生する事象はエラーには限られない。例えば、発生する事象は、プログラムが定期的に出力する情報であってもよい。
図5は、BMCのソフトウェア構成の一例を示す図である。BMC11は、通信部21と記憶部22と選択部23と記録部24と取得部25とを含む。
通信部21は、各種ハードウェアとのデータの送受信を行う。通信部21は、図1に示す第1通信インタフェース13a、第2通信インタフェース13b、第3通信インタフェース13cに対応する。
記憶部22は、論理的に分割されたSEL記録領域と詳細ログ記録領域とを含む。また、SEL記録領域にはSELが記憶され、詳細ログ記録領域には詳細ログが記憶される。また、記憶部22は、後述するログ取得方法の管理情報、エラーの管理情報を記憶する。記憶部22は、図1に示す記憶装置12により実現される。
選択部23は、新たに発生した事象と、記録されているSELが示す事象との関連性に基づいて、取得部25に詳細ログを取得させないか、取得部25に一部の詳細ログを取得させるか、取得部25に全ての詳細ログを取得させるかを選択する。選択部23の処理の詳細は後述する。
記録部24は、ログ取得対象の事象が発生した場合、詳細ログに対応する第2識別情報として、スレッド番号に対応する識別情報を設定し、詳細ログに付与する。また、記録部24は、詳細ログ記録領域に、第2識別情報に対応するフォルダ名を付与したフォルダを作成する。そして、記録部24は、取得した詳細ログを作成したフォルダ内に保存する。
記録部24は、詳細ログの記録を完了した場合、発生した事象に対応するSEL_IDを設定し、SELをSEL_IDと記録時刻とに対応付けて記録する。
記録部24は、SELの記録後、SEL_IDに基づいて、詳細ログ領域のフォルダ名と第2識別情報をスレッド番号からSEL_IDに基づく名称に更新(リネーム)する。SEL_IDは、第1識別情報の一例である。
取得部25は、選択部23の選択結果に基づいて、発生した事象の検出に応じて、詳細ログ取得対象の各種ハードウェアから、発生した事象に関する詳細ログを取得する。詳細ログ取得対象の各種ハードウェアは、例えば、図1に示すPSU15、センサ16、CMU17、第2サーバ2等である。取得部25は、センサ16から取得した温度が所定値を超えた場合、第2サーバ2等から所定の要求を受信した場合、詳細ログを取得する。
図6は、ログ取得方法の管理情報の一例を示す図である。選択部23は、エラーの発生後にエラーの種類を判定し、過去に記憶装置12に記憶したSELにおいて、所定時間以内に関連するエラーが発生していないか判定する。選択部23は、関連するエラーが起きていた場合、そのエラーに関する詳細ログを確認し、新たに記録する詳細ログが記憶装置12に記憶した詳細ログと同じとなるか推測する。同じとなると推測した場合、選択部23は、取得部25に、詳細ログの一部のみ取得させるか、詳細ログを取得させない。なお、エラーの種別毎に、取得対象の詳細ログが予め設定されているとする。
例えば、選択部23は、記憶装置12に記憶されたSELが示すエラーと同じエラーを検出した場合、詳細ログを取得しないことを選択する。選択部23は、同じエラーかどうかを、例えば、図3に示すメッセージコード(MsgCode)と、新たに発生したエラー内容に基づいて判定する。
選択部23は、記憶装置12に記憶されたSELが示すエラーと関連するエラーを検出した場合、同じスレッドでの検出であれば、そのエラーに対して設定された取得対象の詳細ログのうち一部の詳細ログを取得部25に取得させることを選択する。例えば、関連するエラーを同じスレッドで検出した場合、プログラム動作ログが同じ内容となる可能性が高いため、選択部23は、プログラム動作ログを詳細ログとして取得しないことを選択する。選択部23は、例えば、CPU18のレジスタ情報等の詳細ログは異なる可能性があるため、CPU18のレジスタ情報等を取得部25に取得する。
選択部23は、例えば、一部の詳細ログを取得部25に取得させることを選択した場合、エラーが電源に関するエラーであれば、取得部25に、PSU15からの詳細ログのみ取得させる。
また、選択部23は、記憶装置12に記憶されたSELが示すエラーと関連するエラーを検出した場合、別スレッドでの検出であれば、そのエラーに対して設定された全ての取得対象の詳細ログを取得することを選択する。
関連するエラーが頻発した場合、すなわち、新たに発生したエラーの発生時刻と、記録されているSELに記録されているエラー発生時刻とが所定範囲内である場合、後に発生したエラーよりも先に発生したエラーの方が、重要度が高い可能性が高い。先のエラーが原因で後のエラーが発生した要因で発生した可能性が高いからである。従って、選択部23は、関連するエラーが頻発した場合、同じスレッドでの検出であれば、詳細ログを取得しないことを選択する。また、選択部23は、関連するエラーが頻発した場合、異なるスレッドでの検出であれば、そのエラーに対して設定された一部の詳細ログを取得することを選択する。
以上のように、選択部23は、同じ内容になると推測された詳細ログの取得を省略することを選択することにより、記憶するログ容量を低減し、ログ取得時間を短縮することができる。
図7は、エラーの管理情報を示す図である。図7に示す管理情報は、記憶部22に記憶される。図7に示す「メッセージ」は、エラーが発生した際に、BMC11が各種ハードウェアから取得した情報に基づくエラーメッセージである。「エラー種別」は、「メッセージ」に対応するエラーの種別である。また、詳細ログ1〜4は、例えば、図1に示すPSU15、センサ16、CMU17、第2サーバ2から取得部25がそれぞれ取得する詳細ログである。
図7に示す「エラー種別」は、選択部23が、新たに発生したエラーが過去に発生したエラーと関連するか同一であるかを判定する際に用いられる。
図7において、「○」は、詳細ログが取得対象であることを示す。「△」は、詳細ログが取得対象であるが省略可能であることを示す。図6における「全ての詳細ログ」とは図7で「○」および「△」となっている詳細ログである。また、図6における「一部の詳細ログ」とは図7で「○」となっている詳細ログである。
図7に示す例では、メッセージ毎に取得対象の詳細ログが記録されているが、例えば、図3に示すMsgCode毎に取得対象の詳細ログが記録されていてもよい。
<実施形態の処理の流れの一例>
図8は、実施形態の処理の流れの一例を示すフローチャートである。図4に示す処理は、BMC11が、ハードウェアエラー等の所定の事象を検出した際に開始する。
選択部23は、発生した事象と、記録されているSELが示す事象との関連性に基づいて、取得部25に詳細ログを取得させないか、一部の詳細ログを取得させるか、全ての詳細ログを取得させるかを選択する(ステップS101)。選択部23は、例えば、図6および図7に示す管理情報に基づいて、選択を行う。
ステップS101において、一部または全部の詳細ログを取得することが選択された場合(ステップS101でYES)、記録部24は、スレッド番号を取得する(ステップS103)。
記録部24は、記憶部22の詳細ログ記録領域に、発生した事象に対応するフォルダが作成されているか判定する(ステップS104)。ステップS104でNOの場合、記録部24は、詳細ログに対して、スレッド番号に対応する識別情報を設定して、記憶部22の詳細ログ記録領域に、識別情報に対応するフォルダ名のフォルダを作成する(ステップS105)。
ステップS104でYESの場合、またはステップS105の処理後、取得部25は、各種ハードウェアから詳細ログを取得する(ステップS106)。記録部24は、取得した詳細ログを記録する(ステップS107)。記録部24は、例えば、取得した詳細ログを作成したフォルダ内に保存する。記録部24は、取得した詳細ログを所定の形式に変換してからフォルダ内に保存してもよい。
なお、ステップS101において、一部の詳細ログを取得することが選択されている場合、ステップS105では、取得部25は、取得対象の詳細ログのうちの一部の詳細ログを取得する。取得部25は、図7の管理情報のうち「○」となっている詳細ログのみ取得する。
記録部24は、詳細ログの記録を完了したかを判定する(ステップS108)。ステップS108でNOの場合、記録部24は、ステップS104の処理に戻る。ステップS108でYESの場合、記録部24は、発生したエラーに対応するSEL_IDを設定し、SELをSEL_IDと記録時刻に対応付けて記録する(ステップS109)。記録部24は、例えば、SEL_ID、日付、時刻、メッセージコードを含むSELを、SEL記録領域に記録する。
記録部24は、SEL記録領域から、記録されたSEL_IDを取得する(ステップS110)。記録部24は、取得したSEL_IDに基づいて、詳細ログに対応付けられた第2識別情報と詳細ログ記録領域のフォルダ名とを更新(リネーム)する(ステップS110)。すなわち、記録部24は、詳細ログに対応付けられた第2識別情報とフォルダ名をスレッド番号からSEL_IDに対応する名称に変更する。
記録部24は、詳細ログに対応付けられた識別情報とフォルダ名をスレッド番号からSEL_IDに対応する名称に変更することにより、後で行われるログ解析を効率化することができる。
図9は、図8のステップS101の処理の一例を示す図である。選択部23は、各種ハードウェアから送信された情報に基づいて、エラー種別を判定する(ステップS201)。選択部23は、図7に示す管理情報に基づいて、エラー種別を判定してもよい。
選択部23は、記憶装置12に記憶されたSELと詳細ログに基づいて、新たに発生したエラーと過去に発生したエラーとの関連性を判定する(ステップS202)。選択部23は、例えば、新たに発生したエラー内容と、記録されたSELのメッセージコードに基づいて、関連性の有無を判定する。また、選択部23は、関連する可能性があるエラーに関する詳細ログ選択し、その詳細ログを参照して、新たに発生したエラーと過去に発生したエラーとの関連性を判定してもよい。
選択部23は、新たに発生したエラーが過去に発生したエラーと同じエラーまたは関連するエラーである場合(ステップS203でYES)記憶装置12に記憶された管理情報(例えば、図6)に基づいて、ログ取得方法を選択する(ステップS204)。選択部23は、取得部25に詳細ログを取得させないか、取得部25に一部の詳細ログを取得させるか、取得部25に全ての詳細ログを取得させるかを選択する。
ステップS203でNOの場合、選択部23は、全ての詳細ログを取得することを選択する(ステップS205)。
以上のように、実施形態のBMC11は、詳細ログの取得が完了した後に、SEL_IDを設定し、SEL_IDを含むSELを記録するため、SEL_IDとSEL記録時刻との順序が逆転することを防ぐことができる。また、実施形態のBMC11は、SEL記録領域の中間に空きができた状態の発生を防ぐことができる。すなわち、実施形態のBMC11は、記録するログの整合性を確保することができる。そのため、実施形態のBMC11は、例えば、ログ記録中に装置の再起動が実施されたとしても余計なログを残さずにログを復元をすることができる。
<ログ記録処理の第1の例>
図10は、ログ記録処理の第1の例を示す。図10に示す例では、ログ記録の対象となる2つの事象(エラー)が発生し、2つのエラーにそれぞれ対応するスレッドAおよびスレッドBの処理が行われることを想定する。
図10に示すSEL記録領域には、SEL_IDに対応付けて、日付(SEL記録日)、時刻(SEL記録時刻)、メッセージコードが記録される。図10では、予め、SEL_ID:「1」に対して、日付(X/X)、時刻(09:00)、メッセージ(○○)が記録されている。また、詳細ログ記録領域には、SEL_ID:「1」に対応するフォルダ「ID0001」が予め作成されている。
ログの取得対象のエラーAが発生した場合(S21)、記録部24は、詳細ログ記録領域に、スレッド番号「2222」に対応するフォルダ(TMP2222)を作成する。そして、取得部25は、エラーAに関して詳細ログの取得を開始する(S22)。記録部24は、エラーAに関して取得された詳細ログを「TMP2222」に保存する。
S22の処理後、エラーAと異なる、ログの取得対象のエラーBが発生した場合(S23)、記録部24は、詳細ログ記録領域に、スレッド番号(3333)に対応するフォルダ(TMP3333)を作成する。記録部24は、フォルダを作成するとともに、エラーBに関して詳細ログの取得を開始する(S24)。記録部24は、エラーBに関して取得された詳細ログを「TMP3333」に保存する。そして、エラーBに関して、取得対象の全ての詳細ログの取得が完了したとする(S25)。
記録部24は、エラーBについてSEL記録領域の空きを確保し、SEL記録を行う(S26)。SEL_IDとして「1」が使用されているため、記録部24は、SEL_IDに「2」を設定する。記録部24は、SEL記録領域に、SEL_ID:「2」に対応付けて、SEL記録時の日付および時刻と、メッセージコードとを記録する。
記録部24は、SEL記録領域から、記録したSEL_ID「2」を取得する(S27)。記録部24は、エラーBについて作成したフォルダ「TMP3333」の名称を、SEL_ID「2」に対応する名称「ID0002」にリネームする。
そして、エラーAについて、取得対象の全ての詳細ログの取得が完了したとする(S30)。記録部24は、SEL記録領域の空きを確保し、SEL記録を行う(S31)。SEL_IDとして「1」、「2」が使用されているため、記録部24は、SEL_IDに「3」を設定する。記録部24は、SEL記録領域に、SEL_ID:「3」に対応付けて、SEL記録時の日付および時刻と、メッセージコードとを記録する。
記録部24は、SEL記録領域から、記録したSEL_ID:「3」を取得する(S32)。記録部24は、エラーAについて作成したフォルダ「TMP2222」の名称を、SEL_ID「3」に対応する名称「ID0003」にリネームする。
以上のように、第1の例では、図4に示した例と異なり、SEL記録領域の中間に空きができた状態やSEL_IDの順序と日時の順序が逆転した状態が発生しない。すなわち、実施形態の情報処理装置は、記録するログの整合性を確保することができる。
<ログ記録処理の第2の例>
図11は、ログ記録処理の第2の例を示す。図11に示す例では、1つのスレッドにおいて、ログ記録の対象となる2つの事象(エラー)が発生したことを想定する。例えば、ハードウェアからの1回の割り込みに対して1つのスレッドを作成する場合において、1回の割り込みに対して2つのエラーが発生したことを想定する。
ログの取得対象のエラーAが発生した場合(S41)、記録部24は、詳細ログ記録領域に、スレッド番号「3333」に対応するフォルダ「TMP3333」を作成する。そして、取得部25は、エラーAに関する詳細ログ1の取得を開始する(S42)。記録部24は、エラーAに関して取得された詳細ログ1を「TMP3333」に保存する。
さらに、ログの取得対象のエラーBが発生した場合(S43)、記録部24は、詳細ログ記録領域に、スレッド番号「3333」に対応するフォルダ「TMP3333_1」を作成する。そして、取得部25は、エラーBに関する詳細ログ2の取得を開始する(S44)。記録部24は、エラーBに関して取得された詳細ログ2を「TMP3333_1」に保存する。
なお、エラーBがエラーAに関連する場合、記録部24は、新たなフォルダ「TMP3333_1」を作成せずに、エラーBに関して詳細ログをフォルダ「TMP3333」に保存してもよい。
そして、エラーBに関して、取得対象の全ての詳細ログ2の取得が完了したとする(S45)。記録部24は、SEL記録領域の空きを確保し、エラーBに関するSEL記録を行う(S46)。SEL_IDとして「1」が使用されているため、記録部24は、SEL_IDに「2」を設定する。記録部24は、SEL記録領域に、SEL_ID:「2」に対応付けて、SEL記録時の日付および時刻と、メッセージコードとを記録する。
記録部24は、SEL記録領域から、記録したSEL_ID「2」を取得する(S47)。記録部24は、エラーAに関して作成したフォルダ「TMP3333_1」の名称を、SEL_ID「2」に対応する名称「ID0002」にリネームする(S48)。
そして、エラーAに関して、取得対象の全ての詳細ログ1の取得が完了したとする(S49)。記録部24は、SEL記録領域の空きを確保し、エラーAに関するSEL記録を行う(S50)。SEL_IDは、「1」、「2」が使用されているため、記録部24は、SEL_IDに「3」を設定する。記録部24は、SEL記録領域に、SEL_ID:「3」に対応付けて、SEL記録時の日付および時刻と、メッセージコードとを記録する。
記録部24は、SEL記録領域から、記録したSEL_ID「3」を取得する(S51)。記録部24は、エラーAに関して作成したフォルダ「TMP3333」の名称を、SEL_ID「3」に対応する名称「ID0003」にリネームする(S52)。
以上のように、第2の例では、図4に示した例と異なり、SEL記録領域の中間に空きができた状態やSEL_IDの順序と日時の順序が逆転した状態が発生しない。すなわち、実施形態の情報処理装置は、一つのスレッドで複数のエラーが発生した場合であっても、記録するログの整合性を確保することができる。
<その他>
本実施形態は、以上に述べた実施の形態に限定されるものではなく、本実施形態の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
1 第1サーバ
2 第2サーバ
11 BMC
12 記憶装置
13a 第1通信インタフェース
13b 第2通信インタフェース
13c 第3通信インタフェース
14 プロセッサ
15 PSU
16 センサ
17 CMU
18 CPU
19 メモリ
21 通信部
22 記憶部
23 選択部
24 記録部
25 取得部

Claims (8)

  1. 発生した事象の検出に応じて、前記事象に関する事象データを取得する取得部と、
    前記事象データの取得が完了した後に、前記事象に対応する第1識別情報を設定し、前記事象データに対応するログを前記第1識別情報に対応付けて記録する記録部と、
    を備えることを特徴とする情報処理装置。
  2. 前記記録部は、
    前記事象データに対応する第2識別情報を設定し、
    前記ログを記録した後、前記第1識別情報に基づいて前記第2識別情報を更新する
    ことを特徴とする請求項1記載の情報処理装置。
  3. 前記記録部は、
    前記ログを記録する際の時刻を、該ログに対応付けて記録する
    ことを特徴とする請求項1または請求項2記載の情報処理装置。
  4. 前記発生した事象と、記録されている前記ログが示す事象との関連性に基づいて、前記取得部に前記事象データを取得させないか、前記取得部に一部の前記事象データを取得させるか、前記取得部に全ての前記事象データを取得させるかを選択する選択部を含む
    ことを特徴とする請求項1乃至3のうちのいずれか1項に記載の情報処理装置。
  5. 前記選択部は、前記発生した事象が、記録されている前記ログが示す事象と同じである場合、前記取得部に前記事象データを取得させないことを選択する
    ことを特徴とする請求項4に記載の情報処理装置。
  6. 前記選択部は、前記発生した事象が、記録されている前記ログが示す事象と関連する場合、前記取得部に一部の前記事象データを取得させるか、前記取得部に全ての前記事象データを取得させるかを選択する
    ことを特徴とする請求項4または請求項5に記載の情報処理装置。
  7. 前記選択部は、前記発生した事象が、記録されている前記第1ログが示す事象と関連し、かつ、前記発生した事象の発生時刻が、記録されている前記第1ログが示す事象の発生時刻と所定範囲内である場合、前記取得部に前記第2ログを取得させないか、前記取得部に一部の前記第2ログを取得させるかを選択する
    ことを特徴とする請求項4乃至6のうちのいずれか1項に記載の情報処理装置。
  8. 発生した事象の検出に応じて、前記事象に関する事象データを取得し、
    前記事象データの取得が完了した後に、前記事象に対応する第1識別情報を設定し、前記事象データに対応するログを前記第1識別情報に対応付けて記録する、
    処理を情報処理装置が実行することを特徴とするログ記録方法。
JP2017080411A 2017-04-14 2017-04-14 情報処理装置、およびログ記録方法 Active JP6880961B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017080411A JP6880961B2 (ja) 2017-04-14 2017-04-14 情報処理装置、およびログ記録方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017080411A JP6880961B2 (ja) 2017-04-14 2017-04-14 情報処理装置、およびログ記録方法

Publications (2)

Publication Number Publication Date
JP2018180982A true JP2018180982A (ja) 2018-11-15
JP6880961B2 JP6880961B2 (ja) 2021-06-02

Family

ID=64275571

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017080411A Active JP6880961B2 (ja) 2017-04-14 2017-04-14 情報処理装置、およびログ記録方法

Country Status (1)

Country Link
JP (1) JP6880961B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112115032A (zh) * 2020-09-29 2020-12-22 中国银行股份有限公司 一种日志生成方法和装置
CN112882913A (zh) * 2021-02-26 2021-06-01 联想(北京)有限公司 一种日志记录方法、服务器及存储介质
CN112988247A (zh) * 2021-03-08 2021-06-18 曙光信息产业股份有限公司 日志处理方法、装置、电子设备及可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090089624A1 (en) * 2007-10-02 2009-04-02 Christopher Harry Austen Mechanism to report operating system events on an intelligent platform management interface compliant server
JP2011145824A (ja) * 2010-01-13 2011-07-28 Nec Computertechno Ltd 情報処理装置、障害解析方法及び障害解析プログラム
JP2011210064A (ja) * 2010-03-30 2011-10-20 Nec Corp ログ情報収集システム、装置、方法及びプログラム
JP2012103928A (ja) * 2010-11-11 2012-05-31 Canon Inc ネットワークシステム、サーバ、情報処理装置、ログ登録方法、及び、プログラム
JP2013191188A (ja) * 2012-02-14 2013-09-26 Nippon Telegr & Teleph Corp <Ntt> ログ管理装置、ログ蓄積方法、ログ検索方法、重要度決定方法、およびプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090089624A1 (en) * 2007-10-02 2009-04-02 Christopher Harry Austen Mechanism to report operating system events on an intelligent platform management interface compliant server
JP2011145824A (ja) * 2010-01-13 2011-07-28 Nec Computertechno Ltd 情報処理装置、障害解析方法及び障害解析プログラム
JP2011210064A (ja) * 2010-03-30 2011-10-20 Nec Corp ログ情報収集システム、装置、方法及びプログラム
JP2012103928A (ja) * 2010-11-11 2012-05-31 Canon Inc ネットワークシステム、サーバ、情報処理装置、ログ登録方法、及び、プログラム
JP2013191188A (ja) * 2012-02-14 2013-09-26 Nippon Telegr & Teleph Corp <Ntt> ログ管理装置、ログ蓄積方法、ログ検索方法、重要度決定方法、およびプログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112115032A (zh) * 2020-09-29 2020-12-22 中国银行股份有限公司 一种日志生成方法和装置
CN112115032B (zh) * 2020-09-29 2023-12-08 中国银行股份有限公司 一种日志生成方法和装置
CN112882913A (zh) * 2021-02-26 2021-06-01 联想(北京)有限公司 一种日志记录方法、服务器及存储介质
CN112988247A (zh) * 2021-03-08 2021-06-18 曙光信息产业股份有限公司 日志处理方法、装置、电子设备及可读存储介质

Also Published As

Publication number Publication date
JP6880961B2 (ja) 2021-06-02

Similar Documents

Publication Publication Date Title
JP6333410B2 (ja) 障害処理方法、関連装置、およびコンピュータ
CN102597962B (zh) 用于虚拟计算环境中的故障管理的方法和系统
CN111324192A (zh) 一种系统板卡电源检测方法、装置、设备及存储介质
CN102081573B (zh) 用于记录设备重启原因的装置及方法
TWI450103B (zh) 伺服器之遠端管理系統及方法,及其電腦程式產品
WO2017063505A1 (zh) 一种服务器硬件故障检测方法及其装置和服务器
US10496495B2 (en) On demand remote diagnostics for hardware component failure and disk drive data recovery using embedded storage media
CN111274059B (zh) 一种从设备的软件异常处理方法及装置
JP5713138B1 (ja) 仮想計算機システム、プリンタ制御システム、仮想計算機プログラム及びプリンタ制御プログラム
US9256489B2 (en) Synchronized debug information generation
JP6880961B2 (ja) 情報処理装置、およびログ記録方法
CN111796959A (zh) 宿主机容器自愈方法、装置及系统
CN113708986A (zh) 服务器监控装置、方法及计算机可读存储介质
CN113672306B (zh) 服务器组件自检异常恢复方法、装置、系统及介质
US11023335B2 (en) Computer and control method thereof for diagnosing abnormality
CN112988442B (zh) 一种服务器运行阶段传送故障信息的方法和设备
EP2312443A2 (en) Information processing apparatus, method of controlling information processing apparatus and control program
JP2017078998A (ja) 情報処理装置およびログ管理方法、並びにコンピュータ・プログラム
CN111159051B (zh) 死锁检测方法、装置、电子设备及可读存储介质
CN117573306A (zh) 批量任务调度系统、方法、装置、计算机设备和存储介质
CN110968456B (zh) 分布式存储系统中故障磁盘的处理方法及装置
JPWO2011051999A1 (ja) 情報処理装置及び情報処理装置の制御方法
CN117337413A (zh) 可编程逻辑控制器、终端装置、程序管理系统、程序管理方法及程序
JP2012108848A (ja) 動作ログ収集システム及びプログラム
JP2010176464A (ja) 計算機システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210309

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20210309

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20210309

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210406

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210419

R150 Certificate of patent or registration of utility model

Ref document number: 6880961

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150