JP7276550B2 - 異常検出方法、システムおよびプログラム - Google Patents

異常検出方法、システムおよびプログラム Download PDF

Info

Publication number
JP7276550B2
JP7276550B2 JP2022066082A JP2022066082A JP7276550B2 JP 7276550 B2 JP7276550 B2 JP 7276550B2 JP 2022066082 A JP2022066082 A JP 2022066082A JP 2022066082 A JP2022066082 A JP 2022066082A JP 7276550 B2 JP7276550 B2 JP 7276550B2
Authority
JP
Japan
Prior art keywords
log
distribution
log information
analysis target
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.)
Active
Application number
JP2022066082A
Other languages
English (en)
Other versions
JP2022092037A (ja
Inventor
遼介 外川
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.)
NEC Corp
Original Assignee
NEC Corp
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
Priority claimed from JP2020141475A external-priority patent/JP7103392B2/ja
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2022066082A priority Critical patent/JP7276550B2/ja
Publication of JP2022092037A publication Critical patent/JP2022092037A/ja
Application granted granted Critical
Publication of JP7276550B2 publication Critical patent/JP7276550B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、ログから異常を検出するための異常検出方法、システムおよびプログラムに関する。
コンピュータ上で実行されるシステムでは、一般的にイベントの結果やメッセージ等を含むログが出力される。システム異常等が発生した際には、通常時と比べてログの出力数の分布が変化することが多い。これは、例えば通常は出力されるログがシステム異常によって出力されない、あるいは通常は出力されないログがシステム異常によって出力されるためである。このようなログの出力数の変化を利用して異常を検出する技術が従来考案されている。
特許文献1に記載の技術は、過去のログ(イベント)が出力された頻度の分布から平均および標準偏差を算出し、算出された平均および標準偏差から理論的分布(正規分布、ポワソン分布等)を生成する。そして該技術は、理論的分布に基づいて分析対象のログから異常が発生したか否かを判定する。また、特許文献1には、正規分布、ポワソン分布等の異なる統計手法を用いて複数の種類の理論的分布を生成し、複数の種類の理論的分布から最適な理論的分布を選択して異常検出を行うことが記載されている。
特開2005-236862号公報
一般的にログの出力数を変動させる要因は複数存在し、ログを集計する時間の単位(1時間ごと、1日ごと等)によってログの出力数に影響を与える主な要因が変わる場合がある。そのため、過去の一定期間のログを平均化した平均状態を基準とする場合に、適切に異常を検出できない可能性がある。また、同じ種類の機器であっても機器ごとに特性が異なるため、機器ごとのログの出力数の分布の特徴も変わり得る。そのため、複数の機器から出力されるログを平均化した平均状態を基準とすると、機器ごとおよび集計単位ごとの分布の特徴が埋もれてしまい、適切に異常を検出できない可能性がある。
しかしながら、特許文献1には、異なる統計手法の分布から選択された分布を異常検出の基準とすることは記載されているものの、異なる集計単位および異なる機器についてのログの分布を用いることは想定されていない。
本発明は、上述の問題に鑑みて行われたものであって、異なる集計単位および異なる機器について生成されたログの出力数の分布を用いて高精度に異常検出を行うことができる異常検出方法、システムおよびプログラムを提供することを目的とする。
本発明の第1の態様は、異常判定方法であって、第1の時間幅における第1の基準機器のログ出力数に関する情報を含む複数の基準ログ情報を取得し、第2の時間幅における第1の機器のログ出力数に関する情報を含む分析対象ログ情報を取得し、前記複数の基準ログ情報から、前記分析対象ログ情報との類似度に基いて第1の基準ログ情報を選択し、前記分析対象ログ情報と前記第1の基準ログ情報とに基づいて前記第1の機器の異常の有無を判定する工程を含む。
本発明の第2の態様は、異常判定システムであって、第1の時間幅における第1の基準機器のログ出力数に関する情報を含む複数の基準ログ情報を取得し、第2の時間幅における第1の機器のログ出力数に関する情報を含む分析対象ログ情報を取得し、且つ前記複数の基準ログ情報から、前記分析対象ログ情報との類似度に基いて第1の基準ログ情報を選択する取得部と、前記分析対象ログ情報と前記第1の基準ログ情報とに基づいて前記第1の機器の異常の有無を判定する判定部とを備える。
本発明の第3の態様は、異常判定プログラムであって、第1の時間幅における第1の基準機器のログ出力数に関する情報を含む複数の基準ログ情報を取得し、第2の時間幅における第1の機器のログ出力数に関する情報を含む分析対象ログ情報を取得し、前記複数の基準ログ情報から、前記分析対象ログ情報との類似度に基いて第1の基準ログ情報を選択し、前記分析対象ログ情報と前記第1の基準ログ情報とに基づいて前記第1の機器の異常の有無を判定する工程をコンピュータに実行させる。
本発明の第4の態様は、異常判定プログラムであって、第1の時間幅における第1の基準機器のログ出力数に関する情報を含む複数の基準ログ情報を取得し、第2の時間幅における第1の機器のログ出力数に関する情報を含む分析対象ログ情報を取得し、且つ前記複数の基準ログ情報から、前記分析対象ログ情報との類似度に基いて第1の基準ログ情報を選択する取得部、及び、前記分析対象ログ情報と前記第1の基準ログ情報とに基づいて前記第1の機器の異常の有無を判定する判定部としてコンピュータを機能させる。
本発明によれば、ログを出力する機器ごとおよびログの集計単位ごとに生成された複数の分布を用いて異常を検出するため、機器ごとおよび集計単位ごとの分布の特徴を生かして高精度に異常を検出することができる。
第1の実施形態に係る異常検出システムのブロック図である。 第1の実施形態に係る分析対象ログの模式図である。 第1の実施形態に係るフォーマットの模式図である。 第1の実施形態に係る異常検出方法の模式図である。 第1の実施形態に係る例示的な集計単位の模式図である。 第1の実施形態に係る異常検出システムの概略構成図である。 第1の実施形態に係る異常検出方法のフローチャートを示す図である。 第2の実施形態に係る異常検出システムのブロック図である。 第2の実施形態に係る異常検出方法の模式図である。 第2の実施形態に係る異常検出方法のフローチャートを示す図である。 各実施形態に係る異常検出システムのブロック図である。
以下、図面を参照して、本発明の実施形態を説明するが、本発明は本実施形態に限定されるものではない。なお、以下で説明する図面で、同機能を有するものは同一符号を付け、その繰り返しの説明は省略することもある。
(第1の実施形態)
図1は、本実施形態に係る異常検出システム100のブロック図である。図1において、矢印は主なデータの流れを示しており、図1に示したもの以外のデータの流れがあってよい。図1において、各ブロックはハードウェア(装置)単位の構成ではなく、機能単位の構成を示している。そのため、図1に示すブロックは単一の装置内に実装されてよく、あるいは複数の装置内に別れて実装されてよい。ブロック間のデータの授受は、データバス、ネットワーク、可搬記憶媒体等、任意の手段を介して行われてよい。
異常検出システム100は、処理部として、ログ入力部110、フォーマット判定部120、分析対象分布生成部130、基準分布取得部140、異常検出部150および通知制御部160を備える。また、異常検出システム100は、記憶部として、フォーマット記憶部171および基準分布記憶部172を備える。
ログ入力部110は、分析の対象とする分析対象ログ10を受け取り、異常検出システム100に入力する。分析対象ログ10は、異常検出システム100の外部から取得されてよく、あるいは異常検出システム100の内部に予め記録されたものを読み出すことにより取得されてよい。分析対象ログ10は、1つ以上の装置又はプログラムから出力される1つ以上のログを含む。分析対象ログ10は、任意のデータ形式(ファイル形式)で表されたログであり、例えばバイナリデータ又はテキストデータでよい。また、分析対象ログ10はデータベースのテーブルとして記録されてよく、あるいはテキストファイルとして記録されてよい。
図2は、例示的な分析対象ログ10の模式図である。本実施形態における分析対象ログ10は、装置又はプログラムから出力される1つのログを1単位とし、1つ以上の任意の数のログを含む。1つのログは1行の文字列でよく、あるいは複数行の文字列でよい。すなわち、分析対象ログ10は分析対象ログ10に含まれるログの総体を指し、ログは分析対象ログ10から抜き出された1つのログを指す。各ログは、タイムスタンプおよびメッセージ等を含む。異常検出システム100は、特定の種類のログに限らず、広範な種類のログを分析対象とすることができる。例えば、syslog、イベントログ等のオペレーティングシステムやアプリケーションなどから出力されるメッセージを記録する任意のログを分析対象ログ10として用いることができる。
フォーマット判定部120は、分析対象ログ10に含まれる各ログに対して、フォーマット記憶部171に予め記録されているいずれのフォーマット(形式)に合致するかを判定し、合致するフォーマットを用いて各ログを変数部分と定数部分とに分離する。フォーマットとは、ログの特性に基づいて予め決められた、ログの種類である。ログの特性は、互いに類似するログ間で変化しやすい又は変化しづらいという性質や、ログ中で変化しやすい部分を示す文字列が記載されているという性質を含む。変数部分とはフォーマットの中で変化可能な部分であり、定数部分とはフォーマットの中で変化しない部分である。入力されたログ中の変数部分の値(数値、文字列およびその他のデータを含む)を変数値と呼ぶ。変数部分および定数部分はフォーマット毎に異なる。そのため、あるフォーマットでは変数部分として定義される部分が、別のフォーマットでは定数部分として定義されることや、その逆があり得る。
図3は、フォーマット記憶部171に記録される例示的なフォーマットの模式図である。フォーマットは、一意のフォーマットIDに関連付けられたフォーマットを表す文字列を含む。フォーマットは、ログ中の変化可能な部分に所定の識別子を記載することによって変数部分として規定し、ログ中の変数部分以外の部分を定数部分として規定する。変数部分の識別子として、例えば「<変数:タイムスタンプ>」はタイムスタンプを表す変数部分を示し、「<変数:文字列>」は任意の文字列を表す変数部分を示し、「<変数:数値>」は任意の数値を表す変数部分を示し、「<変数:IP>」は任意のIPアドレスを表す変数部分を示す。変数部分の識別子はこれらに限られず、正規表現や、取り得る値のリスト等の任意の方法により定義されてよい。また、フォーマットは変数部分を含まずに定数部分のみによって構成されてよく、あるいは定数部分を含まずに変数部分のみによって構成されてよい。
例えば、フォーマット判定部120は、図2の3行目のログを、図3のIDが1であるフォーマットに合致すると判定する。そして、フォーマット判定部120は、判定されたフォーマットに基づいて該ログを処理し、タイムスタンプである「2015/08/17 08:28:37」、文字列である「SV003」、数値である「3258」およびIPアドレスである「192.168.1.23」を変数値として決定する。
図3において、フォーマットは視認性のために文字列のリストで表されているが、任意のデータ形式(ファイル形式)で表されてよく、例えばバイナリデータ又はテキストデータでよい。また、フォーマットはバイナリファイル又はテキストファイルとしてフォーマット記憶部171に記録されてよく、あるいはデータベースのテーブルとしてフォーマット記憶部171に記録されてよい。
分析対象分布生成部130、基準分布取得部140および異常検出部150は、以下に説明する異常検出方法によって、分析対象ログ10から生成された分析対象分布、および基準分布記憶部172から分析対象分布に基づいて選択された基準分布を用いて異常を検出する。
図4は、本実施形態に係る異常検出方法の模式図である。基準分布記憶部172には、基準分布マトリクスA0が予め記録されている。基準分布マトリクスA0は、集計単位および機器の各組み合わせに対して生成されるログ出力数の分布A1の集合である。ログ出力数の分布A1は、少なくとも2つの集計単位および少なくとも2つの機器に対して生成される。基準分布マトリクスA0は、1つのフォーマットのログの出力数を用いて生成されてよく、あるいは複数のフォーマットのログの出力数の合計を用いて生成されてよく、あるいは全てのフォーマットのログの出力数の合計を用いて生成されてよい。すなわち本実施形態において、基準分布マトリクスA0は、1つ又は複数の所定のフォーマットのログの出力数から生成される分布の集合である。
集計単位は、ログ出力数の分布A1を生成するために集計対象とする時間範囲の長さおよび時間範囲が該当する条件を規定する。例えば、集計単位は集計対象とする時間範囲の分、時、日等の長さを規定し、さらに該時間範囲が特定の曜日又は起点の条件を満たすことを規定する。各集計単位には、識別のための集計単位番号(集計単位No.)が割り振られる。
図5は、例示的な集計単位の模式図である。集計単位は、識別のための集計単位番号(集計単位No.)に関連付けられ、予め異常検出システム100中で定義される。集計単位は、基準分布マトリクスA0に含まれるログ出力数の分布A1を生成するための時間範囲を規定する規則である。すなわち、過去に出力されたログ(フォーマット)の出力数を、集計単位に従って集計することによってログ出力数の分布A1が生成される。例えば集計単位が「10分間」の場合には、過去に出力されたログ中で、10分間(すなわち時刻Nから時刻N+10分の間、時刻Nは任意)に出力されたログの時系列分布の平均をログ出力数の分布A1とする。集計単位が「1日(日曜日)」の場合には、過去に出力されたログ中で、1日間かつ日曜日に出力されたログの時系列分布の平均をログ出力数の分布A1とする。集計単位が「過去1日」の場合には、過去に出力されたログ中で、現在を起点として遡った1日間に出力されたログの時系列分布をログ出力数の分布A1とする。このように、集計単位は、ログの集計対象である時間範囲の長さおよび時間範囲の該当する条件を規定する。
図5に示した集計単位は一例であり、図5に示された一部の集計単位を用いてよく、あるいは図5に示されていない他の集計単位を用いてよい。図5では視認性のために集計単位は文字列で示されているが、実際には集計単位は集計の規則を示す任意のバイナリデータ又はテキストデータでよい。
機器は、ログの出力元の装置である。各機器には、識別のための機器番号(機器No.)が割り振られる。同じ種類の装置であっても、異なる実体である場合には異なる機器番号が割り振られる。また、同じ機器の中でログを出力する複数のソフトウェアが実行される場合には、各ソフトウェアに異なる機器番号が割り振られてよい。すなわち、ここではログを出力するソフトウェアも1つの機器とみなす。
ログ出力数の分布A1は、集計単位および機器の各組み合わせにおけるログの出力数の時系列分布である。すなわち、ログ出力数の分布A1は、集計単位および機器の各組み合わせについて、該集計単位の時間範囲において該機器から出力されたログの数の時系列の遷移を示す。ログの出力数の分布A1は、図4では視認性のためにグラフとして表されているが、ログの出力数を時系列で並べたバイナリデータ又はテキストデータとして基準分布記憶部172に記録されてよい。
分析対象分布生成部130は、分析対象ログ10から分析対象分布A2を生成する。分析対象分布A2は、分析対象とするログの出力数の時系列分布である。すなわち、分析対象分布A2は、分析対象の期間において出力されたログの数の時系列の遷移を示す。分析対象分布A2は1つの機器から出力されたログを用いて生成されてよく、あるいは複数の機器から出力されたログを用いて生成されてよい。分析対象分布A2において集計対象とする1つ又は複数のフォーマットは、基準分布マトリクスA0において集計対象とされている1つ又は複数のフォーマットと同一である。分析対象分布A2は、図4では視認性のためにグラフとして表されているが、ログの出力数を時系列で並べたバイナリデータ又はテキストデータとして生成されてよい。
基準分布取得部140は、基準分布マトリクスA0に含まれるログ出力数の分布A1のうち、分析対象分布A2に最も類似している分布を基準分布A3として取得する。具体的には、基準分布取得部140は、異常検出を行う際に基準分布記憶部172から基準分布マトリクスA0を読み出す。次に、基準分布取得部140は、基準分布マトリクスA0に含まれるログ出力数の分布A1そのそれぞれと、分析対象分布A2との間の類似度を算出する。類似度としては、ログ出力数の分布A1および分析対象分布A2が類似している程度を示す任意の指標を用いることができ、例えば相関係数を用いてよい。相関係数が高いほど、ログ出力数の分布A1および分析対象分布A2が類似していることを示す。そして、基準分布取得部140は、算出された類似度に基づいて、基準分布マトリクスA0に含まれるログ出力数の分布A1のうち、分析対象分布A2と最も類似している分布(例えば最も類似度が高い分布)を基準分布A3として選択する。
異常検出部150は、基準分布取得部140によって選択された基準分布A3と分析対象分布A2とを比較することによって異常を検出する。具体的には、異常検出部150は、基準分布A3を基準とした分析対象分布A2の異常度を算出する。そして異常検出部150は、算出された異常度が所定の正常範囲内でない場合に、異常を検出する。異常度としては、分析対象分布A2が基準分布A3から外れている程度を示す任意の指標を用いることができ、例えば相関係数を用いてよい。相関係数が低いほど、分析対象分布A2が基準分布A3から外れている程度が大きいことを示す。
通知制御部160は、異常検出部150によって検出された異常を示す情報を、ディスプレイ20を用いて通知する制御を行う。通知制御部160による異常の通知は、ディスプレイ20による表示に限らず、プリンタによる印刷、ランプの点灯、スピーカによる音声出力等、利用者に対して通知することが可能な任意の方法によって行われてよい。
このように本実施形態では、基準分布取得部140は様々な集計単位および機器のログ出力数の分布A1の中から分析対象分布A2に最も近い基準分布A3を選択し、異常検出部150は選択された基準分布A3を基準として分析対象分布A2が異常か否かを判定する。そのため、分析対象分布A2により近い基準を用いて高精度に異常を検出することができる。
本実施形態では分析対象分布A2を基準分布マトリクスA0に含まれる全てのログ出力数の分布A1と比較しているが、同一の集計単位で生成された分析対象分布A2およびログ出力数の分布A1に限定して比較を行ってもよい。例えば、分析対象分布生成部130は分析対象分布A2を10分間の集計単位で生成し、基準分布取得部140は基準分布マトリクスA0から集計単位番号1(10分間)のログ出力数の分布A1を抽出して類似度を算出し、その中から基準分布A3を選択する。
本実施形態では1つの分析対象分布A2を用いて異常を検出しているが、複数の分析対象分布A2の組み合わせを用いて異常を検出してもよい。例えば、分析対象分布生成部130は、分析対象ログ10から異なる集計単位(例えば10分間および1時間)で2つの分析対象分布A2を生成する。次に、基準分布取得部140は、各機器番号において同じ集計単位(すなわち10分間および1時間)の2つのログ出力数の分布A1に対して2つの類似度を算出する。そして、基準分布取得部140は、1つの機器番号について2つの類似度の合計が最も高い(すなわち最も類似している)2つのログ出力数の分布A1を、2つの基準分布A3として選択する。分析対象分布A2の数は2つに限られず任意の数でよい。
図6は、本実施形態に係る異常検出システム100の例示的な機器構成を示す概略構成図である。異常検出システム100は、CPU(Central Processing Unit)101と、メモリ102と、記憶装置103と、通信インターフェース104と、ディスプレイ20とを備える。異常検出システム100は独立した装置でよく、あるいは他の装置と一体に構成されてよい。
通信インターフェース104は、データの送受信を行う通信部であり、有線通信および無線通信の少なくとも一方の通信方式を実行可能に構成される。通信インターフェース104は、該通信方式に必要なプロセッサ、電気回路、アンテナ、接続端子等を含む。通信インターフェース104は、CPU101からの信号に従って、該通信方式を用いてネットワークに接続され、通信を行う。通信インターフェース104は、例えば分析対象ログ10を外部から受信する。
記憶装置103は、異常検出システム100が実行するプログラムや、プログラムによる処理結果のデータ等を記憶する。記憶装置103は、読み取り専用のROM(Read Only Memory)や、読み書き可能のハードディスクドライブ又はフラッシュメモリ等を含む。また、記憶装置103は、CD-ROM等のコンピュータ読取可能な可搬記憶媒体を含んでもよい。メモリ102は、CPU101が処理中のデータや記憶装置103から読み出されたプログラムおよびデータを一時的に記憶するRAM(Random Access Memory)等を含む。
CPU101は、処理に用いる一時的なデータをメモリ102に一時的に記録し、記憶装置103に記録されたプログラムを読み出し、該プログラムに従って該一時的なデータに対して種々の演算、制御、判別などの処理動作を実行するプロセッサである。また、CPU101は、記憶装置103に処理結果のデータを記録し、また通信インターフェース104を介して処理結果のデータを外部に送信する。
本実施形態においてCPU101は、記憶装置103に記録されたプログラムを実行することによって、図1のログ入力部110、フォーマット判定部120、分析対象分布生成部130、基準分布取得部140、異常検出部150および通知制御部160として機能する。また、本実施形態において記憶装置103は、図1のフォーマット記憶部171および基準分布記憶部172として機能する。
ディスプレイ20は、利用者に対して情報を表示する表示装置である。ディスプレイ20として、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ等の任意の表示装置を用いてよい。ディスプレイ20は、CPU101からの信号に従って、所定の情報を表示する。
異常検出システム100は、図6に示す具体的な構成に限定されない。異常検出システム100は、1つの装置に限られず、2つ以上の物理的に分離した装置が有線又は無線で接続されることにより構成されていてもよい。異常検出システム100に含まれる各部は、それぞれ電気回路構成により実現されていてもよい。ここで、電気回路構成とは、単一のデバイス、複数のデバイス、チップセット又はクラウドを概念的に含む文言である。
また、異常検出システム100の少なくとも一部がSaaS(Software as a Service)形式で提供されてよい。すなわち、異常検出システム100を実現するための機能の少なくとも一部が、ネットワーク経由で実行されるソフトウェアによって実行されてよい。
図7は、本実施形態に係る異常検出システム100を用いる異常検出方法のフローチャートを示す図である。図7のフローチャートは、例えば利用者が異常検出システム100に対して異常検出を実行するための所定の操作を行うことによって開始される。まず、ログ入力部110は、分析対象ログ10を受け取り、異常検出システム100に入力する(ステップS101)。フォーマット判定部120は、ステップS101で入力された分析対象ログ10に含まれる各ログについて、フォーマット記憶部171に記録されたいずれのフォーマットに適合するか判定する(ステップS102)。
次に、分析対象分布生成部130は、ステップS102でフォーマットが判定されたログから分析対象の所定のフォーマットのログを抽出し、該ログの出力数の時系列分布を分析対象分布として生成する(ステップS103)。ここで、分析対象ログの全期間について分析対象分布が生成されてよく、1つ又は複数の所定の集計単位について分析対象分布が生成されてよい。
基準分布取得部140は、基準分布記憶部172から基準分布マトリクスを読み出し、基準分布マトリクスに含まれるログ出力数の分布のそれぞれと、ステップS103で生成された分析対象分布との間の類似度を算出する(ステップS104)。そして、基準分布取得部140は、ステップS104で算出された類似度に基づいて、基準分布マトリクスに含まれるログ出力数の分布のうち、分析対象分布と最も類似している分布(例えば最も類似度が高い分布)を基準分布として選択する(ステップS105)。
異常検出部150は、ステップS105で選択された基準分布を基準として分析対象分布の異常度を算出する。そして異常検出部150は、算出された異常度が所定の正常範囲内でない場合に、異常を検出する(ステップS106)。
ステップS106で異常が検出された場合に(ステップS107のYES)、通知制御部160は、ステップS106で検出された異常を示す情報を、ディスプレイ20を用いて通知する制御を行う(ステップS108)。ステップS108における通知を行った後、あるいはステップS106で異常が検出されない場合に(ステップS107のNO)、異常検出方法を終了する。
異常検出システム100のCPU101は、図7に示す異常検出方法に含まれる各ステップ(工程)の主体となる。すなわち、CPU101は、図7に示す異常検出方法を実行するためのプログラムをメモリ102又は記憶装置103から読み出し、該プログラムを実行して異常検出システム100の各部を制御することによって図7に示す異常検出方法を実行する。
従来の異常検出方法では様々な集計単位および機器の分布を平均化したものを異常検出の基準としていたため、集計単位ごとおよび機器ごとの分布の特徴が埋もれてしまい、正確に異常を検出できない場合があった。それに対して、本実施形態に係る異常検出システム100は、基準分布取得部140によって様々な集計単位および機器のログ出力数の分布A1の中から分析対象分布A2に最も近い基準分布A3を選択し、選択された基準分布A3を基準として分析対象分布A2が異常か否かを判定する。そのため、集計単位ごとおよび機器ごとの分布の特徴を生かして、分析対象分布A2に近い基準を用いて高精度に異常を検出することができる。
(第2の実施形態)
第1の実施形態は分析対象分布を基準分布マトリクスと比較することによって分析対象分布の異常を検出する。それに対して、本実施形態は基準分布マトリクスの中から外れた分布を抽出することによって、異常な分布又は異常な機器を検出する。
図8は、本実施形態に係る異常検出システム200のブロック図である。図8において、矢印は主なデータの流れを示しており、図8に示したもの以外のデータの流れがあってよい。図8において、各ブロックはハードウェア(装置)単位の構成ではなく、機能単位の構成を示している。そのため、図8に示すブロックは単一の装置内に実装されてよく、あるいは複数の装置内に別れて実装されてよい。ブロック間のデータの授受は、データバス、ネットワーク、可搬記憶媒体等、任意の手段を介して行われてよい。
異常検出システム200は、処理部として、基準分布取得部240、異常検出部250および通知制御部260を備える。また、異常検出システム100は、記憶部として、基準分布記憶部272を備える。異常検出システム200の機器構成は、図6と同様でよい。基準分布取得部240および異常検出部250は、以下に説明する異常検出方法によって、基準分布マトリクスから異常を検出する。
図9は、本実施形態に係る異常検出方法の模式図である。基準分布記憶部272には、基準分布マトリクスB0が予め記録されている。基準分布マトリクスB0は、集計単位および機器の各組み合わせに対して生成されるログ出力数の分布B1の集合である。集計単位および機器の定義は第1の実施形態と同様である。また、ログ出力数の分布B1は、第1の実施形態のログ出力数の分布A1と同様の方法で生成される。
基準分布取得部240は、異常検出を行う際に基準分布記憶部272から基準分布マトリクスB0を読み出す。異常検出部250は、基準分布マトリクスB0に含まれるログ出力数の分布B1を機器(機器番号)ごとに平均することによって機器平均分布を算出する。次に、異常検出部250は、算出された機器平均分布同士の類似度を算出し、類似度に基づいて機器のグループ(例えば所定の閾値以上の類似度を有する機器のグループ)を生成する。機器のグループ化には、既知のクラスタリング方法を用いてよい。異常検出部250は、以下の異常検出処理を機器のグループごとに行う。また、機器をグループ化せずに全ての機器を対象として以下の異常検出処理を行ってよい。
異常検出部250は、各集計単位について分布B1を平均することによって集計単位ごとの平均分布を算出し、算出された平均分布と該集計単位の各分布B1との類似度を算出する。そして、異常検出部250は、集計単位ごとの平均分布から外れている(例えば平均分布に対する類似度が所定の閾値以下である)分布B1を、異常な分布B2として抽出する。また、平均分布との類似度が低い順に所定の数の分布B1を異常な分布B2として抽出してもよい。
別の方法として、異常検出部250は、各集計単位に含まれる分布B1同士の類似度を算出し、同じ集計単位内の他の分布から外れている分布、すなわち他の分布に対する類似度の合計値又は平均値が低い分布B1を、異常な分布B2として抽出する。また、他の分布との類似度の合計値又は平均値が低い順に所定の数の分布B1を異常な分布B2として抽出してもよい。
基準分布マトリクスB0から異常な分布B2を抽出する方法として、ここに示したものに限られず、集計単位ごとに外れた分布を抽出可能な任意の方法を用いてよい。
さらに異常検出部250は、各機器(機器番号)に係る分布B1のうち異常な分布B2の数又は割合を算出し、算出された数又は割合が所定の閾値以上である機器を異常な機器として検出する。
通知制御部260は、異常検出部250によって検出された異常を示す情報を、ディスプレイ20を用いて通知する制御を行う。通知制御部260による検出された異常の通知は、ディスプレイ20による表示に限らず、プリンタによる印刷、ランプの点灯、スピーカによる音声出力等、利用者に対して通知することが可能な任意の方法によって行われてよい。
図10は、本実施形態に係る異常検出システム200を用いる異常検出方法のフローチャートを示す図である。図10のフローチャートは、例えば利用者が異常検出システム200に対して異常検出を実行するための所定の操作を行うことによって開始される。まず、基準分布取得部240は、基準分布記憶部272から基準分布マトリクスを読み出して取得する(ステップS201)。
異常検出部250は、ステップS201で取得された基準分布マトリクスに含まれるログ出力数の分布を機器(機器番号)ごとに平均することによって機器平均分布を算出する。次に、異常検出部250は、算出された機器平均分布同士の類似度を算出し、類似度に基づいて機器のグループを生成する(ステップS202)。以下の処理は、機器のグループごとに行われる。
異常検出部250は、ステップS201で取得された基準分布マトリクスに含まれるログ出力数の分布のうち、集計単位ごとに外れた分布を異常な分布として抽出する(ステップS203)。
さらに異常検出部250は、各機器(機器番号)についてステップS204で抽出された異常な分布の数又は割合を算出し、算出された数又は割合が所定の閾値以上である機器を異常な機器として検出する(ステップS204)。
ステップS203~S204で異常な分布又は機器が検出された場合に(ステップS205のYES)、通知制御部260は、ステップS203~S204で検出された異常を示す情報を、ディスプレイ20を用いて通知する制御を行う(ステップS206)。ステップS206における通知を行った後、あるいはステップS203~204で異常が検出されない場合に(ステップS205のNO)、異常検出方法を終了する。
異常検出システム200のCPU101は、図10に示す異常検出方法に含まれる各ステップ(工程)の主体となる。すなわち、CPU101は、図10に示す異常検出方法を実行するためのプログラムをメモリ102又は記憶装置103から読み出し、該プログラムを実行して異常検出システム200の各部を制御することによって図10に示す異常検出方法を実行する。
以上のように、本実施形態に係る異常検出システム200は、様々な集計単位および機器のログ出力数の分布B1の中から外れている分布B2を抽出することによって異常を検出する。そのため、集計単位ごとおよび機器ごとの分布の特徴を生かして、異常な分布又は機器を検出することができる。
(その他の実施形態)
図11は、上述の各実施形態に係る異常検出システム100、200の概略構成図である。図11には、異常検出システム100、200が異なる集計単位および異なる機器について生成されたログの出力数の分布を用いて異常を検出する装置として機能するための構成例が示されている。異常検出システム100、200は、ログを出力する機器ごとおよび前記ログを集計する時間範囲の単位ごとに生成された複数の分布を取得する分布取得部140、240と、前記複数の分布を用いて異常を検出する異常検出部150、250と、を備え、前記複数の分布のそれぞれは、前記単位中の前記ログの出力数の時系列分布である。
本発明は、上述の実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲において適宜変更可能である。
上述の実施形態の機能を実現するように該実施形態の構成を動作させるプログラム(より具体的には、図7、10に示す処理をコンピュータに実行させる異常検出プログラム)を記録媒体に記録させ、該記録媒体に記録されたプログラムをコードとして読み出し、コンピュータにおいて実行する処理方法も各実施形態の範疇に含まれる。すなわち、コンピュータ読取可能な記録媒体も各実施形態の範囲に含まれる。また、上述のプログラムが記録された記録媒体はもちろん、そのプログラム自体も各実施形態に含まれる。
該記録媒体としては例えばフロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM、磁気テープ、不揮発性メモリカード、ROMを用いることができる。また該記録媒体に記録されたプログラム単体で処理を実行しているものに限らず、他のソフトウェア、拡張ボードの機能と共同して、OS上で動作して処理を実行するものも各実施形態の範疇に含まれる。
上述の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
ログを出力する機器ごとおよび前記ログを集計する時間範囲の単位ごとに生成された複数の分布を取得する工程と、
前記複数の分布を用いて異常を検出する工程と、
を含み、
前記複数の分布のそれぞれは、前記単位中の前記ログの出力数の時系列分布である異常検出方法。
(付記2)
分析対象ログに含まれるログの出力数の時系列分布である分析対象分布を生成する工程をさらに備え、
前記取得する工程は、前記複数の分布から前記分析対象分布に最も類似している基準分布を選択し、
前記検出する工程は、前記分析対象分布と前記基準分布とを比較することによって、前記分析対象ログにおける前記異常を検出することを特徴とする、付記1に記載の異常検出方法。
(付記3)
前記取得する工程は、前記分析対象分布と前記複数の分布のそれぞれとの類似度を算出し、前記複数の分布のうち前記類似度が所定の閾値以上である分布を前記基準分布として選択することを特徴とする、付記2に記載の異常検出方法。
(付記4)
前記検出する工程は、前記基準分布を基準とした前記分析対象分布の異常度を算出し、前記異常度が所定の正常範囲内でない場合に前記異常を検出することを特徴とする、付記2又は3に記載の異常検出方法。
(付記5)
前記複数の分布から外れた分布を異常な分布として抽出することによって前記異常を検出することを特徴とする、付記1に記載の異常検出方法。
(付記6)
前記複数の分布の互いの類似度を算出し、前記互いの類似度に基づいて前記複数の分布から外れた分布を抽出することを特徴とする、付記5に記載の異常検出方法。
(付記7)
前記機器ごとの前記異常な分布の数又は割合が所定の閾値以上である前記機器を異常な機器として抽出することによって前記異常を検出することを特徴とする、付記5又は6に記載の異常検出方法。
(付記8)
前記単位は、前記時間範囲の長さおよび前記時間範囲が該当する条件を示すことを特徴とする、付記1~7のいずれか一項に記載の異常検出方法。
(付記9)
コンピュータに、
ログを出力する機器ごとおよび前記ログを集計する時間範囲の単位ごとに生成された複数の分布を取得する工程と、
前記複数の分布を用いて異常を検出する工程と、
を実行させ、
前記複数の分布のそれぞれは、前記単位中の前記ログの出力数の時系列分布である異常検出プログラム。
(付記10)
ログを出力する機器ごとおよび前記ログを集計する時間範囲の単位ごとに生成された複数の分布を取得する分布取得部と、
前記複数の分布を用いて異常を検出する異常検出部と、
を備え、
前記複数の分布のそれぞれは、前記単位中の前記ログの出力数の時系列分布である異常検出システム。

