(57)【要約】【課題】運用担当者の経験によらず、障害要因の特定を容易にする。【解決手段】ノウハウデータベースは、機器に生じた障害に関連付けて、機器が出力した過去ログデータに含まれる障害に係る１つのエラーコードまたは複数のエラーコードの順列を記憶する。抽出部は、対象機器が出力した対象ログデータから、１つのエラーコードまたは複数のエラーコードの順列を含む部分ログデータを抽出する。検索部は、ノウハウデータベースから、部分ログデータに含まれる１つのエラーコードまたは複数のエラーコードの順列を検索する。【選択図】図２
2019191645.tif 000002
【特許請求の範囲】
【請求項１】
対象機器が出力した対象ログデータから、１つのエラーコードまたは複数のエラーコードの順列を含む部分ログデータを抽出する抽出部と、
機器に生じた障害に関連付けて、前記機器が出力した過去ログデータに含まれる前記障害に係る１つのエラーコードまたは複数のエラーコードの順列を記憶するノウハウデータベースから、前記部分ログデータに含まれる前記１つのエラーコードまたは前記複数のエラーコードの順列を検索する検索部と
を備える検出支援装置。
【請求項２】
前記部分ログデータは、前記対象ログデータのうち、前記１つのエラーコードまたは前記複数のエラーコードのそれぞれの前後７行以上１５行以下を抽出したものである
請求項１に記載の検出支援装置。
【請求項３】
前記部分ログデータは、前記対象ログデータのうち、前記１つのエラーコードまたは前記複数のエラーコードのそれぞれの前後１０行を抽出したものである
請求項２に記載の検出支援装置。
【請求項４】
前記エラーコードに関連付けて当該エラーコードの警告重要度を記憶する重要度記憶部に基づいて、前記部分ログデータに含まれるエラーコードに関連付けられた警告重要度の積算値を算出する重要度積算部をさらに備え、
前記検索部は、前記積算値が所定の閾値を超えた場合に、前記ノウハウデータベースから、前記部分ログデータに含まれる前記１つのエラーコードまたは前記複数のエラーコードの順列を検索する
請求項１から請求項３の何れか１項に記載の検出支援装置。
【請求項５】
前記ノウハウデータベースは、前記１つのエラーコードまたは前記複数のエラーコードの順列に関連付けて、さらに前記障害の処置手段または再発防止手段を記憶し、
検索された前記１つのエラーコードまたは前記複数のエラーコードの順列に関連付けられた前記障害の処置手段または再発防止手段を出力する出力部
をさらに備える請求項１から請求項４の何れか１項に記載の検出支援装置。
【請求項６】
対象機器が出力した対象ログデータから、１つのエラーコードまたは複数のエラーコードの順列を含む部分ログデータを抽出するステップと、
機器に生じた障害に関連付けて、前記機器が出力した過去ログデータに含まれる前記障害に係る１つのエラーコードまたは複数のエラーコードの順列を記憶するノウハウデータベースから、前記部分ログデータに含まれる前記１つのエラーコードまたは前記複数のエラーコードの順列を検索するステップと
を含む検出支援方法。
【請求項７】
コンピュータに、
対象機器が出力した対象ログデータから、１つのエラーコードまたは複数のエラーコードの順列を含む部分ログデータを抽出するステップと、
機器に生じた障害に関連付けて、前記機器が出力した過去ログデータに含まれる前記障害に係る１つのエラーコードまたは複数のエラーコードの順列を記憶するノウハウデータベースから、前記部分ログデータに含まれる前記１つのエラーコードまたは前記複数のエラーコードの順列を検索するステップと
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機器の障害を検出するための検出支援装置、検出支援方法、およびプログラムに関する。
【背景技術】
【０００２】
特許文献１、２には、対象機器の障害要因を解析するために、対象機器のエラーログと、過去に生じた障害のデータベースに記憶されているエラーログのパターンとを比較し、障害要因を出力する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−０２４７８６号公報
【特許文献２】特開２０１０−２２４９７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１、２が出力する障害要因は必ずしも正しいとは限らないため、対象機器の運用担当者が、対象機器のエラーログを確認し、出力された障害要因が正しいか否かを検証する。このとき、運用担当者の経験によって、障害要因の特定に要する時間に差が生じる可能性がある。
本発明の目的は、上述した課題を解決する検出支援装置、検出支援方法、およびプログラムを提供することにある。
【課題を解決するための手段】
【０００５】
本発明の第１の態様によれば、検出支援装置は、機器に生じた障害に関連付けて、前記機器が出力した過去ログデータに含まれる前記障害に係る１つのエラーコードまたは複数のエラーコードの順列を記憶するノウハウデータベースから、対象機器が出力した対象ログデータに含まれる前記１つのエラーコードまたは前記複数のエラーコードの順列を検索する検索部と、前記過去ログデータのうち、検索された前記１つのエラーコードまたは前記複数のエラーコードの順列を含む部分ログデータを抽出する抽出部とを備える。
【０００６】
本発明の第２の態様によれば、検出支援方法は、機器に生じた障害に関連付けて、前記機器が出力した過去ログデータに含まれる前記障害に係る１つのエラーコードまたは複数のエラーコードの順列を記憶するノウハウデータベースから、対象機器が出力した対象ログデータに含まれる前記１つのエラーコードまたは前記複数のエラーコードの順列を検索するステップと、前記過去ログデータのうち、検索された前記１つのエラーコードまたは前記複数のエラーコードの順列を含む部分ログデータを抽出するステップとを含む。
【０００７】
本発明の第３の態様によれば、プログラムは、コンピュータに、機器に生じた障害に関連付けて、前記機器が出力した過去ログデータに含まれる前記障害に係る１つのエラーコードまたは複数のエラーコードの順列を記憶するノウハウデータベースから、対象機器が出力した対象ログデータに含まれる前記１つのエラーコードまたは前記複数のエラーコードの順列を検索するステップと、前記過去ログデータのうち、検索された前記１つのエラーコードまたは前記複数のエラーコードの順列を含む部分ログデータを抽出するステップとを実行させる。
【発明の効果】
【０００８】
上記態様のうち少なくとも１つの態様によれば、運用担当者の経験によらず、障害要因の特定を容易にすることができる。
【図面の簡単な説明】
【０００９】
【図１】一実施形態に係る障害検出システムの構成を示す概略図である。
【図２】一実施形態に係る検出支援装置の構成を示す概略ブロック図である。
【図３】一実施形態に係る検出支援装置の設定処理を示すフローチャートである。
【図４】一実施形態に係る検出支援装置による検出支援処理を示すフローチャートである。
【図５】検出支援装置の基本構成を示す概略ブロック図である。
【図６】少なくとも１つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照しながら実施形態について詳しく説明する。
図１は、一実施形態に係る障害検出システムの構成を示す概略図である。
障害検出システム１は、複数の機器１０のうちのある機器１０に障害が発生したときに、機器１０の運用担当者に複数の機器１０のログデータに基づいて障害の検出を支援する。障害検出システム１は、複数の機器１０と、検出支援装置２０とを備える。
複数の機器１０は、それぞれ障害の検出対象となる装置である。
【００１１】
図２は、一実施形態に係る検出支援装置の構成を示す概略ブロック図である。
検出支援装置２０は、ログデータベース２０１、ワードデータベース２０２、ノウハウデータベース２０３、ログ取得部２０４、エラーコード抽出部２０５、重要度積算部２０６、障害判定部２０８、検索部２０９、抽出部２０７、出力部２１０、入力部２１１、記録部２１２を備える。
【００１２】
ログデータベース２０１は複数の機器１０が出力するログデータを記憶する。ログデータベース２０１が記憶するログデータには、過去ログデータが含まれる。
ワードデータベース２０２は、ログデータに出現するエラーコードに係るキーワードと、当該キーワードが障害の発生を示すものであるか、警告を示すものであるかを関連付けて記憶する。例えば、「ＦＡＴＡＬ」は、障害の発生を示すキーワードである。また例えば「ＥＲＲＯＲ」、「ＷＡＲＮ」は、警告を示すキーワードである。キーワードは、ログデータのエラーコードの全部または一部であってよいし、エラーコードを正規表現で表したものであってもよい。ワードデータベース２０２は、警告を示すキーワードに関連付けて、警告重要度を記憶する。警告重要度は、高いほど機器に障害が生じる可能性が高いことを示す。警告重要度は、当該キーワードにマッチするログデータが検出されるたびに、値が積算される。ワードデータベース２０２は、エラーコードに関連付けて当該エラーコードの警告重要度を記憶する重要度記憶部の一例である。なお、他の実施形態においては、検出支援装置２０は、重要度記憶部としてワードデータベース２０２以外の記憶部を備えてもよい。例えば、他の実施形態に係る重要度記憶部は、キーワードが障害の発生を示すものであるか、警告を示すものであるかを記憶せず、単にキーワードと警告重要度を関連付けて記憶するものであってもよい。
【００１３】
ノウハウデータベース２０３は、複数の機器１０の過去の障害に関する情報を記憶する。具体的には、ノウハウデータベース２０３は、機器１０のＩＤと、障害の発生時刻と、障害に係るエラーコードと、障害の内容を示すエラーメッセージと、障害の原因と、障害を解消するための処置手段と、障害の再発を防止するための再発防止手段と、関連する他のエラーコードとを、関連付けて記憶する。ノウハウデータベース２０３が記憶する障害に係るエラーコードは、１つのエラーコードであってもよいし、複数のエラーコードであってもよい。ノウハウデータベース２０３は、１つの障害に係る複数のエラーコードを、順列として記憶する。すなわち、複数のエラーコードの順列は、複数のエラーコードがその順番で出現する場合に、障害が発生することを示す。
【００１４】
ログ取得部２０４は、ログデータベース２０１から複数の機器１０のログデータを取得する。
エラーコード抽出部２０５は、ログ取得部２０４が取得したログデータからエラーコードを抽出する。
重要度積算部２０６は、ワードデータベース２０２を参照して、抽出されたエラーコードの警告重要度を特定し、警告重要度を積算する。
【００１５】
抽出部２０７は、ログ取得部２０４が取得したログデータのうち、抽出されたエラーコードの前後の所定行数に係る部分ログデータを抽出する。部分ログデータとしては、エラーコードの前後７行以上１５行以下の部分が好ましく、エラーコードの前後１０行の部分がさらに好ましい。複数のエラーコードの順列が検索された場合、抽出部２０７は、各エラーコードの前後の所定行数に係る部分を、時系列の降順に統合することで、１つの部分ログデータを生成する。
【００１６】
障害判定部２０８は、抽出されたエラーコードが障害の発生を示すものである場合、機器１０に障害が発生したと判定する。また障害判定部２０８は、抽出されたエラーコードが警告を示すものであって、かつ警告重要度が所定の閾値を超える場合、機器１０に警告を通知するべきであると判定する。
【００１７】
検索部２０９は、障害判定部２０８が障害を検知した場合、または警告を通知するべきと判定した場合に、ノウハウデータベース２０３から、取得したログデータに含まれるエラーコード（１つのエラーコード、複数のエラーコードの順列、または関連する他のエラーコード）を検索する。
【００１８】
出力部２１０は、障害が発生したことを示す通知と、部分ログデータと、検索されたエラーコードに関連付けられたエラーメッセージ、原因、処置手段、および再発防止手段を、運用担当者に出力する。出力の例としては、ディスプレイへの表示、シートへの印刷、スピーカからの発声、外部装置への送信、外部媒体への記録などが挙げられる。
【００１９】
入力部２１１は、機器１０に発生した障害に係る情報の入力を受け付ける。具体的には、入力部２１１は、障害に係るエラーコードと、障害の内容を示すエラーメッセージと、障害の原因と、障害を解消するための処置手段と、障害の再発を防止するための再発防止手段と、関連する他のエラーコードとの入力を受け付ける。
【００２０】
記録部２１２は、入力部２１１に入力された情報と、障害判定部２０８が検知した障害が発生した機器１０のＩＤおよび障害発生時刻を、ノウハウデータベース２０３に記録する。また記録部２１２は、警告重要度が閾値を超えない場合、ワードデータベース２０２が記憶する警告重要度を、重要度積算部２０６によって積算された値に更新する。
【００２１】
図３は、一実施形態に係る検出支援装置の設定処理を示すフローチャートである。
検出支援装置２０による障害の検出支援処理を行う前に、検出支援装置２０に予め設定処理を行う必要がある。
まず、管理者は、障害が発生したことを示すキーワードである障害キーワードを決定し、ワードデータベース２０２に記録する（ステップＳ１）。また管理者は、警告を示すキーワードである警告キーワードを決定し、警告重要度に関連付けてワードデータベースに記録する（ステップＳ２）。
【００２２】
管理者は、障害に係るエラーコードと、障害の内容を示すエラーメッセージと、障害の原因と、障害を解消するための処置手段と、障害の再発を防止するための再発防止手段と、関連する他のエラーコードとを関連付けてノウハウデータベース２０３に記録する（ステップＳ３）。また、ノウハウデータベース２０３に記録した各障害について、ログデータの参照先の機器１０を関連付ける（ステップＳ４）。
【００２３】
管理者は、警告重要度の閾値を決定し、障害判定部２０８に設定する（ステップＳ５）。管理者は、検出支援装置２０によるログデータの解析周期を設定する（ステップＳ６）。管理者は、出力部２１０による情報の出力手段を決定する（ステップＳ７）。
【００２４】
図４は、一実施形態に係る検出支援装置による検出支援処理を示すフローチャートである。
検出支援装置２０は、ステップＳ６で設定された解析周期に係るタイミングごとに、以下の検出支援処理を実行する。検出支援装置２０のログ取得部２０４は、ログデータベース２０１から機器１０のログデータを取得する（ステップＳ５１）。検出支援装置２０による、障害検出の対象の機器１０は、対象機器の一例である。次に、エラーコード抽出部２０５は、例えばワードデータベース２０２に記憶されたキーワードに基づいて、取得したログデータからエラーコードを抽出する（ステップＳ５２）。抽出部２０７は、ログ取得部２０４が取得したログデータのうち、抽出されたエラーコードの前後の所定行数に係る部分ログデータを抽出する（ステップＳ５３）。
【００２５】
次に、検索部２０９は、ノウハウデータベース２０３から、抽出したエラーコード、ログデータに含まれる複数のエラーコードの順列、または関連するエラーコードを検索する（ステップＳ５４）。
該当するエラーコードがノウハウデータベース２０３に記録されていない場合（ステップＳ５４：ＮＯ）、検索部２０９は、ノウハウデータベース２０３から、ログデータに含まれる複数のエラーコードに含まれる複数のエラーコードの順列の一部、または複数のエラーコードの順序を無視した組み合わせを、検索する（ステップＳ５５）。エラーコードの出現順序が異なる場合、および順列の一部が欠ける場合であっても、類似した障害である可能性があるため、これを出力することで、障害の検出の一助となり得る。
【００２６】
該当するエラーコードがノウハウデータベース２０３に記録されている場合（ステップＳ５４：ＹＥＳ）、またはステップＳ５５で順列の一部もしくは順序を無視した組み合わせを検索した場合、障害判定部２０８は、ステップＳ５２で抽出したエラーコードが、障害の発生を通知するものであるか否かを判定する（ステップＳ５６）。抽出したエラーコードが、障害の発生を通知するものである場合（ステップＳ５６：ＹＥＳ）、出力部２１０は、障害が発生した旨、ステップＳ５４またはステップＳ５５の検索結果、および部分ログデータを出力する（ステップＳ５７）。
【００２７】
他方、ステップＳ５６において、抽出したエラーコードが、警告を通知するものである場合（ステップＳ５６：ＮＯ）、障害判定部２０８は、抽出したエラーコードに関連付けられた警告重要度が、ステップＳ５で決定した閾値以上であるか否かを判定する（ステップＳ５８）。警告重要度が閾値以上である場合（ステップＳ５８：ＹＥＳ）、出力部２１０は、障害が発生する可能性がある旨の警告、ステップＳ５４またはステップＳ５５の検索結果、および部分ログデータを出力する（ステップＳ５９）。
【００２８】
他方、警告重要度が閾値未満である場合（ステップＳ５８：ＮＯ）、重要度積算部２０６は、警告重要度に所定の値（デフォルトで１）を積算する（ステップＳ６０）。記録部２１２は、ワードデータベース２０２においてステップＳ５２で抽出されたエラーコードに関連付けられた警告重要度を、積算された警告重要度に更新する（ステップＳ６１）。なお、警告重要度が閾値未満である場合（ステップＳ５８：ＮＯ）、出力部２１０は障害の通知を出力しない。
【００２９】
このように、本実施形態に係る検出支援装置２０は、対象機器のログデータのうちエラーコードを含む部分ログデータを抽出し、ノウハウデータベース２０３から、当該ログデータに含まれる１つのエラーコードまたは複数のエラーコードの順列を検索する。部分ログデータは、対象の機器１０が出力したログデータのうちエラーコードを含む部分が抽出されたものであるため、運用担当者は、該当箇所を確認することで、検出支援装置２０によって検索された障害の内容と対象の機器１０に生じた障害とを比較することが容易になる。これにより、検出支援装置２０は、運用担当者の経験によらず、障害要因の特定を容易にすることができる。
【００３０】
また、本実施形態に係る部分ログデータは、ログデータのうち、１つのエラーコードまたは複数のエラーコードのそれぞれの前後７行以上１５行以下を抽出したものである。また好ましくは、エラーコードのそれぞれの前後１０行を抽出したものである。発明者は、経験より膨大なログデータのうち、エラーコードのそれぞれの前後７行から１５行の部分に、障害要因の特定に有用な情報が含まれる可能性が高く、特に前後１０行以内の部分が障害要因を特定するために重要であるという知見を得ている。そのため、本実施形態によれば、膨大なログデータをすべて検証する必要がなくなり、障害要因を容易に特定することができる。
【００３１】
また、本実施形態に係る検出支援装置２０は、抽出されたエラーコードに関連付けられた警告重要度の積算値を算出し、積算値が閾値を超えた場合に、警告を出力する。これにより、検出支援装置２０は、単に軽微なエラーが生じただけで頻繁に通知が発生することを防ぎつつ、エラーが積み重なった場合に、障害が発生する前に警告を発することができる。
【００３２】
以上、図面を参照して一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、様々な設計変更等をすることが可能である。
【００３３】
図５は、検出支援装置の基本構成を示す概略ブロック図である。
上述した実施形態では、検出支援装置２０の一実施形態として図１に示す構成について説明したが、検出支援装置２０の基本構成は、図５に示すとおりである。
すなわち、検出支援装置２０は、抽出部２０７および検索部２０９を基本構成とする。
【００３４】
抽出部２０７は、対象機器が出力した対象ログデータから、１つのエラーコードまたは複数のエラーコードの順列を含む部分ログデータを抽出する。
検索部２０９は、機器に生じた障害に関連付けて、前記機器が出力した過去ログデータに含まれる前記障害に係る１つのエラーコードまたは複数のエラーコードの順列を記憶するノウハウデータベースから、部分ログデータに含まれる前記１つのエラーコードまたは前記複数のエラーコードの順列を検索する。
これにより、検出支援装置２０は、運用担当者の経験によらず、障害要因の特定を容易にすることができる。
【００３５】
図６は、少なくとも１つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
コンピュータ９０は、プロセッサ９１、メインメモリ９２、ストレージ９３、インタフェース９４を備える。
上述の検出支援装置２０は、コンピュータ９０に実装される。そして、上述した各処理部の動作は、プログラムの形式でストレージ９３に記憶されている。プロセッサ９１は、プログラムをストレージ９３から読み出してメインメモリ９２に展開し、当該プログラムに従って上記処理を実行する。また、ストレージ９３には、上述した各データベースに対応する記憶領域が確保される。
【００３６】
ストレージ９３の例としては、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＤＶＤ−ＲＯＭ（Digital Versatile Disc Read Only Memory）、半導体メモリ等が挙げられる。ストレージ９３は、コンピュータ９０のバスに直接接続された内部メディアであってもよいし、インタフェース９４または通信回線を介してコンピュータ９０に接続される外部メディアであってもよい。また、このプログラムが通信回線によってコンピュータ９０に配信される場合、配信を受けたコンピュータ９０が当該プログラムをメインメモリ９２に展開し、上記処理を実行してもよい。少なくとも１つの実施形態において、ストレージ９３は、一時的でない有形の記憶媒体である。
【００３７】
また、当該プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、当該プログラムは、前述した機能をストレージ９３に既に記憶されている他のプログラムとの組み合わせで実現するもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【符号の説明】
【００３８】
１  障害検出システム
１０  機器
２０  検出支援装置
２０１  ログデータベース
２０２  ワードデータベース
２０３  ノウハウデータベース
２０４  ログ取得部
２０５  エラーコード抽出部
２０６  重要度積算部
２０７  抽出部
２０８  障害判定部
２０９  検索部
２１０  出力部
２１１  入力部
２１２  記録部
【図１】
2019191645.tif 000003
【図２】
2019191645.tif 000004
【図３】
2019191645.tif 000005
【図４】
2019191645.tif 000006
【図５】
2019191645.tif 000007
【図６】
2019191645.tif 000008