IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電信電話株式会社の特許一覧

特許7647910ログデータ解析装置、ログデータ解析方法、およびプログラム
<>
  • 特許-ログデータ解析装置、ログデータ解析方法、およびプログラム 図1
  • 特許-ログデータ解析装置、ログデータ解析方法、およびプログラム 図2
  • 特許-ログデータ解析装置、ログデータ解析方法、およびプログラム 図3
  • 特許-ログデータ解析装置、ログデータ解析方法、およびプログラム 図4
  • 特許-ログデータ解析装置、ログデータ解析方法、およびプログラム 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-03-10
(45)【発行日】2025-03-18
(54)【発明の名称】ログデータ解析装置、ログデータ解析方法、およびプログラム
(51)【国際特許分類】
   G06F 11/34 20060101AFI20250311BHJP
   G06F 11/07 20060101ALI20250311BHJP
   G06N 3/0442 20230101ALI20250311BHJP
   G06N 3/0499 20230101ALI20250311BHJP
   G06F 18/241 20230101ALI20250311BHJP
【FI】
G06F11/34 176
G06F11/07 140A
G06F11/07 151
G06N3/0442
G06N3/0499
G06F18/241
【請求項の数】 5
(21)【出願番号】P 2023553855
(86)(22)【出願日】2021-10-14
(86)【国際出願番号】 JP2021038112
(87)【国際公開番号】W WO2023062790
(87)【国際公開日】2023-04-20
【審査請求日】2024-03-01
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(72)【発明者】
【氏名】福田 展和
(72)【発明者】
【氏名】呉 超
(72)【発明者】
【氏名】堀内 信吾
(72)【発明者】
【氏名】田山 健一
【審査官】太田 龍一
(56)【参考文献】
【文献】国際公開第2018/170175(WO,A1)
【文献】特開2019-145081(JP,A)
【文献】国際公開第2017/030006(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/34
G06F 11/07
G06N 3/0442
G06N 3/0499
G06F 18/241
(57)【特許請求の範囲】
【請求項1】
単一のテキストログを対象とする第1のニューラルネットワークを学習させて得られた第1のモデルと、複数のテキストログを含むログ系列を対象とする第2のニューラルネットワークを学習させて得られた第2のモデルとを記憶する記憶部と、
解析対象のシステムにより生成されたテキストログを取得する取得部と、
前記取得されたテキストログの系列から各テキストログの特徴量を算出する特徴量算出部と、
前記取得されたテキストログ系列を、前記特徴量に基づいて正常または異常のいずれかに分類する異常ログ検出部とを具備し、
前記異常ログ検出部は、
前記取得されたテキストログ系列の一部のテキストログ系列の特徴量から前記第1のモデルを用いて異常スコアの概算値を計算し、
前記異常スコアの概算値が規定値以下であれば、当該異常スコアの概算値に基づいて前記テキストログ系列を正常または異常のいずれかに分類し、
前記異常スコアの概算値が規定値より大きければ、前記取得された全てのテキストログ系列の特徴量から前記第2のモデルを用いて異常スコアの修正値を計算し、前記異常スコアの概算値と前記異常スコアの修正値との和に基づいて、前記テキストログ系列を正常または異常のいずれかに分類する、ログデータ解析装置。
【請求項2】
前記第1のニューラルネットワークは、FFN(Feed Forward Network)である、請求項1に記載のログデータ解析装置。
【請求項3】
前記第2のニューラルネットワークは、LSTM(Long Short Term Memory)である、請求項1または2に記載のログデータ解析装置。
【請求項4】
プロセッサを有するログデータ解析装置におけるログデータ解析方法であって、
前記プロセッサが、単一のテキストログを対象とする第1のニューラルネットワークを学習させて得られた第1のモデルと、複数のテキストログを含むログ系列を対象とする第2のニューラルネットワークを学習させて得られた第2のモデルとを記憶部に記憶することと、
前記プロセッサが、解析対象のシステムにより生成されたテキストログを取得することと、
前記プロセッサが、前記取得されたテキストログの系列から各テキストログの特徴量を算出することと、
前記プロセッサが、前記取得されたテキストログ系列の一部のテキストログ系列の特徴量から前記第1のモデルを用いて異常スコアの概算値を計算することと、
前記プロセッサが、前記異常スコアの概算値が規定値以下であれば、当該異常スコアの概算値に基づいて前記テキストログ系列を正常または異常のいずれかに分類することと、
前記プロセッサが、前記異常スコアの概算値が規定値より大きければ、前記取得された全てのテキストログ系列の特徴量から前記第2のモデルを用いて異常スコアの修正値を計算し、前記異常スコアの概算値と前記異常スコアの修正値との和に基づいて、前記テキストログ系列を正常または異常のいずれかに分類することとを含む、ログデータ解析方法。
【請求項5】
請求項1乃至3の何れかに記載のログデータ解析装置の前記各部としてプロセッサを機能させる、プログラム。

【発明の詳細な説明】
【技術分野】
【0001】
この発明の実施形態は、ログデータ解析装置、ログデータ解析方法、およびプログラムに関する。
【背景技術】
【0002】
コンピュータシステムに不具合が発生すると、現代社会ではあらゆる領域に影響がおよぶ。インパクトを最小にするために、サービス保守業務においては異常を迅速に検知したいというニーズがある。システムの異常を検知する手法の一つに、システムを構成する装置やソフトウェア等が出力する大量のログデータを解析するという手法がある。この手法は障害発生後の原因解析においても用いられることから、解析の速度を高め、迅速に結果を得ることが求められる。
【0003】
ログデータは、テキストの形式で出力されることが多い。そこで、深層学習モデルを用いたテキスト解析技術を応用することが検討されている。例えば、非特許文献1,2に、深層学習モデルの一つであるLSTM(Long short-term memory)を用いて異常を検知することが開示されている。これらの文献では、主に、LSTMに入力する特徴量の設計に関する事項が提案されている。
【先行技術文献】
【非特許文献】
【0004】
【文献】Du, Min et al. “DeepLog: Anomaly Detection and Diagnosis from System Logs through Deep Learning.” Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security (2017).
【文献】Meng, Weibin et al. “LogAnomaly: Unsupervised Detection of Sequential and Quantitative Anomalies in Unstructured Logs.” IJCAI (2019).
【文献】Adam J. Oliner, Jon Stearley. What Supercomputers Say: A Study of Five System Logs, in Proc. of IEEE/IFIP International Conference on Dependable Systems and Networks (DSN), 2007.
【発明の概要】
【発明が解決しようとする課題】
【0005】
ログ異常を検知するのに、深層学習モデルを用いた技術を大規模なテキストログ系列にスケールさせることは難しい。このためテキストログの分量によっては、解析の結果を得るまでに長い時間がかかるという課題があった。処理時間を短縮しようとすると精度が犠牲になるし、さらに、テキストログデータは正例と負例とのいずれかに偏って分布するので、偏りが大きくなるほど精度が低下する。
この発明は、精度の低下を抑えて処理時間を短縮することの可能な技術を提供しようとするものである。
【課題を解決するための手段】
【0006】
上記課題を解決するために、この発明の一態様に係るログデータ解析装置は、単一のテキストログを対象とする第1のニューラルネットワークを学習させて得られた第1のモデルと、複数のテキストログを含むログ系列を対象とする第2のニューラルネットワークを学習させて得られた第2のモデルとを記憶する記憶部と、取得部、特徴量算出部、異常ログ検出部を具備する。取得部は、解析対象のシステムにより生成されたテキストログ系列を取得する。特徴量算出部は、取得されたテキストログの系列から各テキストログの特徴量を算出する。異常ログ検出部は、取得されたテキストログ系列を、特徴量に基づいて正常または異常のいずれかに分類する。異常ログ検出部は、取得されたテキストログ系列の一部のテキストログ系列の特徴量から第1のモデルを用いて異常スコアの概算値を計算する。異常ログ検出部は、異常スコアの概算値が規定値以下であれば、当該異常スコアの概算値に基づいてテキストログ系列を正常または異常のいずれかに分類する。異常ログ検出部は、異常スコアの概算値が規定値より大きければ、取得された全てのテキストログ系列の特徴量から第2のモデルを用いて異常スコアの修正値を計算し、異常スコアの概算値と異常スコアの修正値との和に基づいて、テキストログ系列を正常または異常のいずれかに分類する。
【発明の効果】
【0007】
この発明の一態様によれば、精度の低下を抑えて処理時間を短縮することの可能な技術を提供することができる。
【図面の簡単な説明】
【0008】
図1図1は、この発明の実施形態に係るログデータ解析装置を含むシステムの一例を示す図である。
図2図2は、図1に示されるログデータ解析装置10の処理手順の一例を示すフローチャートである。
図3図3は、正例:異常、負例:正常としたときの識別問題の2×2クロス集計表を示す図である。
図4図4は、精度評価の結果の一例を示す図である。
図5図5は、効率評価の結果の一例を示す図である。
【発明を実施するための形態】
【0009】
以下、図面を参照してこの発明に係わる実施形態を説明する。
(構成)
図1は、この発明の実施形態に係るログデータ解析装置を含むシステムの一例を示す図である。図1において、ログデータ解析装置10は、プロセッサ11、データベース12、ストレージ13、メモリ14、および、インタフェース部15を備える。つまりログデータ解析装置10はコンピュータであり、例えば、パーソナルコンピュータ、あるいはサーバコンピュータ等として実現される。
【0010】
インタフェース部15は、ネットワーク100に接続され、例えば保守対象システム2にアクセスして種々のデータを授受する。また、インタフェース部15は、例えばオペレータからの要求に応じて、ログデータ解析装置10により生成された解析結果3を出力する。
【0011】
プロセッサ11は、例えばCentral Processing Unit(CPU)やMicro Processing Unit(MPU)等の演算ユニットであり、メモリ14にロードされたプログラム14aにより、その機能を実現する。
データベース12は、保守対象システム2から取得されたテキストログデータ12aを記憶し、蓄積する。
【0012】
ストレージ13は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)等の、不揮発性の記憶媒体(ブロックデバイス)である。データベース12は、OS(Operating System)やデバイスドライバなどの基本プログラム、およびログデータ解析装置10の機能を実現させるためのプログラム等に加えて、FFNモデル13aと、LSTMモデル13bとを記憶する。
【0013】
FFNモデル13aは、単一のテキストログを対象とするFFN(Feed Forward Network)を学習させて得られたモデルであり、FFNによる分類に用いられる。LSTMモデル13bは、複数のテキストログを含むログ系列を対象とするLSTMを学習させて得られたモデルであり、LSTMによる分類に用いられる。
メモリ14は、プログラム14a、および、プロセッサ11により生成された解析結果14bを記憶する。
【0014】
ところで、プロセッサ11は、実施形態に係わる機能ブロック(プログラムモジュール)として、ログデータ取得部11a、特徴量算出部11b、異常ログ検出部11c、および、出力部11dを備える。これらの機能ブロックは、プログラム14aに含まれる命令をプロセッサ11が実行することで実現される、処理機能である。すなわち、本発明のログデータ解析装置10はコンピュータとプログラムによっても実現できる。光学メディアなどの記録媒体にプログラムを記録して配布することが可能である。あるいは、ネットワークを通してプログラムを提供することも可能である。
【0015】
ログデータ取得部11aは、解析対象である保守対象システム2により生成されたテキストログ系列を、ネットワーク100およびインタフェース部15を介して取得し、データベース12にテキストログデータ12aとして蓄積する。
【0016】
特徴量算出部11bは、テキストログデータ12aのテキストログ系列から各テキストログの特徴量を算出する。
異常ログ検出部11cは、テキストログデータ12aのテキストログ系列を、上記特徴量に基づいて正常または異常のいずれかに分類する。
【0017】
また、異常ログ検出部11cは、テキストログデータ12aの一部のテキストログ系列を特徴量から、FFNモデル13aを用いて異常スコアの概算値を計算する。この異常スコアの概算値が規定値以下であれば、異常ログ検出部11cは、この異常スコアの概算値に基づいてテキストログ系列を正常または異常のいずれかに分類する。
一方、異常スコアの概算値が規定値より大きければ、異常ログ検出部11cは、取得された全てのテキストログ系列の特徴量からLSTMモデル13bを用いて異常スコアの修正値を計算し、異常スコアの概算値と異常スコアの修正値との和に基づいて、テキストログ系列を正常または異常のいずれかに分類する。
【0018】
出力部11dは、プロセッサ11により算出された解析結果(テキストログの正常または異常を示すデータ)を出力する。
【0019】
(作用)
図2は、図1に示されるログデータ解析装置10の処理手順の一例を示すフローチャートである。図2において、ログデータ解析装置10は、解析対象のログ系列のうちから直前のログ(例えばi行目のログ)のみを、データベース12のテキストログデータ12aから読み出し、特徴量tを計算する(ステップS1)。次にログデータ解析装置10は、i行目のテキストログの特徴量tにFFNモデル13aを適用し(ステップS2)、第1特徴量としての異常スコアの概算値Scoarseを算出する(ステップS3)。
【0020】
次にログデータ解析装置10は、既定の閾値(枝刈り閾値α:ハイパーパラメータ)αとScoarseとの大小を比較し、α>Scoarseでなければ、つまりα≦Scoarseであれば、異常スコアの最終値SallにScoarseを代入(Sall=Scoarse)する(ステップS5)。次にログデータ解析装置10は、Sallと0との大小比較を行い(ステップS6)、Sall>0であれば(Yes)、当該ログデータを異常と結論付け、解析結果に異常を出力する(ステップS7)。Sall≦0であれば(No)、ログデータ解析装置10は当該ログデータを正常とし、解析結果に正常を出力する(ステップS8)。
【0021】
一方、ステップS4でα>Scoarseであれば(Yes)、ログデータ解析装置10は、ログ系列のうち既に読み出されたi行目のログに加えて、i-1行目のログ、…、i-w+1行目のログを、データベース12のテキストログデータ12aから読み出し(ステップS9)、それぞれの特徴量ti-1,…,ti-w+1を計算する(ステップS9)。
【0022】
次にログデータ解析装置10は、既に計算したi行目のテキストログの特徴量t、および、ステップS9で求められた特徴量ti-1,…,ti-w+1にLSTMモデル13bを適用し(ステップS10)、第2特徴量としての異常スコアの詳細値Sfineを算出する(ステップS11)。
【0023】
次にログデータ解析装置10は、異常スコアの最終値SallにScoarse+Sfineを代入(Sall=Scoarse+Sfine)し(ステップS12)、処理手順はステップS6に至って、Sallの値に基づく正常/異常判定が実行される。
【0024】
図2の処理手順を実装するための擬似コードによるアルゴリズムを、以下に示す。
【0025】
【数1】
【0026】
実施形態では、データセットとして例えばスーパーコンピューターシステムのテキストログ(非特許文献3)を用いることができる。このデータセットにFFNモデルのみを用いて解析を行った場合と、枝刈りをせず常にLSTMモデルのみを用いて解析を行った場合とを比較する。評価方法としては、例えば正例に対するF1値を評価する方法(精度評価)や、推論時間を評価する方法(効率評価)がある。ここで、F1値とは、予測結果の精度を評価する手法の1つであり、次式で表すことができる。
【0027】
【数2】
【0028】
図3は、正例:異常、負例:正常としたときの識別問題の2×2クロス集計表を示す図である。TP,FN,FPは、予測結果と真の結果を図3に示す表のように分類したときのデータ数を表す。
【0029】
特徴量は、(非特許文献2)と同様に、単語埋め込みの平均(埋め込みはランダムに初期化)あるいはカウントベクトル(ウィンドウ内のテンプレートID毎の出現回数)を適用することができる。
【0030】
(効果)
図4は、精度評価の結果の一例を示す図である。上記データセットを用いてF1値を算出すると、LSTMモデルのみを用いた場合のF1値は0.536、FFNモデルのみを用いた場合のF1値は0.626、本実施形態でのF1値は0.779であることが示される。つまり、既存の手法と比較して精度が向上したことが示される。実施形態の構成によれば、異常検知に際してノイズとなる大半の正常データを、FFNの結果のみを用いて事前にフィルタリングすることができる。これにより、LSTMの入力データに含まれる正常データの割合を下げ、LSTMの精度の低下を抑止できるようになり、その結果、分類の精度が向上する。
【0031】
図5は、効率評価の結果の一例を示す図である。図5によれば、効率はFFNのみを用いる場合(一点鎖線)が最も高く、LSTMのみを用いる場合は最も低く(点線)、実施形態で開示した技術(実線)はその中間であることが示される。LSTMのみの場合と比べて実行時間を約3.1倍高速にすることができた(バッチサイズ1)。ここで、バッチサイズは、モデルに1度にまとめて入力するデータサイズを示す量である。実施形態における効率は、バッチサイズが大きくなるに伴い悪化することが分かる。これは、バッチサイズを大きくするとバッチ内に占める枝刈りできないデータの数が増加し、枝刈りできないデータの処理がバッチ全体の処理を律速することが主な要因と考えられる。
【0032】
以上述べたように実施形態では、異常なテキストログ系列には、少数のテキストログから判断できるものと、複数のテキストログから判断できるものがあることに着目し、粗密構造を用いた異常検知モデルを構築した。すなわち、簡単な異常を検知する際には効率的なモデルを用いて検知を行い、困難な異常を検知する際には精度の高いモデルを用いた検知を行う。この手法により、深層学習系列モデルに起因する処理時間を削減することができる。また、異常検知において大半を占める正常データを事前にフィルタリングして正常データの割合を下げることで、精度を向上させることができる。
【0033】
既存の技術では、ウィンドウ内のログ系列をエンコードするために用いられるLSTMなどの系列モデルの計算コストは高く、また系列長に比例して増大していた。また、テキストログのデータにおいて、正例と負例の割合に偏りがある場合、LSTM等の従来手法では、偏りが大きくなるほど精度が低下するという特性がある。
【0034】
これに対し実施形態では、各ログの異常スコアを計算するモデル(FFNモデル)を用いて、直前のログの特徴量から効率的なモデルを通して異常スコアを計算し、異常スコアが閾値を超えたものについてのみ、系列モデル(LSTMモデル)の計算を行うようにした。すなわち粗密構造を用いたログ異常検知によって深層学習系列モデルに起因する推論時間を削減することができる。また、異なるモデルに難易度の異なる検出を分担させることによって異常検知の精度が向上する。つまり、粗密構造を用いて、系列モデルの処理を部分的に迂回することで、テキストログ異常検知を高速化でき、また、テキストログ異常検知の精度を向上させることができる。
【0035】
これらのことから、実施形態によれば、精度の低下を抑えて処理時間を短縮することの可能な技術を提供することが可能になる。
なお、この発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【符号の説明】
【0036】
2…保守対象システム
3…解析結果
10…ログデータ解析装置
11…プロセッサ
11a…ログデータ取得部
11b…特徴量算出部
11c…異常ログ検出部
11d…出力部
12…データベース
12a…テキストログデータ
13…ストレージ
13a…FFNモデル
13b…LSTMモデル
14…メモリ
14a…プログラム
14b…解析結果
15…インタフェース部
100…ネットワーク。

図1
図2
図3
図4
図5