Claims (11)

  1. 第1の時間幅における第1の機器のログ出力数に関する情報を含む第1のログ情報と、第2の時間幅における第2の機器のログ出力数に関する情報を含む第2のログ情報とを取得し、
    第3の時間幅における分析対象機器のログ出力数に関する情報を含む分析対象ログ情報を取得し、
    前記第1のログ情報及び前記第2のログ情報と前記分析対象ログ情報との類似度に基づいて、前記第1のログ情報または前記第2のログ情報を基準ログ情報とする決定を行い、
    前記分析対象ログ情報と前記基準ログ情報とに基づいて前記分析対象機器の異常の有無を判定する、
    異常判定方法。
  2. 前記第1の機器は前記分析対象機器と同一の機器である、請求項1に記載の異常判定方法。
  3. 前記第1の機器と前記第2の機器とは、いずれも前記分析対象機器と同一の機器でない、請求項1に記載の異常判定方法。
  4. 前記第1の時間幅は前記第3の時間幅と同一の時間幅である、請求項1乃至3のいずれか1項に記載の異常判定方法。
  5. 前記第1の時間幅と前記第2の時間幅とは、いずれも前記第3の時間幅と同一の時間幅でない、請求項1乃至3のいずれか1項に記載の異常判定方法。
  6. 第1の時間幅における第1の機器のログ出力数に関する情報を含む第1のログ情報と、第2の時間幅における第2の機器のログ出力数に関する情報を含む第2のログ情報とを取得し、
    第3の時間幅における分析対象機器のログ出力数に関する情報を含む分析対象ログ情報を取得し、
    前記第1のログ情報及び前記第2のログ情報と前記分析対象ログ情報との類似度に基づいて、前記第1のログ情報または前記第2のログ情報を基準ログ情報とする決定を行う
    取得部と、
    前記分析対象ログ情報と前記基準ログ情報とに基づいて前記分析対象機器の異常の有無を判定する判定部と
    を備える、異常判定システム。
  7. 前記第1の機器は前記分析対象機器と同一の機器である、請求項6に記載の異常判定システム。
  8. 前記第1の機器と前記第2の機器とは、いずれも前記分析対象機器と同一の機器でない、請求項6に記載の異常判定システム。
  9. 前記第1の時間幅は前記第3の時間幅と同一の時間幅である、請求項6乃至8のいずれか1項に記載の異常判定システム。
  10. 前記第1の時間幅と前記第2の時間幅とは、いずれも前記第3の時間幅と同一の時間幅でない、請求項6乃至8のいずれか1項に記載の異常判定システム。
  11. 第1の時間幅における第1の機器のログ出力数に関する情報を含む第1のログ情報と、第2の時間幅における第2の機器のログ出力数に関する情報を含む第2のログ情報とを取得し、
    第3の時間幅における分析対象機器のログ出力数に関する情報を含む分析対象ログ情報を取得し、
    前記第1のログ情報及び前記第2のログ情報と前記分析対象ログ情報との類似度に基づいて、前記第1のログ情報または前記第2のログ情報を基準ログ情報とする決定を行い、
    前記分析対象ログ情報と前記基準ログ情報とに基づいて前記分析対象機器の異常の有無を判定する、
    工程をコンピュータに実行させるためのプログラム。
JP2022066082A 2020-08-25 2022-04-13 異常検出方法、システムおよびプログラム Active JP7276550B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022066082A JP7276550B2 (ja) 2020-08-25 2022-04-13 異常検出方法、システムおよびプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020141475A JP7103392B2 (ja) 2020-08-25 2020-08-25 異常検出方法、システムおよびプログラム
JP2022066082A JP7276550B2 (ja) 2020-08-25 2022-04-13 異常検出方法、システムおよびプログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2020141475A Division JP7103392B2 (ja) 2020-08-25 2020-08-25 異常検出方法、システムおよびプログラム

Publications (2)

Publication Number Publication Date
JP2022092037A JP2022092037A (ja) 2022-06-21
JP7276550B2 true JP7276550B2 (ja) 2023-05-18

Family

ID=87888717

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022066082A Active JP7276550B2 (ja) 2020-08-25 2022-04-13 異常検出方法、システムおよびプログラム

Country Status (1)

Country Link
JP (1) JP7276550B2 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015164005A (ja) 2014-02-28 2015-09-10 三菱重工業株式会社 監視装置、監視方法及びプログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5468837B2 (ja) * 2009-07-30 2014-04-09 株式会社日立製作所 異常検出方法、装置、及びプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015164005A (ja) 2014-02-28 2015-09-10 三菱重工業株式会社 監視装置、監視方法及びプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
黒川 尋論ほか,メッセージの出力数に着目したノードの異常検知方法の検討,電子情報通信学会技術研究報告,日本,社団法人電子情報通信学会,2011年08月25日,Vol.111 No.197,pp.83-87

Also Published As

Publication number Publication date
JP2022092037A (ja) 2022-06-21

Similar Documents

Publication Publication Date Title
JP6708219B2 (ja) ログ分析システム、方法およびプログラム
JP6160064B2 (ja) 適用判定プログラム、障害検出装置および適用判定方法
JP6741216B2 (ja) ログ分析システム、方法およびプログラム
JP6780655B2 (ja) ログ分析システム、方法およびプログラム
JP6413537B2 (ja) 障害予兆通報装置および予兆通報方法、予兆通報プログラム
WO2018122890A1 (ja) ログ分析方法、システムおよびプログラム
JP5387779B2 (ja) 運用管理装置、運用管理方法、及びプログラム
US11797413B2 (en) Anomaly detection method, system, and program
CN110389874B (zh) 日志文件异常检测方法和装置
WO2018069950A1 (ja) ログ分析方法、システムおよびプログラム
JP6741217B2 (ja) ログ分析システム、方法およびプログラム
JP5933386B2 (ja) データ管理装置及びプログラム
JPWO2018066661A1 (ja) ログ分析方法、システムおよび記録媒体
JP7276550B2 (ja) 異常検出方法、システムおよびプログラム
JP7103392B2 (ja) 異常検出方法、システムおよびプログラム
CN115801307A (zh) 一种利用服务器日志进行端口扫描检测的方法和***
CN115295016A (zh) 一种设备运行状态监控方法、装置、设备及存储介质
WO2021184588A1 (zh) 集群优化方法、装置、服务器及介质
JP7180772B2 (ja) 監視方法、監視装置、記録媒体
CN114443407A (zh) 一种服务器的检测方法、***、电子设备及存储介质
JP5380386B2 (ja) 機器情報管理システム及び方法
WO2009090944A1 (ja) ルールベース管理システム、ルールベース管理方法およびルールベース管理用プログラム
CN112988542B (zh) 一种应用评分方法、装置、设备和可读存储介质
CN115913911A (zh) 网络故障检测方法、设备及存储介质
JP2016224799A (ja) 監視装置および監視プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220413

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230227

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: 20230404

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230417

R151 Written notification of patent or utility model registration

Ref document number: 7276550

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151