JP7182586B2 - LEARNING APPARATUS, ESTIMATION APPARATUS, SEQUENCE ESTIMATION SYSTEM AND METHOD, AND PROGRAM - Google Patents

LEARNING APPARATUS, ESTIMATION APPARATUS, SEQUENCE ESTIMATION SYSTEM AND METHOD, AND PROGRAM Download PDF

Info

Publication number
JP7182586B2
JP7182586B2 JP2020169753A JP2020169753A JP7182586B2 JP 7182586 B2 JP7182586 B2 JP 7182586B2 JP 2020169753 A JP2020169753 A JP 2020169753A JP 2020169753 A JP2020169753 A JP 2020169753A JP 7182586 B2 JP7182586 B2 JP 7182586B2
Authority
JP
Japan
Prior art keywords
log messages
log
model
message
sequence
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
JP2020169753A
Other languages
Japanese (ja)
Other versions
JP2022061676A (en
Inventor
晃範 小杉
啓司 寺澤
桂子 青木
洋平 桐野
彰太 瀧見
侑輝顕 岩下
Original Assignee
エヌ・ティ・ティ・コムウェア株式会社
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 エヌ・ティ・ティ・コムウェア株式会社 filed Critical エヌ・ティ・ティ・コムウェア株式会社
Priority to JP2020169753A priority Critical patent/JP7182586B2/en
Publication of JP2022061676A publication Critical patent/JP2022061676A/en
Application granted granted Critical
Publication of JP7182586B2 publication Critical patent/JP7182586B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、学習装置、推定装置、シーケンス推定システムおよび方法、プログラムに関する。 The present invention relates to a learning device, an estimating device, a sequence estimating system and method, and a program.

従来より、各種のシステムから出力されたログを監視し、システムの異常を検知する技術が知られている。例えば、特許文献1に記載された保守管理装置が知られている。この保守管理装置は、ログ情報を収集する収集部と、ログ情報を識別するログ識別子とログ情報の時刻情報とを関連付けて記憶する記憶部と、複数のログ識別子を時刻情報に基づいてまとめたログシーケンスを作成し、ログシーケンスの開始時刻と終了時刻との差分からシーケンス時間を算出し、ログシーケンスとシーケンス時間とを関連付けたシーケンスグループにグループ化する分析部と、を備え、分析部は、シーケンスグループが予め登録された正常シーケンスグループ及び異常シーケンスグループと一致しない場合、予め登録されたインシデント予兆グループのうち、シーケンスグループと最も適合率の高いシーケンスグループに基づいてインシデント発生までのインシデント発生見込み時間を算出する。これにより、保守管理装置は、インシデントの発生を予測することが可能であるとしている。 2. Description of the Related Art Conventionally, there has been known a technique for monitoring logs output from various systems and detecting system anomalies. For example, a maintenance management device described in Patent Literature 1 is known. This maintenance management device includes a collection unit that collects log information, a storage unit that associates and stores a log identifier that identifies log information and time information of the log information, and a plurality of log identifiers that are collected based on the time information. an analysis unit that creates a log sequence, calculates the sequence time from the difference between the start time and the end time of the log sequence, and groups the log sequence and the sequence time into a sequence group that associates the log sequence, the analysis unit If the sequence group does not match the pre-registered normal sequence group and abnormal sequence group, the estimated time until the incident occurs based on the sequence group and the sequence group with the highest matching rate among the pre-registered incident sign groups Calculate This enables the maintenance management device to predict the occurrence of incidents.

特許第6512646号公報Japanese Patent No. 6512646

しかしながら、上述した保守管理装置は、予め正常シーケンスグループ、異常シーケンスグループ、およびインシデント予兆グループといった情報を事前登録し、ログ情報を監視している。さらに、システムが出力するログは、ERRORやWARNなどのログレベルを事前設定するなどにより、例えばログレベルが高いログを監視対象としやすいよう仕様設計されている場合がある。 However, the maintenance management device described above pre-registers information such as a normal sequence group, an abnormal sequence group, and an incident sign group, and monitors log information. Furthermore, there are cases where the system outputs logs that are designed so that, for example, logs with a high log level can be easily monitored by setting log levels such as ERROR and WARN in advance.

しかし、システムによってはログのレベル等の事前登録しておく情報や仕様、仕様の解釈等は様々である。このことから、保守運用(オペレーション)の現場ではログを起点とした効率的な故障対応を行いたいという要望があるが、実現することができていない。すなわち、現状はログを監視してもシステムの異常は発生してしまい、当該異常に起因したログをシステムに登録し、当該登録したログのみを監視し、登録したログ以外のログを無視するという運用を行っている。これにより、登録済の既知の異常に対しては、ある程度効率的な故障対応を実現している。しかし、未知の異常や、複数のシステムが関連するような複雑な異常が発生した場合に対応することが難しい。また、これらの異常の原因を特定するためにはログをトレースする処理等が必要であり、原因の特定に時間を要するという問題がある。 However, depending on the system, pre-registered information such as log level, specifications, interpretation of specifications, etc., vary. For this reason, there is a demand in the field of maintenance and operation (operation) to perform efficient failure handling starting from the log, but it has not been realized. In other words, even if the logs are currently monitored, an abnormality in the system will occur, and the log caused by the abnormality will be registered in the system, only the registered log will be monitored, and logs other than the registered log will be ignored. are operating. As a result, a relatively efficient failure response is realized for registered known anomalies. However, it is difficult to deal with unknown anomalies or complex anomalies involving multiple systems. In addition, in order to identify the cause of these abnormalities, processing such as log tracing is required, and there is a problem that it takes time to identify the cause.

本発明は、上記の課題に鑑みてなされたものであって、監視対象システムの未知な異常や複雑な異常を検知することができる学習装置、推定装置、シーケンス推定システムおよび方法、プログラムを提供することを目的としている。 The present invention has been made in view of the above problems, and provides a learning device, an estimating device, a sequence estimating system, a method, and a program that can detect unknown or complex anomalies in a monitored system. It is intended to

(1)本発明の一態様は、監視対象システムからログメッセージを収集する収集部と、前記収集部により収集したログメッセージのうち一部のログメッセージを第1の学習データとして学習されたモデルであって、複数のログメッセージを含むシーケンスを推定した結果を出力する第1のモデルと、前記収集部により収集したログメッセージのうち前記一部のログメッセージ以外のログメッセージを第2の学習データとして学習されたモデルであって、前記シーケンスを推定した結果を出力する第2のモデルと、を生成するモデル生成部と、を備える、学習装置である。 (1) One aspect of the present invention is a model that is trained using a collection unit that collects log messages from a monitored system and a portion of the log messages collected by the collection unit as first learning data. a first model that outputs a result of estimating a sequence including a plurality of log messages; A learning device comprising: a second model that is a learned model and outputs a result of estimating the sequence; and a model generation unit that generates the second model.

(2)本発明の一態様は、上記の学習装置であって、前記第1の学習データは、一シーケンス当たりの発生数は少ないが、一シーケンス当たりの発生確率が高いログデータの集合であってよい。 (2) An aspect of the present invention is the learning device described above, wherein the first learning data is a set of log data with a small number of occurrences per sequence but a high occurrence probability per sequence. you can

(3)本発明の一態様は、上記の学習装置であって、前記収集部により収集したログメッセージのうち所定のパラメータを削除することでインデックスを加工して登録する登録部を備えてよい。 (3) An aspect of the present invention is the learning device described above, and may include a registration unit that processes and registers an index by deleting a predetermined parameter from the log messages collected by the collection unit.

(4)本発明の一態様は、上記の学習装置であって、前記登録部によりインデックスとして登録されたログメッセージを種別に分類するメッセージ分類部と、前記メッセージ分類部により分類された前記ログメッセージの種別を含むログメッセージの集合を推定するメッセージ集合推定部と、を更に備え、前記第1のモデルは、前記メッセージ集合推定部により推定されたログメッセージの集合のうち一部で学習され、前記第2のモデルは、前記メッセージ集合推定部により推定されたログメッセージの集合のうち一部以外で学習されてよい。 (4) An aspect of the present invention is the above-described learning device, comprising: a message classification unit that classifies log messages registered as indexes by the registration unit into types; and the log messages classified by the message classification unit. and a message set estimating unit that estimates a set of log messages including the type of the first model is learned with a part of the set of log messages estimated by the message set estimating unit, and the The second model may be trained on a set of log messages other than a part of them estimated by the message set estimation unit.

(5)本発明の一態様は、上記の学習装置であって、前記メッセージ分類部は、前記登録部により登録された前記インデックスを複数の要素に分割し、前記インデックスの先頭に近い要素ほど高い重みを付与することで前記インデックスをベクトル化し、ベクトル化したインデックスを複数のログメッセージの種別のうちいずれかのログメッセージの種別に分類してよい。 (5) An aspect of the present invention is the learning device described above, wherein the message classification unit divides the index registered by the registration unit into a plurality of elements, and an element closer to the beginning of the index has a higher The indices may be vectorized by assigning weights, and the vectorized indices may be classified into one of a plurality of log message types.

(6)本発明の一態様は、上記の学習装置であって、前記メッセージ集合推定部は、前記メッセージ分類部により分類されたログメッセージ種別のうち指定された各ログメッセージ種別に属するログメッセージ群を用いて複数の疑似メッセージ群を生成し、前記複数の疑似メッセージ群について計算した複数の時系列的な相関係数に基づいて、前記指定されたログメッセージ種別に属するログメッセージ同士が同じログメッセージの集合であることを推定してよい。 (6) An aspect of the present invention is the above learning device, wherein the message set estimating unit includes a log message group belonging to each log message type specified among the log message types classified by the message classifying unit. to generate a plurality of pseudo message groups, and based on a plurality of time-series correlation coefficients calculated for the plurality of pseudo message groups, log messages belonging to the specified log message type are the same log message can be assumed to be a set of

(7)本発明の一態様は、上記の学習装置であって、前記メッセージ集合推定部は、前記メッセージ分類部により分類された全てのログメッセージ種別のうち各ログメッセージ種別に属するログメッセージ群を用いて複数の疑似メッセージ群を生成し、前記複数の疑似メッセージ群について計算した複数の時系列的な相関係数に基づいて、前記ログメッセージ種別に属するログメッセージ同士が同じログメッセージの集合であることを推定し、推定したログメッセージの集合のうち包含関係または同時発生関係にある互いのログメッセージ種別のログメッセージを統合してよい。 (7) An aspect of the present invention is the above-described learning device, wherein the message set estimating unit selects a log message group belonging to each log message type among all log message types classified by the message classifying unit. to generate a plurality of pseudo message groups, and based on a plurality of time-series correlation coefficients calculated for the plurality of pseudo message groups, log messages belonging to the log message type are the same set of log messages By estimating that, the log messages of the log message types that have an inclusion relationship or a co-occurrence relationship among the estimated set of log messages may be integrated.

(8)本発明の一態様は、上記の学習装置であって、前記モデル生成部は、前記第1のモデルに含まれるログメッセージ間の時間差をクラスタリングし、前記第2のモデルに含まれるログメッセージ間の時間差をクラスタリングしてよい。 (8) An aspect of the present invention is the learning device described above, wherein the model generation unit clusters time differences between log messages included in the first model, and clusters log messages included in the second model. Time differences between messages may be clustered.

(9)本発明の一態様は、上記の学習装置であって、前記ログメッセージ間の時間差のクラスタリングは、複数のログメッセージ間の時間差に対し、当該ログメッセージ間の時間差の大きさおよびばらつき考慮した所定の条件を満たすまで分割を繰り返してよい。 (9) An aspect of the present invention is the learning device described above, wherein the clustering of the time differences between log messages is performed by considering the magnitude and variation of the time differences between a plurality of log messages. The division may be repeated until a predetermined condition is satisfied.

(10)本発明の一態様は、上記の学習装置であって、前記ログメッセージ間の時間差のクラスタリングは、所定期間単位でログメッセージ間の時間差をクラスタリングした後、学習データが含まれる期間における各クラスタに含まれるデータ数を同数に補正し、所定期間単位のクラスタのデータ数同士を結合した結果に基づいて、クラスタリングされたログメッセージ間の時間差から異常値を排除してよい。 (10) An aspect of the present invention is the learning device described above, wherein the clustering of the time differences between the log messages is performed by clustering the time differences between the log messages in units of a predetermined period, and then clustering the time differences between the log messages in units of a predetermined period. An abnormal value may be eliminated from the time difference between the clustered log messages based on the results of correcting the number of data included in the clusters to the same number and combining the numbers of data in the clusters in predetermined time units.

(11)本発明の一態様は、上記の学習装置であって、前記モデル生成部は、前記第1のモデルについてログメッセージが2以上前のログメッセージに基づいて推定される高次化を行い、前記第2のモデルについて高次化を行わなくてよい。 (11) An aspect of the present invention is the above-described learning device, wherein the model generation unit performs higher-order estimation of the first model based on log messages two or more previous log messages. , the second model need not be upgraded.

(12)本発明の一態様は、監視対象システムからログメッセージを収集する収集部と、学習データのうち一部のログメッセージを第1の学習データとして学習された第1のモデルに、前記収集部により収集された複数のログメッセージのうち一部のログメッセージを入力し、前記第1のモデルの出力に基づいて、複数のログメッセージを含むシーケンスを推定する第1の推定部と、前記学習データのうち前記第1の学習データ以外のログメッセージを第2の学習データとして学習された第2のモデルに、前記収集部により収集された複数のログメッセージのうち一部のログメッセージ以外のログメッセージを入力し、前記第2のモデルの出力に基づいて、複数のログメッセージを含むシーケンスを推定する第2の推定部と、を備える、推定装置である。 (12) One aspect of the present invention is a collection unit that collects log messages from a monitored system; a first estimating unit for inputting some of the plurality of log messages collected by the unit and estimating a sequence including the plurality of log messages based on the output of the first model; Log messages other than some of the plurality of log messages collected by the collecting unit are added to a second model trained using log messages other than the first learning data among the data as second learning data. a second estimator receiving a message and estimating a sequence comprising a plurality of log messages based on the output of the second model.

(13)本発明の一態様は、上記の推定装置であって、前記第1の学習データは、一シーケンス当たりの発生数は少ないが、一シーケンス当たりの発生確率が高いログデータの集合であってよい。 (13) An aspect of the present invention is the above estimation device, wherein the first learning data is a set of log data with a small number of occurrences per sequence but a high occurrence probability per sequence. you can

(14)本発明の一態様は、上記の推定装置であって、前記第1のモデルの第1の学習データのうち前記第2のモデルの第2の学習データと時間的に共通する共通データが存在する場合、前記第1の学習データから前記共通データを除外した学習データにより前記第1のモデルを作成するモデル作成部を備えてよい。 (14) An aspect of the present invention is the above-described estimation device, wherein common data temporally common to second learning data of the second model among the first learning data of the first model exists, the model creation unit may be provided for creating the first model from learning data obtained by excluding the common data from the first learning data.

(15)本発明の一態様は、上記の推定装置であって、前記第1の推定部および前記第2の推定部により推定された結果、複数のシーケンスに属することが推定されたログメッセージが存在する場合、当該ログメッセージに含まれるログメッセージ間の時間差と、前記第1のモデルまたは前記第2のモデルに含まれるログメッセージ間の時間差とを比較し、最も近いモデルに対応するシーケンスに決定するシーケンス決定部を備えてよい。 (15) An aspect of the present invention is the above estimation device, wherein log messages estimated to belong to a plurality of sequences as a result of estimation by the first estimation unit and the second estimation unit are If there is, compare the time difference between log messages included in the log message with the time difference between log messages included in the first model or the second model, and determine the sequence corresponding to the closest model. A sequence determination unit may be provided.

(16)本発明の一態様は、上記の推定装置であって、前記第1の推定部および前記第2の推定部により推定された結果、前記収集部により収集されたログメッセージがシーケンスに属することが推定できない場合、当該ログメッセージの異常を判定する異常判定部を備えてよい。 (16) An aspect of the present invention is the above estimating device, wherein the log messages collected by the collecting unit belong to a sequence as a result of the estimation by the first estimating unit and the second estimating unit. If the log message cannot be estimated, an anomaly determination unit that determines an anomaly of the log message may be provided.

(17)本発明の一態様は、上記の推定装置であって、前記異常判定部は、前記収集部により収集されたログメッセージがシーケンスに属することが推定されたが、前記収集部により収集されたログメッセージ間の時間差が前記第1のモデルまたは前記第2のモデルに含まれるログメッセージ間の時間差に一致しない場合、当該ログメッセージの異常を判定してよい。 (17) An aspect of the present invention is the estimation device described above, wherein the abnormality determination unit estimates that the log messages collected by the collection unit belong to a sequence, but the log messages collected by the collection unit If the time difference between log messages does not match the time difference between log messages included in the first model or the second model, it may be determined that the log message is abnormal.

(18)本発明の一態様は、監視対象システムからログメッセージを収集する収集部と、前記収集部により収集したログメッセージのうち一部のログメッセージを第1の学習データとして学習されたモデルであって、複数のログメッセージを含むシーケンスを推定した結果を出力する第1のモデルと、前記収集部により収集したログメッセージのうち前記一部のログメッセージ以外のログメッセージを第2の学習データとして学習されたモデルであって、前記シーケンスを推定した結果を出力する第2のモデルと、を生成するモデル生成部と、複数のログメッセージのうち一部のログメッセージを第1の学習データとして学習された第1のモデルであって、前記収集部により収集された複数のログメッセージのうち一部のログメッセージを入力し、前記第1のモデルの出力に基づいて、複数のログメッセージを含むシーケンスを推定する第1の推定部と、複数のログメッセージのうち前記一部のログメッセージ以外のログメッセージを第2の学習データとして学習された第2のモデルに、前記収集部により収集された複数のログメッセージのうち一部のログメッセージ以外のログメッセージを入力し、前記第2のモデルの出力に基づいて、複数のログメッセージを含むシーケンスを推定する第2の推定部と、を備える、シーケンス推定システムである。 (18) An aspect of the present invention is a model trained by using a collection unit that collects log messages from a monitored system and a part of the log messages collected by the collection unit as first learning data. a first model that outputs a result of estimating a sequence including a plurality of log messages; a second model that is a learned model and outputs a result of estimating the sequence; a sequence including a plurality of log messages based on the output of the first model, wherein a part of the plurality of log messages collected by the collection unit is input, and based on the output of the first model and a second model trained using log messages other than the part of the log messages among the plurality of log messages as second learning data, the plurality of and a second estimating unit that inputs log messages other than some of the log messages of and estimates a sequence including a plurality of log messages based on the output of the second model. It is an estimation system.

(19)本発明の一態様は、監視対象システムからログメッセージを収集するステップと、収集したログメッセージのうち一部のログメッセージを第1の学習データとして学習されたモデルであって、複数のログメッセージを含むシーケンスを推定した結果を出力する第1のモデルと、収集したログメッセージのうち前記一部のログメッセージ以外のログメッセージを第2の学習データとして学習されたモデルであって、前記シーケンスを推定した結果を出力する第2のモデルと、を生成するステップと、複数のログメッセージのうち一部のログメッセージを第1の学習データとして学習された第1のモデルであって、収集された複数のログメッセージのうち一部のログメッセージを入力し、前記第1のモデルの出力に基づいて、複数のログメッセージを含むシーケンスを推定するステップと、複数のログメッセージのうち前記一部のログメッセージ以外のログメッセージを第2の学習データとして学習された第2のモデルに、収集された複数のログメッセージのうち一部のログメッセージ以外のログメッセージを入力し、前記第2のモデルの出力に基づいて、複数のログメッセージを含むシーケンスを推定するステップと、を備える、シーケンス推定方法である。 (19) One aspect of the present invention is a step of collecting log messages from a monitored system, and a model trained using some of the collected log messages as first learning data, wherein a plurality of A first model that outputs a result of estimating a sequence including log messages, and a model trained using log messages other than the part of the collected log messages as second learning data, a second model that outputs a result of estimating a sequence; estimating a sequence including a plurality of log messages based on the output of the first model; Log messages other than some of the collected log messages are input to a second model trained using the log messages other than the log messages as the second learning data, and the second model estimating a sequence comprising a plurality of log messages based on the output of .

(20)本発明の一態様は、コンピュータに、監視対象システムからログメッセージを収集するステップと、収集したログメッセージのうち一部のログメッセージを第1の学習データとして学習されたモデルであって、複数のログメッセージを含むシーケンスを推定した結果を出力する第1のモデルと、収集したログメッセージのうち前記一部のログメッセージ以外のログメッセージを第2の学習データとして学習されたモデルであって、前記シーケンスを推定した結果を出力する第2のモデルと、を生成するステップと、を実行させる、プログラムである。 (20) One aspect of the present invention is a model trained by a computer using a step of collecting log messages from a monitored system and a part of the collected log messages as first learning data, , a first model that outputs a result of estimating a sequence including a plurality of log messages, and a model trained using log messages other than the part of the collected log messages as second learning data. and generating a second model that outputs a result of estimating the sequence.

(21)本発明の一態様は、コンピュータに、監視対象システムからログデータを収集するステップと、複数のログメッセージのうち一部のログメッセージを第1の学習データとして学習された第1のモデルであって、収集された複数のログメッセージのうち一部のログメッセージを入力し、前記第1のモデルの出力に基づいて、複数のログメッセージを含むシーケンスを推定するステップと、複数のログメッセージのうち前記一部のログメッセージ以外のログメッセージを第2の学習データとして学習された第2のモデルに、収集された複数のログメッセージのうち一部のログメッセージ以外のログメッセージを入力し、前記第2のモデルの出力に基づいて、複数のログメッセージを含むシーケンスを推定するステップと、を実行させる、プログラムである。 (21) One aspect of the present invention provides a computer with a step of collecting log data from a system to be monitored; inputting some of the collected log messages and estimating a sequence including the log messages based on the output of the first model; and input log messages other than some of the plurality of collected log messages into a second model trained using log messages other than the part of the log messages as second learning data; estimating a sequence comprising a plurality of log messages based on the output of the second model.

本発明の一態様によれば、監視対象システムの未知な異常や複雑な異常を検知することができる。 According to one aspect of the present invention, it is possible to detect an unknown anomaly or a complicated anomaly in a monitored system.

ログメッセージの一例を示す図である。FIG. 4 is a diagram showing an example of a log message; FIG. 実施形態のシーケンス推定システム1の機能的な構成の一例を示すブロック図である。It is a block diagram showing an example of functional composition of sequence estimation system 1 of an embodiment. 実施形態におけるシーケンス推定システム1の全体の処理手順を示すフローチャートである。4 is a flow chart showing the overall processing procedure of the sequence estimation system 1 in the embodiment; メッセージ登録処理の処理手順の一例を示すシーケンス図である。FIG. 10 is a sequence diagram showing an example of a processing procedure of message registration processing; ログメッセージの一例を示す図である。FIG. 4 is a diagram showing an example of a log message; FIG. メッセージ分類処理の処理手順の一例を示すシーケンス図である。FIG. 11 is a sequence diagram showing an example of a processing procedure of message classification processing; 重み付き処理の一例を示す説明図である。FIG. 4 is an explanatory diagram showing an example of weighting processing; メッセージ集合推定処理の処理手順の一例を示すフローチャートである。FIG. 11 is a flowchart showing an example of a processing procedure of message set estimation processing; FIG. 相関係数を計算する処理の一例を説明するための図である。FIG. 4 is a diagram for explaining an example of processing for calculating a correlation coefficient; FIG. メッセージ集合推定処理における自動推定処理を説明するための図である。FIG. 10 is a diagram for explaining automatic estimation processing in message set estimation processing; 包含関係にあるログメッセージの集合の一例を示す図である。FIG. 4 is a diagram showing an example of a set of log messages having an inclusion relationship; FIG. 同時発生関係にあるログメッセージの集合の一例を示す図である。FIG. 4 is a diagram showing an example of a set of log messages in a concurrent relationship; モデル作成処理の全体を示すフローチャートである。4 is a flowchart showing the entire model creation process; 学習データの収集処理の処理手順の一例を示すフローチャートである。7 is a flowchart illustrating an example of a processing procedure of learning data collection processing; 通常マルコフモデルおよび優先マルコフモデルの作成処理の処理手順の一例を示すフローチャートである。FIG. 10 is a flowchart showing an example of a processing procedure for creating a normal Markov model and a priority Markov model; FIG. 通常マルコフモデルおよび優先マルコフモデルの作成処理の一例を示す図である。FIG. 10 is a diagram illustrating an example of processing for creating a normal Markov model and a priority Markov model; デュレーション値の一例を示す図である。FIG. 5 is a diagram showing an example of duration values; 一つの学習データおよび複数の学習データを示す図である。It is a figure which shows one learning data and several learning data. 優先モデルを作成する処理の処理手順の一例を示すフローチャートである。FIG. 11 is a flowchart showing an example of a processing procedure of processing for creating a priority model; FIG. デュレーション値の算出処理の処理手順の一例を示すフローチャートである。7 is a flowchart illustrating an example of a processing procedure of duration value calculation processing; デュレーション値のクラスタリング処理を処理手順の一例を示すフローチャートである。FIG. 11 is a flowchart showing an example of a processing procedure for clustering processing of duration values; FIG. デュレーション値のクラスタリング処理の一例を示す図である。FIG. 7 is a diagram showing an example of clustering processing of duration values; 異常値を考慮したデュレーション値のクラスタリングを説明するための図である。FIG. 5 is a diagram for explaining clustering of duration values in consideration of abnormal values; 優先マルコフモデルを高次化する処理を説明するための図である。FIG. 10 is a diagram for explaining processing for increasing the order of a prioritized Markov model; シーケンス推定処理の一例を示すシーケンス図である。FIG. 10 is a sequence diagram showing an example of sequence estimation processing; シーケンス推定処理の処理手順の一例を示すシーケンス図である。FIG. 11 is a sequence diagram showing an example of a processing procedure of sequence estimation processing; 競合調整済みマルコフモデルの作成処理の処理手順の一例を示すフローチャートである。FIG. 11 is a flowchart illustrating an example of a processing procedure for creating a conflict-adjusted Markov model; FIG. 競合調整済みの優先マルコフモデルの作成処理の一例を説明するための図である。FIG. 10 is a diagram for explaining an example of processing for creating a conflict-adjusted prioritized Markov model; ログメッセージについてのシーケンス推定処理の処理手順の一例を示すフローチャートである。FIG. 11 is a flowchart illustrating an example of a sequence estimation process procedure for log messages; FIG. 優先マルコフモデルおよび通常マルコフモデルを用いたシーケンス推定処理を説明するための図である。FIG. 4 is a diagram for explaining sequence estimation processing using a priority Markov model and a normal Markov model; シーケンス推定処理の他の一例を示すフローチャートである。9 is a flowchart showing another example of sequence estimation processing; シーケンスを決定する処理を説明するための図である。FIG. 10 is a diagram for explaining processing for determining a sequence; FIG. 異常判定処理の処理手順の一例を示すフローチャートである。7 is a flowchart illustrating an example of a processing procedure of abnormality determination processing; 異常判定処理の処理内容の一例を示すフローチャートである。6 is a flowchart showing an example of processing contents of an abnormality determination process;

以下、本発明を適用した学習装置および方法、推定方法および方法、プログラムを、図面を参照して説明する。 A learning device and method, an estimation method and method, and a program to which the present invention is applied will be described below with reference to the drawings.

<実施形態の概要>
実施形態のシーケンス推定システムは、監視対象システムからログメッセージを収集し、複数のログメッセージからなるシーケンスを抽出するシステムである。シーケンス推定システムは、一または複数の監視対象システムから出力される多数のログメッセージのうち関係性の高いログメッセージを一つの集合として抽出し、抽出結果を、異常の検知や異常箇所の特定等のオペレーションで利用できるようにする。また、シーケンス推定システムは、集合におけるログメッセージ間の順列の誤りを明確にして、オペレーションで利用できるようにする。これにより、シーケンス推定システムは、未知の異常や、複数の監視対象システムに跨る複雑な異常などが発生した場合、異常箇所の特定精度の向上や、異常箇所の特定に必要なログトレースの時間を短縮することができる。
<Overview of Embodiment>
A sequence estimation system of an embodiment is a system that collects log messages from a monitored system and extracts a sequence composed of a plurality of log messages. A sequence estimation system extracts a set of highly related log messages from a large number of log messages output from one or more monitored systems, and uses the extraction results to detect anomalies, identify anomalous locations, etc. Make it available for operations. The sequence estimation system also exposes permutation errors between log messages in the set and makes them available for operation. As a result, the sequence estimation system can improve the accuracy of identifying abnormal locations and reduce the log tracing time required to identify abnormal locations when unknown abnormalities or complex abnormalities that span multiple monitored systems occur. can be shortened.

図1は、ログメッセージの一例を示す図である。例えば、任意の監視対象システムやシステム内の構成要素から、数日に亘り収集したログメッセージ群1、ログメッセージ群2およびログメッセージ群3が存在するものとする。シーケンス推定システムに実装された推定モデルは、12月21日から28日に亘り、ログメッセージ群1~3間で関連性の高い「正常なシーケンス」を学習しているものとする。この正常なシーケンスは、ログメッセージ群1に含まれるログメッセージ「aaaaa」、ログメッセージ群2に含まれるログメッセージ「bbbbb」、およびログメッセージ群3に含まれるログメッセージ「ccccc」が時系列的な順列で発生するというシーケンスである。例えば、12月29日においてログメッセージ群1に含まれるログメッセージ「aaaaa」、ログメッセージ群2に含まれるログメッセージ「xxxxx」、およびログメッセージ群3に含まれるログメッセージ「ccccc」が時系列的な順列で発生した場合、シーケンス推定システムは、当該シーケンスが正常ではない「エラーシーケンス」であると検知することができる。このように、シーケンス推定システムは、例えば、「正常なシーケンス」を学習しておくことにより、未知の異常なシーケンスを検知することができる。
以下、このようなシーケンス推定システムについて説明する。
FIG. 1 is a diagram showing an example of a log message. For example, it is assumed that there are log message group 1, log message group 2, and log message group 3 collected over several days from an arbitrary monitored system or components within the system. It is assumed that the estimation model implemented in the sequence estimation system has learned a "normal sequence" with high relevance among log message groups 1 to 3 from December 21st to 28th. In this normal sequence, the log message "aaaa" included in log message group 1, the log message "bbbbb" included in log message group 2, and the log message "ccccc" included in log message group 3 are chronologically It is a sequence that occurs in permutation. For example, on December 29, the log message "aaaaa" included in log message group 1, the log message "xxxx" included in log message group 2, and the log message "cccccc" included in log message group 3 are displayed chronologically. permutations, the sequence estimation system can detect that the sequence is an "erroneous sequence" that is not normal. Thus, the sequence estimation system can detect unknown abnormal sequences, for example, by learning "normal sequences".
Such a sequence estimation system will be described below.

<第1実施形態>
<シーケンス推定システム1の構成>
図2は、実施形態のシーケンス推定システム1の機能的な構成の一例を示すブロック図である。シーケンス推定システム1は、例えば、一又は複数の監視対象システム100と、データ処理装置200と、異常検知装置300と、ユーザ端末装置400とを備える。監視対象システム100、データ処理装置200、異常検知装置300、およびユーザ端末装置400は、例えば、通信ネットワークに接続される。通信ネットワークに接続される各装置は、NIC(Network Interface Card)や無線通信モジュールなどの通信インターフェースを備えている(図2では不図示)。通信ネットワークは、例えば、インターネット、WAN(Wide Area Network)、LAN(Local Area Network)、セルラー網などを含む。
<First embodiment>
<Configuration of sequence estimation system 1>
FIG. 2 is a block diagram showing an example of the functional configuration of the sequence estimation system 1 of the embodiment. The sequence estimation system 1 includes, for example, one or more monitored systems 100, a data processing device 200, an anomaly detection device 300, and a user terminal device 400. The monitored system 100, the data processing device 200, the anomaly detection device 300, and the user terminal device 400 are connected to, for example, a communication network. Each device connected to the communication network has a communication interface such as a NIC (Network Interface Card) or a wireless communication module (not shown in FIG. 2). Communication networks include, for example, the Internet, WANs (Wide Area Networks), LANs (Local Area Networks), cellular networks, and the like.

監視対象システム100は、データ処理装置200および異常検知装置300によってログメッセージが監視される情報処理システムである。監視対象システム100は、例えば、各種のサービスを提供するサービスサーバ装置や、ネットワーク網に含まれる多数のネットワークノードの動作状態を管理するネットワーク管理装置等である。ネットワークノードは、例えば、OS(Operation System)、VM(Virtual Machine)、HW(Hardware)、DC(Data Center)などである。監視対象システム100は、所定のトリガに従ってログメッセージをデータ処理装置200に提供する。また、監視対象システム100は、単独で動作するサーバ装置であってよいが、他のサーバ装置と連携して動作する複数のサーバ装置群であってよい。 The monitored system 100 is an information processing system in which log messages are monitored by a data processing device 200 and an anomaly detection device 300 . The monitored system 100 is, for example, a service server device that provides various services, a network management device that manages the operating states of many network nodes included in the network, and the like. Network nodes are, for example, OS (Operation System), VM (Virtual Machine), HW (Hardware), DC (Data Center), and the like. The monitored system 100 provides log messages to the data processing device 200 according to predetermined triggers. The monitored system 100 may be a server device that operates independently, or may be a group of server devices that operate in cooperation with other server devices.

データ処理装置200は、例えば、ログ運用のためのOSS(オープンソースソフトウェア)を実装したコンピュータである。OSSは、例えば、Elasticsearch、Logstash、およびKibanaと称される要素により構成される。データ処理装置200は、例えば、Logstashにより構成されるフォーマット変換部202と、Elasticsearchにより構成されるデータ処理部204と、ログデータ蓄積部206と、検知結果蓄積部208と、Kibanaにより構成される可視化部210とを備える。 The data processing device 200 is, for example, a computer implementing OSS (open source software) for log operation. OSS is composed of elements called Elasticsearch, Logstash, and Kibana, for example. The data processing device 200 includes, for example, a format conversion unit 202 configured by Logstash, a data processing unit 204 configured by Elasticsearch, a log data storage unit 206, a detection result storage unit 208, and a visualization unit configured by Kibana. and a section 210 .

フォーマット変換部202、データ処理部204、および可視化部210といった機能部は、例えばCPU(Central Processing Unit)等のプロセッサがプログラムメモリに格納されたプログラムを実行することにより実現される。また、これらの機能部のうち一部または全部は、LSI(Large Scale Integration)、ASIC(Application Specific Integrated Circuit)、またはFPGA(Field-Programmable Gate Array)等のハードウェアにより実現されてもよいし、ソフトウェアとハードウェアが協働することで実現されてもよい。プログラムは、予めデータ処理装置200のHDDやフラッシュメモリなどの記憶装置(非一過性の記憶媒体を備える記憶装置)に格納されていてもよいし、DVDやCD-ROMなどの着脱可能な記憶媒体に格納されており、記憶媒体(非一過性の記憶媒体)がドライブ装置に装着されることでデータ処理装置200のHDDやフラッシュメモリにインストールされてもよい。ログデータ蓄積部206および検知結果蓄積部208は、例えば、HDD(Hard Disc Drive)、フラッシュメモリ、EEPROM(Electrically Erasable Programmable Read Only Memory)、ROM(Read Only Memory)、RAM(Random Access Memory)などの記憶装置により実現される。グラフデータベース記憶装置200およびリレーショナルデータベース記憶装置300は、例えば、SAN(Storage Area Network)やNAS(Network Attached Storage)により実現されてよい。 Functional units such as the format conversion unit 202, the data processing unit 204, and the visualization unit 210 are implemented by a processor such as a CPU (Central Processing Unit) executing a program stored in a program memory. Some or all of these functional units may be realized by hardware such as LSI (Large Scale Integration), ASIC (Application Specific Integrated Circuit), or FPGA (Field-Programmable Gate Array), It may be realized by cooperation of software and hardware. The program may be stored in advance in a storage device (a storage device having a non-transitory storage medium) such as the HDD or flash memory of the data processing device 200, or may be stored in a removable storage such as a DVD or CD-ROM. It is stored in a medium, and may be installed in the HDD or flash memory of the data processing device 200 by loading the storage medium (non-transitory storage medium) into the drive device. The log data accumulation unit 206 and the detection result accumulation unit 208 are, for example, HDD (Hard Disc Drive), flash memory, EEPROM (Electrically Erasable Programmable Read Only Memory), ROM (Read Only Memory), RAM (Random Access Memory), etc. It is implemented by a storage device. The graph database storage device 200 and relational database storage device 300 may be realized by, for example, SAN (Storage Area Network) or NAS (Network Attached Storage).

フォーマット変換部202は、監視対象システム100から収集したログメッセージのフォーマットを所定のフォーマットに変換する。データ処理部204は、フォーマット変換部202によりフォーマット変換されたログメッセージをログデータ蓄積部206に記憶する。データ処理部204は、異常検知装置300の要求に応じてログデータ蓄積部206から所望のログメッセージを検索し、検索したログメッセージを異常検知装置300に提供する。データ処理部204は、異常検知装置300から提供されたシーケンス推定結果や異常判定結果を検知結果蓄積部208に記憶する。可視化部210は、シーケンス推定結果や異常判定結果をユーザが閲覧可能な可視化データに変換して、ユーザ端末装置400に提供する。 The format conversion unit 202 converts the format of log messages collected from the monitored system 100 into a predetermined format. The data processing unit 204 stores the log message format-converted by the format conversion unit 202 in the log data accumulation unit 206 . The data processing unit 204 retrieves a desired log message from the log data storage unit 206 in response to a request from the anomaly detection device 300 and provides the retrieved log message to the anomaly detection device 300 . The data processing unit 204 stores the sequence estimation result and the abnormality determination result provided from the abnormality detection device 300 in the detection result accumulation unit 208 . The visualization unit 210 converts the sequence estimation result and the abnormality determination result into visualization data that can be browsed by the user, and provides the user terminal device 400 with the visualization data.

ユーザ端末装置400は、例えばパーソナルコンピュータや、スマートフォンやタブレット端末などの端末装置である。ユーザ端末装置400は、例えば監視対象システム100の管理者の操作を受け付け、監視対象システム100の状態や異常に関する情報をデータ処理装置200から取得し、表示処理等を行う。 The user terminal device 400 is, for example, a terminal device such as a personal computer, a smart phone, or a tablet terminal. The user terminal device 400 receives, for example, an operation by an administrator of the monitored system 100, acquires information about the state and abnormality of the monitored system 100 from the data processing device 200, and performs display processing and the like.

異常検知装置300は、データ処理装置200から取得したログメッセージを分析し、分析結果に基づく情報をデータ処理装置200に提供する情報処理装置である。異常検知装置300は、例えば、メッセージ登録部310と、学習部320と、推定部330とを備える。メッセージ登録部310、学習部320、および推定部330といった機能部は、例えばCPU等のプロセッサがプログラムメモリに格納されたプログラムを実行することにより実現される。なお、本実施形態はメッセージ登録部310を異常検知装置300に搭載する一例について説明するが、メッセージ登録部310の機能は、異常検知装置300に代えてデータ処理装置200に搭載してもよい。 The anomaly detection device 300 is an information processing device that analyzes log messages acquired from the data processing device 200 and provides the data processing device 200 with information based on the analysis results. The anomaly detection device 300 includes, for example, a message registration unit 310 , a learning unit 320 and an estimation unit 330 . Functional units such as the message registering unit 310, the learning unit 320, and the estimating unit 330 are implemented by a processor such as a CPU executing a program stored in a program memory. In this embodiment, an example in which the message registration unit 310 is installed in the anomaly detection device 300 will be described, but the function of the message registration unit 310 may be installed in the data processing device 200 instead of the anomaly detection device 300 .

メッセージ登録部310は、ログデータ蓄積部206に蓄積されたログメッセージを学習処理および推定処理に用いる情報として登録する。学習部320は、例えばメッセージ分類部322と、メッセージ集合推定部324と、モデル作成部326とを備える。メッセージ分類部322は、ログメッセージの種別を特定し、ログメッセージを分類する。メッセージ集合推定部324は、ログメッセージの集合を推定する。モデル作成部326は、シーケンスを推定するためのモデルを作成する。推定部330は、例えば、シーケンス推定部332と、異常判定部334とを備える。シーケンス推定部332は、一連のログメッセージを含むシーケンスを推定する。一連のログメッセージは、例えば、時系列的に関連した複数のログメッセージである。異常判定部334は、シーケンス推定部332により推定された結果に基づいて異常を判定する。異常検知装置300は、シーケンス推定結果や異常判定結果を、異常検知装置300の分析結果に基づく情報としてデータ処理装置200に提供する。 The message registration unit 310 registers log messages accumulated in the log data accumulation unit 206 as information used for learning processing and estimation processing. The learning unit 320 includes, for example, a message classification unit 322, a message set estimation unit 324, and a model generation unit 326. The message classification unit 322 identifies the type of log message and classifies the log message. The message set estimator 324 estimates a set of log messages. A model creation unit 326 creates a model for estimating a sequence. The estimator 330 includes, for example, a sequence estimator 332 and an abnormality determiner 334 . Sequence estimator 332 estimates a sequence that includes a series of log messages. A series of log messages is, for example, a plurality of chronologically related log messages. The abnormality determination section 334 determines abnormality based on the result estimated by the sequence estimation section 332 . The abnormality detection device 300 provides the data processing device 200 with the sequence estimation result and the abnormality determination result as information based on the analysis result of the abnormality detection device 300 .

<シーケンス推定システム1の全体処理>
図3は、実施形態におけるシーケンス推定システム1の全体の処理手順を示すフローチャートである。シーケンス推定システム1は、先ず、監視対象システム100から収集したログメッセージを登録する(ステップS100)。このときシーケンス推定システム1は、ログメッセージにタイムスタンプを付加して登録する。タイムスタンプはログメッセージの発生時刻を示す情報である。次にシーケンス推定システム1は、登録したログメッセージを種別で分類する(ステップS200)。次にシーケンス推定システム1は、ログメッセージの集合を推定する(ステップS300)。次にシーケンス推定システム1は、推定モデルを作成する(ステップS400)。ステップS200からステップS400までの処理が、学習フェーズに相当する。
<Overall processing of sequence estimation system 1>
FIG. 3 is a flow chart showing the overall processing procedure of the sequence estimation system 1 in the embodiment. The sequence estimation system 1 first registers log messages collected from the monitored system 100 (step S100). At this time, the sequence estimation system 1 adds a time stamp to the log message and registers it. A time stamp is information indicating the time of occurrence of a log message. Next, the sequence estimation system 1 classifies the registered log messages by type (step S200). Next, the sequence estimation system 1 estimates a set of log messages (step S300). Next, the sequence estimation system 1 creates an estimation model (step S400). The processing from step S200 to step S400 corresponds to the learning phase.

次にシーケンス推定システム1は、シーケンスを推定する(ステップS500)。シーケンスの推定処理は、定期的なタイミングやログメッセージが所定量だけ蓄積したタイミングなどの所定の条件が成立した場合に開始してよい。次にシーケンス推定システム1は、異常を判定する(ステップS600)。ステップS500およびステップS600は、推定・検知フェーズに属する。なお、シーケンス推定システム1は、シーケンスの異常を判定することなく、シーケンス抽出結果だけをデータ処理装置200に提供してもよい。また、シーケンス推定システム1は、シーケンス推定タイミング、異常判定タイミングや、異常のレベルなどを監視対象システム100に応じて変更してもよい。また、シーケンス推定システム1は、監視対象システム100から随時供給されるログメッセージを用いて、学習フェーズと推定・検知フェーズを並行して実行してよい。
以下、ステップS100からステップS600までの各処理を詳細に説明する。
Next, the sequence estimation system 1 estimates a sequence (step S500). The sequence estimation process may be started when a predetermined condition such as regular timing or timing when a predetermined amount of log messages is accumulated is met. Next, the sequence estimation system 1 determines abnormality (step S600). Steps S500 and S600 belong to the estimation/detection phase. Note that the sequence estimation system 1 may provide only the sequence extraction result to the data processing device 200 without judging the abnormality of the sequence. Also, the sequence estimation system 1 may change the sequence estimation timing, the abnormality determination timing, the abnormality level, and the like according to the monitored system 100 . Also, the sequence estimation system 1 may execute the learning phase and the estimation/detection phase in parallel using log messages supplied from the monitored system 100 as needed.
Each process from step S100 to step S600 will be described in detail below.

[メッセージ登録処理]
図4は、メッセージ登録処理の処理手順の一例を示すシーケンス図である。異常検知装置300は、監視対象システム100からログメッセージを収集する。異常検知装置300は、監視対象システム100に要求を送信し、要求に応じてログメッセージを収集してもよい。先ず、異常検知装置300は、収集したログメッセージのうち所定のパラメータを正規表現により削除する(ステップS102)。次に、異常検知装置300は、定型的なパラメータを削除したログメッセージのインデックス部分を登録する(ステップS104)。所定のパラメータは、例えば、数字が含まれる単語部分等のログメッセージの可変部分等の定型的なパラメータである。ログメッセージから定型的なパラメータを削除することで、ログメッセージ間で共通した部分を残すことができる。これにより、ログメッセージ間の重複を排除することができる。
[Message registration process]
FIG. 4 is a sequence diagram illustrating an example of a processing procedure for message registration processing. The anomaly detection device 300 collects log messages from the monitored system 100 . The anomaly detection device 300 may transmit a request to the monitored system 100 and collect log messages in response to the request. First, the anomaly detection device 300 deletes a predetermined parameter from the collected log messages using a regular expression (step S102). Next, the anomaly detection device 300 registers the index part of the log message from which the standard parameters are deleted (step S104). Predetermined parameters are, for example, fixed parameters such as variable parts of log messages, such as word parts containing numbers. By removing the boilerplate parameters from the log messages, we can keep the commonalities between the log messages. This can eliminate duplication between log messages.

図5は、ログメッセージの一例を示す図である。図5(a)に示すようにログメッセージには「fa:16:・・・」といったアドレス等を表す数字が含まれているが、異常検知装置300は、図5(b)に示すように、当該数字を定型的なパラメータとして削除する。これにより、異常検知装置300は、図5(a)および(b)に示すような2つのログメッセージのインデックスを、重複して登録することができる。 FIG. 5 is a diagram showing an example of a log message. As shown in FIG. 5(a), the log message includes numbers representing addresses such as "fa:16:...". , delete the number as a fixed parameter. As a result, the anomaly detection device 300 can redundantly register indexes of two log messages as shown in FIGS. 5(a) and 5(b).

これにより、シーケンス推定システム1は、メッセージ分類処理における教師なし学習であるクラスタリング法(DBSCAN(Density-Based Spatial Clustering of Applications with Noise ))の計算量を削減することができる。すなわち、シーケンス推定システム1は、全てのログメッセージではなく、一部のログメッセージを処理すればよくなり、ログメッセージが発生してからシーケンス推定や異常判定までの時間を短縮することができる。さらに、シーケンス推定システム1は、ミドルウェアとしてのデータ処理装置200でログメッセージの登録を行ってもよいが、この場合、ログメッセージの収集からメッセージ登録までのリアルタイムに行うことができ、登録されたメッセージを用いた分析処理を迅速に行うことができる。 Thereby, the sequence estimation system 1 can reduce the amount of calculation of the clustering method (DBSCAN (Density-Based Spatial Clustering of Applications with Noise)) which is unsupervised learning in message classification processing. That is, the sequence estimation system 1 only needs to process some log messages instead of all log messages, and can shorten the time from the generation of a log message to sequence estimation and abnormality determination. Furthermore, the sequence estimation system 1 may register log messages in the data processing device 200 as middleware. Analytical processing using can be performed quickly.

[メッセージ分類処理]
図6は、メッセージ分類処理の処理手順の一例を示すシーケンス図である。先ず、異常検知装置300は、データ処理装置200からインデックスリスト(ログメッセージ)を取得する(ステップS200)。次に異常検知装置300は、重み付き処理を行うことでインデックスリストを数値ベクトルに変換する(ステップS202)。次に異常検知装置300は、DBSCANを行うことで数値ベクトルをクラスタリングする(ステップS204)。
[Message classification process]
FIG. 6 is a sequence diagram illustrating an example of a processing procedure for message classification processing. First, the anomaly detection device 300 acquires an index list (log message) from the data processing device 200 (step S200). Next, the anomaly detection device 300 converts the index list into a numerical vector by performing weighted processing (step S202). Next, the anomaly detection device 300 clusters the numerical vectors by performing DBSCAN (step S204).

図7は、重み付き処理の一例を示す説明図である。重み付き処理は、インデックスを所定長さの要素に分割し、インデックスの先頭に近い要素ほど高い重みを付与する処理である。換言すれば、インデックスの先頭から末尾へと反比例的に重みに差を付ける。この重み付き処理は、例えば、n-shinglesと称される処理である。n-shinglesを利用することにより、インデックスの形態素解析や辞書が不要であり、異なる言語が混在していても数値化が可能である。また、重みを反比例的に変化させる理由は、インデックスの要素は先頭部分が重要なことが多く、重要度が低い要素はインデックス末尾に存在することが多いという性質があるからである。 FIG. 7 is an explanatory diagram showing an example of weighting processing. The weighting process is a process of dividing the index into elements of a predetermined length and assigning higher weights to elements closer to the beginning of the index. In other words, the weights differ inversely from the beginning of the index to the end. This weighting process is, for example, a process called n-shingles. Using n-shingles eliminates the need for index morphological analysis and dictionaries, and enables digitization even when different languages are mixed. The reason why the weights are changed in inverse proportion is that the leading portion of the index elements is often important, and the less important elements are often present at the end of the index.

例えば、「今日は、fine day」というインデックスが存在する場合において、ウインドウ幅(要素の長さ)を3とした場合、異常検知装置300は、「今日は」という要素1と、「日は、」という要素2と、「は、f」という要素3とに分割し、要素1に「1.0」の重みを付与し、要素2に「0.5」の重みを付与し、要素3に「0.3」の重みを付与する。これにより、異常検知装置300は、インデックス「今日は、fine day」を数値ベクトル(1.0,0.5,0,3)に変換する。そして、異常検知装置300は、インデックスと要素との対応箇所に数値を格納した、数値化されたログメッセージのマトリクスを作成することができる。異常検知装置300は、数値ベクトルのマトリクスを用いてDBSCANを適用することにより、多数のインデックス(ログメッセージ)を複数の種別(クラスタ)に分類する。 For example, when there is an index "today is fine day" and the window width (element length) is 3, the anomaly detection device 300 detects element 1 "today is" and "day is ” and element 3 “is f”, assigning a weight of “1.0” to element 1, assigning a weight of “0.5” to element 2, and assigning a weight of “0.5” to element 3 A weight of "0.3" is given. As a result, the anomaly detection device 300 converts the index "today is fine day" into a numerical vector (1.0, 0.5, 0, 3). Then, the anomaly detection device 300 can create a matrix of digitized log messages in which numerical values are stored in the corresponding locations of the indexes and the elements. The anomaly detection device 300 classifies a large number of indexes (log messages) into a plurality of types (clusters) by applying DBSCAN using a matrix of numerical vectors.

[メッセージ集合推定処理]
メッセージ集合推定処理は、ログメッセージ種別に含まれるログメッセージの集合を特定する処理である。ログメッセージ種別は、一連の動作や異常といった同じ機会で出現するものが多いため、同じ機会で出現するログメッセージが集合を形成するものとする。なお、実施形態において、「ログメッセージの集合」を、「ログメッセージのシーケンス」と読み替えてよい。メッセージ集合推定処理は、ログメッセージの集合のキーとなるログメッセージ種別を指定する種別指定処理と、キーを指定しない処理である自動推定処理の少なくとも一方を含む。
[Message set estimation process]
The message set estimation process is a process of identifying a set of log messages included in a log message type. Since many log message types appear at the same opportunity, such as a series of actions or anomalies, it is assumed that log messages that appear at the same opportunity form a set. In addition, in the embodiment, "a set of log messages" may be read as "a sequence of log messages". The message set estimation process includes at least one of a type designation process of designating a log message type as a key of a log message set and an automatic estimation process of not designating a key.

図8は、メッセージ集合推定処理の処理手順の一例を示すフローチャートである。先ず、異常検知装置300は、対象とするログメッセージXを決定する(ステップS302)。異常検知装置300は、種別指定処理を行う場合、予め指定された2つのログメッセージ種別に属するログメッセージXを、処理対象として決定する。異常検知装置300は、自動推定処理を行う場合、全てのログメッセージ種別におけるログメッセージXを、処理対象として決定する。異常検知装置300は、決定されたログメッセージXの数分だけ、ステップS304からステップS320までの処理を繰り返す。 FIG. 8 is a flowchart illustrating an example of a processing procedure of message set estimation processing. First, the anomaly detection device 300 determines a target log message X (step S302). When performing the type designation process, the anomaly detection device 300 determines log messages X belonging to two pre-designated log message types as objects to be processed. When performing automatic estimation processing, the anomaly detection device 300 determines log messages X of all log message types as processing targets. The anomaly detection device 300 repeats the processes from step S304 to step S320 by the number of log messages X determined.

先ず異常検知装置300は、データ処理装置200から、決定したログメッセージXの発生時刻のリストを取得する(ステップS304)。次に異常検知装置300は、ステップS306からステップS316までのブートストラップ法を、規定回数だけ繰り返す。規定回数は、ブートストラップ法により作成する疑似データの数に相当する。図9は、相関係数を計算する処理の一例を説明するための図である。異常検知装置300は、ログメッセージXをオリジナルデータとして用いて、例えば3個の疑似データ(1)~(3)を含む疑似データセットを生成する。本例において、規定回数は「3」であり、疑似データごとに相関係数を計算する。 First, the anomaly detection device 300 acquires a list of determined occurrence times of log messages X from the data processing device 200 (step S304). Next, the abnormality detection device 300 repeats the bootstrap method from step S306 to step S316 a specified number of times. The specified number of times corresponds to the number of pseudo data created by the bootstrap method. FIG. 9 is a diagram for explaining an example of processing for calculating a correlation coefficient. The anomaly detection device 300 uses the log message X as original data to generate a pseudo data set including, for example, three pseudo data (1) to (3). In this example, the specified number of times is "3", and the correlation coefficient is calculated for each pseudo data.

異常検知装置300は、発生時刻リストから所定数の発生時刻Tを取得し(ステップS306)、相関係数の計算用の行列Mを作成する(ステップS308)。次に異常検知装置300は、取得した全ての発生時刻Tについて、ステップS310からステップS314までの処理を繰り返す。異常検知装置300は、発生時刻Tから所定期間内に出現するログメッセージYを取得し(ステップS310)、行列Mの発生時刻Tの行とログメッセージY’の各列との対応箇所に1をマークし(ステップS312)、行列Mの発生時刻Tの行とログメッセージY以外の各列との対応箇所に0をマークする(ステップS314)。 The anomaly detection device 300 acquires a predetermined number of occurrence times T from the occurrence time list (step S306), and creates a matrix M for calculating correlation coefficients (step S308). Next, the anomaly detection device 300 repeats the processing from step S310 to step S314 for all acquired occurrence times T. FIG. The anomaly detection device 300 acquires the log message Y that appears within a predetermined period from the occurrence time T (step S310), and adds 1 to the corresponding position of the row of the occurrence time T in the matrix M and each column of the log message Y'. 0 is marked (step S312), and 0 is marked in the row corresponding to the occurrence time T in the matrix M and each column other than the log message Y (step S314).

次に異常検知装置300は、行列Mを用いて、ログメッセージXとログメッセージYの相互の時系列的な相関度合いを表す相関係数Cを計算する(ステップS316)。異常検知装置300は、疑似データ(1)~(3)のそれぞれについて、下記の式により相関係数C(1)~C(3)を計算する。下記式においてx、yは疑似データにおける所定期間内の2つのログメッセージX,Yであり、nはデータ数であり、xバーはxの相加平均であり、yバーはyの相加平均であり、相関係数は、標本共分散を標本標準偏差で除算することにより算出される。

Figure 0007182586000001
Next, the anomaly detection device 300 uses the matrix M to calculate a correlation coefficient C representing the degree of time-series correlation between the log messages X and Y (step S316). Anomaly detection device 300 calculates correlation coefficients C(1) to C(3) for each of pseudo data (1) to (3) using the following equations. In the following formula, x and y are two log messages X and Y within a predetermined period in pseudo data, n is the number of data, x bar is the arithmetic mean of x, and y bar is the arithmetic mean of y and the correlation coefficient is calculated by dividing the sample covariance by the sample standard deviation.
Figure 0007182586000001

次に異常検知装置300は、相関係数Cの平均値C’を計算し(ステップS318)、相関係数Cの平均値C’が所定値以上のログメッセージ種別Zを取り出す(ステップS320)。これにより、異常検知装置300は、ログメッセージXのそれぞれについて、当該ログメッセージXと時系列的な相関が高いログメッセージ種別Zを取得する。 Next, the anomaly detection device 300 calculates the average value C' of the correlation coefficients C (step S318), and extracts the log message types Z for which the average value C' of the correlation coefficients C is equal to or greater than a predetermined value (step S320). As a result, for each log message X, the anomaly detection device 300 acquires the log message type Z that has a high time-series correlation with the log message X. FIG.

次に異常検知装置300は、ステップS302から自動推定処理を実行しているか否かを判定する(ステップS322)。異常検知装置300は、自動推定処理を実行していない場合(ステップS322:NO)、本処理を終了する。異常検知装置300は、自動推定処理を実行している場合(ステップS322:YES)、ログメッセージ種別Zと包含関係にある他のログメッセージ種別を統合する処理を、全てのログメッセージ種別Zについて実行する(ステップS324)。次に異常検知装置300は、ログメッセージ種別Zと同時発生関係にある他のログメッセージ種別を統合する処理を、全てのログメッセージ種別Zについて実行する(ステップS326)。 Next, the abnormality detection device 300 determines whether or not the automatic estimation process is being executed from step S302 (step S322). If the anomaly detection device 300 does not execute the automatic estimation process (step S322: NO), the process ends. If the anomaly detection device 300 is executing the automatic estimation process (step S322: YES), the anomaly detection apparatus 300 executes the process of integrating other log message types having an inclusion relationship with the log message type Z for all the log message types Z. (step S324). Next, the anomaly detection device 300 executes processing for integrating other log message types that occur simultaneously with the log message type Z for all log message types Z (step S326).

図10は、メッセージ集合推定処理における自動推定処理を説明するための図である。異常検知装置300は、ログメッセージ種別に含まれるログメッセージを用いてブートストラップ法を利用した疑似データセットの作成、およびアンサンブル法を利用した相関係数の算出処理を行う。これにより、異常検知装置300は、行数がログメッセージ種別数であり且つ列数がログメッセージ種別数である、相関係数のマトリクスを作成する。 FIG. 10 is a diagram for explaining automatic estimation processing in message set estimation processing. The anomaly detection device 300 uses the log message included in the log message type to create a pseudo data set using the bootstrap method, and performs correlation coefficient calculation processing using the ensemble method. As a result, the anomaly detection device 300 creates a matrix of correlation coefficients in which the number of rows is the number of log message types and the number of columns is the number of log message types.

異常検知装置300は、時系列的に相関係数が高いログメッセージの集合であっても、実質的に重複するログメッセージの集合が含まれるために、補正を行う。異常検知装置300は、包含関係にあるログメッセージの集合同士を、同じログメッセージ種別に補正する。図11は、包含関係にあるログメッセージの集合の一例を示す図である。例えば、メッセージNo.406のログメッセージの集合と、メッセージNo.418のログメッセージの集合とはログメッセージの番号(405,404,407)が包含関係にある。包含関係とは、一方のログメッセージの集合が他方のログメッセージの集合を含む関係である。異常検知装置300は、包含関係にあるログメッセージの集合同士を同じログメッセージ種別として補正(統合)する。 The anomaly detection apparatus 300 performs correction because even a set of log messages with a high time-series correlation coefficient includes a set of log messages that substantially overlap. The anomaly detection device 300 corrects sets of log messages having an inclusive relationship to the same log message type. FIG. 11 is a diagram showing an example of a set of log messages having an inclusion relationship. For example, message no. 406 log messages and message numbers. Log message numbers (405, 404, 407) have an inclusion relationship with the set of 418 log messages. A containment relationship is a relationship in which one set of log messages contains another set of log messages. The anomaly detection device 300 corrects (integrates) groups of log messages having an inclusive relationship into the same log message type.

異常検知装置300は、同時発生関係にあるログメッセージの集合同士を同じログメッセージ種別に補正する。図12は、同時発生関係にあるログメッセージの集合の一例を示す図である。例えば、メッセージNo.406のログメッセージの集合と、メッセージNo.418のログメッセージの集合とは同じ時刻に発生している。同時発生関係とは、時間的に同じタイミングで発生するログメッセージ集合同士の関係である。異常検知装置300は、同時発生関係にあるログメッセージの集合同士を同じログメッセージ種別として補正(統合)する。 The anomaly detection device 300 corrects sets of log messages that occur simultaneously to have the same log message type. FIG. 12 is a diagram showing an example of a set of log messages having a concurrent relationship. For example, message no. 406 log messages and message numbers. A set of 418 log messages occurred at the same time. A co-occurrence relationship is a relationship between log message sets that occur at the same timing. The anomaly detection device 300 corrects (integrates) groups of log messages that occur simultaneously as the same log message type.

[モデル作成処理]
図13は、モデル作成処理の全体を示すフローチャートであり、図14は、学習データの収集処理の処理手順の一例を示すフローチャートであり、図15は、通常マルコフモデルおよび優先マルコフモデルの作成処理の処理手順の一例を示すフローチャートである。
[Model creation process]
FIG. 13 is a flow chart showing the entire model creation process, FIG. 14 is a flow chart showing an example of the processing procedure of the learning data collection process, and FIG. 4 is a flow chart showing an example of a processing procedure;

異常検知装置300は、図13に示すように、先ず、学習データを収集し(ステップS400)、学習データを用いてモデルを作成する(ステップS402)。 As shown in FIG. 13, the anomaly detection device 300 first collects learning data (step S400) and creates a model using the learning data (step S402).

異常検知装置300は、図14に示すように、学習データの収集において、ステップS410からステップS416までの処理を、メッセージ集合数分繰り返す。
異常検知装置300は、先ず、対象のログメッセージの集合Xとログメッセージ種別が重複するメッセージの集合Yを算出する(ステップS410)。次に異常検知装置300は、データ処理装置200からログメッセージの集合Xの発生時刻およびログメッセージの集合Yの発生時刻を取得する(ステップS412)。次に異常検知装置300は、ステップS412において取得した発生時刻のうち、前後に所定間隔の空きがある発生時刻Tを抜き出す(ステップS414)。次に異常検知装置300は、メッセージの集合Xに属するログメッセージ種別をインデックスとして、ステップS414において抜き出した発生時刻Tから所定時間内にあるログメッセージLを取り出す(ステップS416)。これにより異常検知装置300は、メッセージの集合ごとに学習データ(L)を収集する。
As shown in FIG. 14, the anomaly detection device 300 repeats the processing from step S410 to step S416 for the number of message sets in collecting learning data.
The anomaly detection device 300 first calculates a set Y of messages having the same log message type as the target log message set X (step S410). Next, the abnormality detection device 300 acquires the occurrence time of the log message set X and the occurrence time of the log message set Y from the data processing device 200 (step S412). Next, the anomaly detection device 300 extracts an occurrence time T having a predetermined interval before and after the occurrence time acquired in step S412 (step S414). Next, the anomaly detection device 300 uses the log message type belonging to the message set X as an index to extract log messages L within a predetermined time period from the occurrence time T extracted in step S414 (step S416). Thereby, the anomaly detection device 300 collects learning data (L) for each set of messages.

異常検知装置300は、図15に示すように、モデル作成処理において、ステップS420からステップS424までの処理をメッセージ集合数分だけ繰り返す。図16は、通常マルコフモデルおよび優先マルコフモデルの作成処理の一例を示す図である。
異常検知装置300は、先ず、ログメッセージLの集合を学習データとして通常マルコフモデルMを作成する(ステップS420)。通常マルコフモデルMは、例えば、シーケンスを構成するログメッセージと、当該ログメッセージ間の遷移確率を表す情報とを含む。異常検知装置300は、学習データをマルコフモデルの機械学習アルゴリズムに入力し、機械学習アルゴリズムの出力誤差を最小にするように機械学習アルゴリズムのパラメータを調整する。次に異常検知装置300は、作成した通常マルコフモデルMに含まれる各ログメッセージのデュレーション値を算出する(ステップS422)。デュレーション値とは、ログメッセージ間の時間差を表す情報である。図17は、デュレーション値の一例を示す図である。次に異常検知装置300は、ログメッセージLのうち優先メッセージを学習データとして優先モデルを作成する(ステップS424)。
As shown in FIG. 15, the anomaly detection device 300 repeats the processes from step S420 to step S424 for the number of message sets in the model creation process. FIG. 16 is a diagram illustrating an example of processing for creating a normal Markov model and a priority Markov model.
The anomaly detection device 300 first creates a normal Markov model M using a set of log messages L as learning data (step S420). The normal Markov model M includes, for example, log messages forming a sequence and information representing transition probabilities between the log messages. The anomaly detection device 300 inputs the learning data to a Markov model machine learning algorithm and adjusts the parameters of the machine learning algorithm so as to minimize the output error of the machine learning algorithm. Next, the anomaly detection device 300 calculates the duration value of each log message included in the created normal Markov model M (step S422). A duration value is information representing a time difference between log messages. FIG. 17 is a diagram showing an example of duration values. Next, the anomaly detection device 300 creates a priority model using priority messages among the log messages L as learning data (step S424).

図18は、一つの学習データおよび複数の学習データを示す図である。優先メッセージは、一シーケンス当たりの発生数は少ないが、一シーケンス当たりの発生確率が高いログメッセージの集合である。「一シーケンス当たりの発生数は少ないログメッセージ」とは、一つの学習データの中でそれほど繰り替えして発生しないログメッセージである。優先メッセージは、例えば、任意のログメッセージの発生数よりも少ない発生数のログメッセージである。「一シーケンス当たりの発生確率が高いログメッセージ」とは、どの学習データ(L1、L2、・・・Ln)でも出現するログメッセージである。 FIG. 18 is a diagram showing one learning data and a plurality of learning data. A priority message is a set of log messages with a low number of occurrences per sequence but a high probability of occurrence per sequence. “Log messages with a small number of occurrences per sequence” are log messages that do not occur repeatedly in one set of learning data. A priority message is, for example, a log message with a lower number of occurrences than any of the log messages. A “log message with a high occurrence probability per sequence” is a log message that appears in any learning data (L1, L2, . . . Ln).

異常検知装置300は、図16に示すように、メッセージ群A,B,C・・・を含むログメッセージLを用いて通常マルコフモデルMを作成し、ログメッセージLのうちメッセージ群A,Cを含む優先メッセージを用いて優先マルコフモデルを作成する。また、異常検知装置300は、メッセージ集合数分だけステップS420からステップS424までの処理を繰り返すことで、メッセージの集合数分の通常マルコフモデルおよび優先マルコフモデルの作成を行う。 As shown in FIG. 16, the anomaly detection device 300 creates a normal Markov model M using a log message L including message groups A, B, C, . . . Create a prioritized Markov model using the prioritized message containing Further, the anomaly detection apparatus 300 repeats the processes from step S420 to step S424 for the number of message sets, thereby creating normal Markov models and priority Markov models for the number of message sets.

(優先モデルの作成)
図19は、優先モデルを作成する処理の処理手順の一例を示すフローチャートである。
異常検知装置300は、ステップS430からステップS434までのブートストラップ法を、所定数だけ繰り返す。先ず異常検知装置300は、対象となるメッセージの集合Xの学習データLから所定数の学習データL’を抜き出し(ステップS430)、学習データL’の中でそれほど繰り替えして発生しないログメッセージ種別のメッセージL’’を抜き出す(ステップS432)。異常検知装置300は、例えば学習データL’のうち出現数が最小のログメッセージ種別のメッセージL’’を抜き出してよい。これにより異常検知装置300は、所定数の学習データL’のセットごとにメッセージL’’を含む疑似データを作成することで、複数の疑似データを含む疑似データセットを作成する(ブートストラップ法)。次に異常検知装置300は、学習データL’’の1回の学習データあたりの各ログメッセージ種別の出現確率Cを算出する(ステップS434)。これにより異常検知装置300は、疑似データごとに出現確率Cを取得する。
(Creation of preferred model)
FIG. 19 is a flowchart of an example of a processing procedure for creating a priority model;
Anomaly detection device 300 repeats the bootstrap method from step S430 to step S434 a predetermined number of times. First, the anomaly detection device 300 extracts a predetermined number of learning data L′ from the learning data L of the target message set X (step S430), Message L'' is extracted (step S432). The anomaly detection device 300 may extract, for example, the message L'' of the log message type with the smallest number of appearances from the learning data L'. Thereby, the anomaly detection device 300 creates a pseudo data set including a plurality of pseudo data by creating pseudo data including the message L'' for each set of a predetermined number of learning data L' (bootstrap method). . Next, the anomaly detection device 300 calculates the appearance probability C of each log message type per one learning data of the learning data L'' (step S434). Thereby, the anomaly detection device 300 acquires the appearance probability C for each pseudo data.

次に異常検知装置300は、出現確率Cの平均値C’を算出し(ステップS436)、出現確率平均値C’が所定値以上のログメッセージ種別Zを取り出し(ステップS437)、対象のログメッセージの集合Xの学習データLからログメッセージ種別ZのメッセージL’’’を抜き出す(ステップS440)。次に異常検知装置300は、学習データL’’’からAICを算出し、学習データL’’’からn次マルコフモデルM’を作成する(ステップS444)。次に異常検知装置300は、作成したマルコフモデルM’に含まれる各ログメッセージのデュレーション値を算出する(ステップS446)。 Next, the anomaly detection device 300 calculates the average value C′ of the appearance probability C (step S436), extracts the log message types Z for which the average appearance probability value C′ is equal to or greater than a predetermined value (step S437), and extracts the target log message The message L''' of the log message type Z is extracted from the learning data L of the set X of (step S440). Next, the anomaly detection device 300 calculates AIC from the learning data L''' and creates an n-order Markov model M' from the learning data L''' (step S444). Next, the anomaly detection device 300 calculates the duration value of each log message included in the created Markov model M' (step S446).

(デュレーション値の算出)
図20は、デュレーション値の算出処理の処理手順の一例を示すフローチャートである。異常検知装置300は、ステップS450~ステップS462のデュレーション値の算出処理をマルコフモデルM’の状態遷移数分だけ繰り返して行う。
(Calculation of duration value)
FIG. 20 is a flowchart illustrating an example of a processing procedure of duration value calculation processing. The anomaly detection device 300 repeats the duration value calculation process from step S450 to step S462 by the number of state transitions of the Markov model M'.

先ず異常検知装置300は、ブートストラップ法およびアンサンブル法によって所定数だけ、ステップS450~ステップS458の処理を繰り返す。異常検知装置300は、日単位でデュレーション値を集計する処理として学習期間の日数分、ステップS450~ステップS454を繰り返す。まず、異常検知装置300は、対象とする状態遷移における対象とする日のデュレーション値を、学習データから抜き出し(ステップS450)、デュレーション値のクラスタリングを行う(ステップS452)。次に異常検知装置300は、デュレーション値の各クラスタから所定数のデュレーション値Cを取り出す(ステップS454)。次に異常検知装置300は、デュレーション値Cの集合をクラスタリングする(ステップS456)。次に異常検知装置300は、デュレーション値Cのクラスタのうちデュレーション値が所定数以下のクラスタを破棄する(ステップS458)。 First, the anomaly detection device 300 repeats the processes of steps S450 to S458 a predetermined number of times by the bootstrap method and the ensemble method. The anomaly detection device 300 repeats steps S450 to S454 for the number of days of the learning period as a process of totalizing duration values on a daily basis. First, the anomaly detection device 300 extracts the duration value of the target day in the target state transition from the learning data (step S450), and clusters the duration values (step S452). Next, the anomaly detection device 300 extracts a predetermined number of duration values C from each cluster of duration values (step S454). Next, the anomaly detection device 300 clusters the set of duration values C (step S456). Next, the anomaly detection device 300 discards the clusters whose duration value is equal to or less than a predetermined number among the clusters with the duration value C (step S458).

次に異常検知装置300は、デュレーション値C’の集合をクラスタリングし(ステップS460)、デュレーション値C’のクラスタの平均および偏差を算出する(ステップS462)。 Next, the anomaly detection device 300 clusters the set of duration values C' (step S460), and calculates the average and deviation of the clusters of duration values C' (step S462).

(デュレーション値のクラスタリング)
図21は、デュレーション値のクラスタリング処理を処理手順の一例を示すフローチャートである。先ず異常検知装置300は、停止条件が成立したか否かを判定し、成立した場合には本フローチャートの処理を終了し、成立していない場合にはk-meansを用いてデュレーション値の集合を、2つのデュレーション値の集合(D1およびD2)に分割する(ステップS472)。次に異常検知装置300は、分割されたデュレーション値の集合のそれぞれを、デュレーション値を再帰的にクラスタリングする(ステップS474)。異常検知装置300は、停止条件が成立するまでにデュレーション値の集合の2分割、および分割された各デュレーション値の集合の再帰的なクラスタリングを繰り返す。これにより、異常検知装置300は、複数のデュレーション値のクラスタを生成することができる。
(Clustering of duration values)
FIG. 21 is a flowchart illustrating an example of a procedure for clustering processing of duration values. First, the anomaly detection device 300 determines whether or not the stop condition is satisfied. , into two sets of duration values (D1 and D2) (step S472). Next, the anomaly detection device 300 recursively clusters the duration values of each of the divided sets of duration values (step S474). The anomaly detection device 300 repeatedly divides the set of duration values into two and recursively clusters each divided set of duration values until the stop condition is satisfied. Thereby, the anomaly detection device 300 can generate clusters of a plurality of duration values.

図22は、デュレーション値のクラスタリング処理の一例を示す図である。例えば1~1010[μsec]まで複数のデュレーション値が存在するものとし、停止条件はCV<0.5且つZ<1であるものする。CVは変動係数であり、変動係数は偏差σ/平均μであり、Zは平均から最大乖離度(max|x-μ|/σ)である。異常検知装置300は、複数のデュレーション値を、2つのデュレーション値の集合(D1,D2)に分割し、デュレーション値の集合D1をさらに、2つのデュレーション値の集合(D11,D12)に分割し、デュレーション値の集合D11をさらに2つのデュレーション値の集合(D111,D112)に分割し、デュレーション値の集合D12をさらに2つのデュレーション値の集合(D121,D122)に分割する。この結果、異常検知装置300は、5個のデュレーション値のクラスタに分割することができる。これにより異常検知装置300は、処理前にクラスタ数を設定していなくても、停止条件を満たすクラスタを生成することができる。 FIG. 22 is a diagram illustrating an example of duration value clustering processing. For example, it is assumed that there are a plurality of duration values from 1 to 1010 [μsec], and the stop conditions are CV<0.5 and Z<1. CV is the coefficient of variation, where the coefficient of variation is deviation σ/mean μ, and Z is the maximum divergence from the mean (max|x−μ|/σ). The anomaly detection device 300 divides the plurality of duration values into two duration value sets (D1, D2), further divides the duration value set D1 into two duration value sets (D11, D12), The duration value set D11 is further divided into two duration value sets (D111, D112), and the duration value set D12 is further divided into two duration value sets (D121, D122). As a result, the anomaly detection device 300 can be divided into clusters of five duration values. As a result, the anomaly detection device 300 can generate clusters that satisfy the stop condition even if the number of clusters is not set before processing.

なお、デュレーション値のクラスタリング処理は、デュレーション値の大きさおよびバラツキという複数の条件に基づいてクラスタリングを行えれば、上述したk-meansを利用したクラスタリング処理以外の処理を行ってもよい。例えば、デュレーション値が1000msecと1010msecとを同じクラスタとし、1msecと10msecとで別のクラスタを生成できればよい。 It should be noted that the duration value clustering process may be any process other than the above-described clustering process using k-means as long as clustering can be performed based on a plurality of conditions such as duration value magnitude and variation. For example, duration values of 1000 msec and 1010 msec may be treated as the same cluster, and duration values of 1 msec and 10 msec may generate separate clusters.

(デュレーション値の異常の排除)
図23は、異常値を考慮したデュレーション値のクラスタリングを説明するための図である。異常検知装置300は、デュレーション値の異常値を排除する処理を行うことが望ましい。異常検知装置300は、上述したように日単位で集計したデュレーション値をクラスタリングした後、全学習期間における各クラスタのサンプル数を、ブートストラップ法により所定数に補正する。次に異常検知装置300は日単位の各クラスタのサンプル数を結合すると、学習期間に多く発生しているデュレーション値は多く積み上がり、学習期間における発生数が少ないデュレーション値は積み上がりが少ない。異常検知装置300は、結合後のデュレーション値のうち所定の閾値よりも積み上がりが少ないデュレーション値を切り捨てることを決定する。これにより異常検知装置300は、日単位のデュレーション値から、切り捨て対象のデュレーション値を排除することができる。この結果、異常検知装置300は、学習期間に亘って発生回数が少ないデュレーション値を異常値として排除し、正常値からなるデュレーション値のクラスタを作成することができる。異常検知装置300は、デュレーション値から高い精度で異常値を排除するために、複数回に亘り、日単位のデュレーション値を所定数に補正する処理、学習期間でデュレーション値を積み上げる処理、および所定の閾値よりも少ないデュレーション値を切り捨てる処理を行うことが望ましい。
(Elimination of abnormal duration values)
FIG. 23 is a diagram for explaining clustering of duration values in consideration of abnormal values. It is desirable that the anomaly detection device 300 perform processing for excluding anomalous duration values. After clustering the duration values aggregated on a daily basis as described above, the anomaly detection device 300 corrects the number of samples in each cluster in the entire learning period to a predetermined number by the bootstrap method. Next, when the anomaly detection device 300 combines the number of samples of each cluster on a daily basis, the duration values that occur frequently during the learning period are increased, and the duration values that occur less frequently during the learning period are accumulated less. The anomaly detection device 300 determines to truncate a duration value that accumulates less than a predetermined threshold among the combined duration values. As a result, the anomaly detection device 300 can eliminate the duration values to be rounded down from the daily duration values. As a result, the abnormality detection device 300 can create a cluster of duration values consisting of normal values by excluding duration values that occur less frequently over the learning period as abnormal values. In order to eliminate abnormal values from duration values with high accuracy, anomaly detection device 300 performs a process of correcting daily duration values to a predetermined number, a process of accumulating duration values during a learning period, and a predetermined It is desirable to perform a process of truncating duration values that are less than a threshold.

デュレーション値の異常値はバースト的に発生する場合があるので、学習期間の合計回数ではなく、日単位の発生回数に基づいてデュレーション値が異常であるか否かを判定することが望ましい。しかし、デュレーション値は連続値であるため、デュレーション値に閾値を設けて異常値を判定しようとしても正確に異常値を排除することはできない。そこで、上述したように、日単位でクラスタリングしたデュレーション値の発生回数を学習期間において比較することで、日単位で発生回数が少ないデュレーション値を異常値として排除することができる。また、異常検知装置300は、上述した処理を複数回繰り返すことでデュレーション値の精度を向上させることができる。 Abnormal duration values may occur in bursts, so it is desirable to determine whether or not the duration value is abnormal based on the number of occurrences per day rather than the total number of times during the learning period. However, since the duration value is a continuous value, even if an attempt is made to determine an abnormal value by setting a threshold value for the duration value, the abnormal value cannot be accurately eliminated. Therefore, as described above, by comparing the number of occurrences of duration values clustered on a daily basis during the learning period, it is possible to eliminate duration values with a small number of occurrences on a daily basis as abnormal values. Further, the abnormality detection device 300 can improve the accuracy of the duration value by repeating the above-described processing a plurality of times.

(マルコフモデルの高次化)
図24は、優先マルコフモデルを高次化する処理を説明するための図である。
既知の単純マルコフモデルは1つ前のログメッセージを考慮して次のログメッセージを推定するが、異常検知装置300は、推定精度を向上させるために、2つ前以上のログメッセージを考慮してログメッセージを推定する高次マルコフモデルを作成してよい。しかし、単純マルコフモデルに代えて高次マルコムモデルを適用すると推定精度が落ちてしまう場合がある。特に、メッセージ集合から推定されるシーケンスの長さがかなり長い場合、推定精度の劣化が起きやすい。そこで、異常検知装置300は、高次化する範囲を制限し、優先マルコフモデルのみ高次化する部分高次化処理を行う。
(Higher-order Markov model)
FIG. 24 is a diagram for explaining the process of increasing the order of the prioritized Markov model.
Although the known simple Markov model estimates the next log message considering the log message one before, the anomaly detection device 300 considers the log message two or more before in order to improve the estimation accuracy. A higher order Markov model may be created to estimate the log message. However, if a high-order Malcolm model is applied in place of the simple Markov model, the estimation accuracy may drop. In particular, when the length of the sequence estimated from the message set is considerably long, deterioration of estimation accuracy is likely to occur. Therefore, the anomaly detection device 300 limits the range of order enhancement and performs partial enhancement processing in which only the priority Markov model is enhanced.

異常検知装置300は、優先メッセージを用いて高次マルコフモデル作成処理を行う。異常検知装置300は、下記式のAIC(赤池情報量基準)を用いて次数kを選択し、k次マルコフモデルを作成する。下記の式において、kηmは尤度比統計量(likelihood ratio statistics)であり「-2×(LLk-LLm)」と表現され、LLk(log likelihood for k-order markov chain)は、k次マルコフチェーンの対数尤度であり、LLm(log likelihood for m-order markov chain)は、m次マルコフチェーンの対数尤度であり、S-S(S-1)は、尤度比検定統計量(likelihood ratio test statistics)であり、Sは、もともとの状態数(original number of states)である。。これにより、異常検知装置300は、シーケンスの長さが長くても安定的に高い推定精度を得ることができる。

Figure 0007182586000002
The anomaly detection device 300 uses the priority message to perform higher-order Markov model creation processing. The anomaly detection device 300 selects the order k using the AIC (Akaike Information Criterion) of the following formula and creates a k-order Markov model. In the following formula, kηm is the likelihood ratio statistics expressed as "-2 × (LLk-LLm)", and LLk (log likelihood for k-order markov chain) is the k order Markov chain , LLm (log likelihood for m-order markov chain) is the log likelihood for m-order markov chain, and S m −S k (S−1) is the likelihood ratio test statistic ( likelihood ratio test statistics), and S is the original number of states. . As a result, the anomaly detection device 300 can stably obtain high estimation accuracy even if the length of the sequence is long.
Figure 0007182586000002

[シーケンス推定処理]
図25は、シーケンス推定処理の一例を示すシーケンス図である。
監視対象システム100は、データ処理装置200にログメッセージを送信し、データ処理装置200は、上述したように、ログメッセージから数字が含まれる部分を正規表現により削り(ステップS502)、ログメッセージのインデックスを登録する(ステップS504)。データ処理装置200は、登録したインデックス異常検知装置300に送信し、異常検知装置300は、ログメッセージのインデックスを用いてシーケンスを推定し(ステップS506)、シーケンスを示すシーケンス値をデータ処理装置200に送信する。これにより、データ処理装置200は、シーケンス値を表す情報や、当該シーケンスに関する情報をユーザ端末装置400に提供することができる。
[Sequence estimation process]
FIG. 25 is a sequence diagram illustrating an example of sequence estimation processing.
The monitored system 100 transmits a log message to the data processing device 200, and as described above, the data processing device 200 removes the part including the number from the log message using a regular expression (step S502), and extracts the index of the log message. is registered (step S504). The data processing device 200 transmits to the registered index anomaly detection device 300, the anomaly detection device 300 estimates the sequence using the index of the log message (step S506), and sends the sequence value indicating the sequence to the data processing device 200. Send. Thereby, the data processing device 200 can provide the user terminal device 400 with information representing the sequence value and information about the sequence.

図26は、シーケンス推定処理の処理手順の一例を示すシーケンス図である。異常検知装置300は、先ずログメッセージを取り出し(ステップS510)、シーケンスを推定する。シーケンスの推定は、競合調整済である優先マルコフモデルもしくは競合調整済みでない優先マルコフモデルのいずれか、通常マルコフモデルの順で、マルコフモデルを用いて行う。競合調整済みであるマルコフモデルについては後述する。 FIG. 26 is a sequence diagram illustrating an example of a processing procedure of sequence estimation processing. The anomaly detection device 300 first retrieves the log message (step S510) and estimates the sequence. Sequence estimation is performed using Markov models in the order of either competitively adjusted prior Markov models or non-competitively adjusted prior Markov models, usually Markov models. The conflict-adjusted Markov model will be described later.

まず、異常検知装置300は、競合調整済である優先マルコフモデルもしくは競合調整済みでない優先マルコフモデルのいずれかの作成を行い(ステップS512)、ログメッセージの推定を行う(ステップS513)。異常検知装置300は、競合調整済みである優先マルコフモデルの作成およびログメッセージの推定を、ステップS510で取り出したログメッセージの数分を繰り返して行う。なお、競合調整済みである優先マルコフモデルを用いない場合、競合調整済みである優先マルコフモデルの作成を行わなくてよい。異常検知装置300は、競合調整済である優先マルコフモデルもしくは競合調整済みでない優先マルコフモデルのいずれかを用いてログメッセージの数分を繰り返してシーケンスの推定を行い、通常マルコフモデルを用いてログメッセージの数分を繰り返してシーケンスの推定を行う。 First, the anomaly detection device 300 creates either a conflict-adjusted prioritized Markov model or a conflict-unadjusted prioritized Markov model (step S512), and estimates a log message (step S513). The anomaly detection apparatus 300 repeats the creation of the conflict-adjusted prioritized Markov model and the estimation of the log messages for the number of log messages extracted in step S510. Note that when conflict-adjusted prioritized Markov models are not used, conflict-adjusted prioritized Markov models need not be created. The anomaly detection device 300 repeats the sequence for several minutes of the log messages using either the conflict-adjusted prioritized Markov model or the non-conflict-adjusted prioritized Markov model, and estimates the sequence using the normal Markov model. is repeated for several minutes to estimate the sequence.

図27は、競合調整済みマルコフモデルの作成処理の処理手順の一例を示すフローチャートである。先ず異常検知装置300は、通常マルコフモデルの学習データと優先マルコフモデルの学習データとの間に、時間的に近いログメッセージである共通メッセージが存在するか否かを判定する(ステップS520)。異常検知装置300は、共通メッセージがない場合(ステップS520:NO)、本フローチャートの処理を終了し、共通メッセージがある場合(ステップS520:YES)、ステップS522の処理を行う。ステップS522において、異常検知装置300は、学習データから共通メッセージを除く。次に異常検知装置300は、共通データを除いた学習データを用いて優先マルコフモデルを作成する(ステップS524)。 FIG. 27 is a flowchart illustrating an example of a processing procedure for creating a conflict-adjusted Markov model. First, the anomaly detection device 300 determines whether or not there is a common message, which is a log message close in time, between the learning data of the normal Markov model and the learning data of the priority Markov model (step S520). If there is no common message (step S520: NO), the abnormality detection device 300 ends the process of this flowchart, and if there is a common message (step S520: YES), it performs the process of step S522. In step S522, the anomaly detection device 300 removes common messages from the learning data. Next, the anomaly detection device 300 creates a priority Markov model using the learning data excluding the common data (step S524).

図28は、競合調整済みの優先マルコフモデルの作成処理の一例を説明するための図である。例えば、優先マルコフモデルがログメッセージの集合Xに含まれる優先メッセージにより学習され、通常マルコフモデルがログメッセージの集合Yにより学習されたものとする。上述したように、異常検知装置300は、優先マルコフモデルによりシーケンスを推定した後、通常マルコフモデルによりシーケンスを推定する。 FIG. 28 is a diagram for explaining an example of processing for creating a conflict-adjusted prioritized Markov model. For example, it is assumed that the priority Markov model is trained with the priority messages contained in the set X of log messages, and the normal Markov model is trained with the set Y of log messages. As described above, the anomaly detection device 300 estimates the sequence by the normal Markov model after estimating the sequence by the priority Markov model.

しかし、図28に示すようにログメッセージの集合Xとログメッセージの集合Yとが時間的に重複している場合、ログメッセージの集合Xの優先メッセージX’に含まれるが、ログメッセージの集合Yの優先メッセージY’に含まれないログメッセージMが存在する。この場合、ログメッセージMは、ログメッセージの集合Xに偏っていることになる。そこで、異常検知装置300は、ログメッセージの集合Xおよびログメッセージの集合Yについて優先メッセージから共通メッセージMを除外して優先マルコフモデルの作成を行う。すなわち、異常検知装置300は、メッセージの集合Xに含まれる優先メッセージX’から共通メッセージMを除いた共通メッセージM’を用いて競合調整済みの優先マルコフモデルを作成する。共通メッセージM’は、ログメッセージの集合Xに含まれる優先メッセージX’から、ログメッセージの集合Yとログメッセージの集合Yに含まれる優先メッセージY’との差分に含まれる共通ログメッセージMを除いたログメッセージである。以上のように、異常検知装置300によれば、時間的に近いログメッセージが一方のログメッセージの集合の優先メッセージに偏ることを回避することができる。 However, when log message set X and log message set Y overlap in time as shown in FIG. There is a log message M that is not included in the priority message Y' of . In this case, the log messages M are biased towards the set X of log messages. Therefore, the anomaly detection device 300 creates a priority Markov model by excluding the common message M from the priority messages for the set X of log messages and the set Y of log messages. That is, the anomaly detection device 300 creates a conflict-adjusted prioritized Markov model using the common messages M′ obtained by excluding the common messages M from the prioritized messages X′ included in the message set X. The common message M' is obtained by removing the common log message M included in the difference between the log message set Y and the priority message Y' included in the log message set Y from the priority message X' included in the log message set X. is the log message. As described above, according to the anomaly detection device 300, it is possible to prevent log messages that are close in time from being biased toward priority messages of one set of log messages.

なお、マルコフモデルの作成時に競合調整済みの優先マルコフモデルを作成せずに、シーケンスの推定時に競合調整済みの優先マルコフモデルを作成することが望ましい。マルコフモデルの作成時には、ログメッセージの集合同士が時間的に近いタイミングで発生するか否かを判定する処理を行っていないためである。仮に、マルコフモデルの作成時に、他のマルコフモデルを作成するために用いたログメッセージと時間的に近いことを判定すると、優先メッセージが減少して優先マルコフモデルのシーケンス推定精度が低下するためである。 It is preferable to create a conflict-adjusted prioritized Markov model when estimating a sequence without creating a conflict-adjusted prioritized Markov model when creating a Markov model. This is because when the Markov model is created, the process of determining whether or not sets of log messages occur at timings close to each other is not performed. This is because, if it is determined at the time of creating a Markov model that the log message used to create another Markov model is close in time, priority messages will decrease and the sequence estimation accuracy of the priority Markov model will decrease. .

図29は、ログメッセージについてのシーケンス推定処理の処理手順の一例を示すフローチャートである。まず異常検知装置300は、対象のログメッセージについてシーケンスが推定済であるか否かを判定し(ステップS530)、対象のログメッセージについてシーケンスが推定済である場合には本フローチャートの処理を終了する(ステップS530:YES)。異常検知装置300は、ログメッセージについてのシーケンスが推定済でない場合には(ステップS530:NO)、対象のログメッセージxについてマルコフモデルの状態遷移に合致する、ログメッセージxよりも時系列的に前のログメッセージyを抜き出す(ステップS532)。次に異常検知装置300は、ステップS532においてログメッセージyの候補が存在するか否かを判定する(ステップS534)。異常検知装置300は、ログメッセージyの候補が存在する場合(ステップS534:YES)、ログメッセージxにログメッセージyと同じシーケンス値を付与する(ステップS536)。異常検知装置300は、ログメッセージyの候補が存在しない場合(ステップS534:NO)、ログメッセージxに時間的に最も近いログメッセージを抜き出し、ログメッセージxに、当該抜き出したログメッセージと同じシーケンス値を付与する(ステップS538)。 FIG. 29 is a flowchart illustrating an example of a sequence estimation process procedure for log messages. First, the anomaly detection device 300 determines whether or not the sequence of the target log message has been estimated (step S530), and if the sequence of the target log message has been estimated, the processing of this flowchart ends. (Step S530: YES). If the sequence of the log message has not been estimated (step S530: NO), the anomaly detection device 300 detects the state transition of the Markov model for the target log message x before the log message x in chronological order. is extracted (step S532). Next, in step S532, the anomaly detection device 300 determines whether or not there is a candidate for the log message y (step S534). If there is a candidate for log message y (step S534: YES), anomaly detection device 300 gives log message x the same sequence value as log message y (step S536). If there is no candidate for log message y (step S534: NO), anomaly detection device 300 extracts the log message that is temporally closest to log message x, and assigns the same sequence value as the extracted log message to log message x. is given (step S538).

図30は、優先マルコフモデルおよび通常マルコフモデルを用いたシーケンス推定処理を説明するための図である。
異常検知装置300は、取り出したログメッセージの集合を、優先メッセージと優先メッセージ以外のログメッセージとに分割する。異常検知装置300は、優先メッセージを優先マルコフモデルのみに入力して、優先メッセージに含まれるシーケンスを推定する。次に異常検知装置300は、優先メッセージ以外のログメッセージを通常マルコフモデルに入力して、優先メッセージ以外のログメッセージに含まれるシーケンスを推定する。これにより、異常検知装置300は、優先マルコフモデルによるシーケンス推定結果と、通常マルコフモデルによるシーケンス推定結果とを取得することができる。
FIG. 30 is a diagram for explaining sequence estimation processing using a priority Markov model and a normal Markov model.
The anomaly detection device 300 divides the extracted set of log messages into priority messages and log messages other than priority messages. The anomaly detection device 300 inputs the priority message only to the priority Markov model and estimates the sequence included in the priority message. Next, the anomaly detection device 300 inputs the log messages other than the priority messages into the normal Markov model, and estimates the sequences included in the log messages other than the priority messages. Thereby, the anomaly detection device 300 can acquire the sequence estimation result by the priority Markov model and the sequence estimation result by the normal Markov model.

図31は、シーケンス推定処理の他の一例を示すフローチャートである。異常検知装置300は、デュレーション値を利用して補助的なシーケンス推定を行ってよい。異常検知装置300は、シーケンス推定結果を参照し、複数のシーケンス値が付与されているログメッセージを検索し、シーケンス候補が複数存在するログメッセージが存在するか否かを判定する(ステップS540)。異常検知装置300は、複数のシーケンス値が付与されたログメッセージがない場合は(ステップS540:NO)、シーケンス推定処理を終了する。 FIG. 31 is a flowchart illustrating another example of sequence estimation processing. The anomaly detection device 300 may use the duration value to perform auxiliary sequence estimation. The anomaly detection device 300 refers to the sequence estimation result, searches for log messages with multiple sequence values, and determines whether or not there is a log message with multiple sequence candidates (step S540). If there is no log message to which multiple sequence values have been assigned (step S540: NO), anomaly detection device 300 terminates the sequence estimation process.

異常検知装置300は、複数のシーケンス値が付与されたログメッセージがある場合(ステップS540:YES)、ログメッセージのデュレーション値と、マルコフモデルのデュレーション値とを比較する(ステップS542)。異常検知装置300は、推定されたシーケンスに含まれるログメッセージ間の状態遷移分のデュレーション値を計算し、計算したデュレーション値と、推定された複数のシーケンス値それぞれに対応する複数のマルコフモデルにおけるデュレーション値とを比較する。異常検知装置300は、ログメッセージのシーケンス値と最も近いデュレーション値を持つマルコフモデルに対応するシーケンス値に決定する(ステップS544)。 If there is a log message with a plurality of sequence values (step S540: YES), the anomaly detection device 300 compares the duration value of the log message with the duration value of the Markov model (step S542). The anomaly detection device 300 calculates duration values for state transitions between log messages included in the estimated sequence, and calculates duration values and durations in a plurality of Markov models corresponding to each of the plurality of estimated sequence values. Compare with value. The anomaly detection device 300 determines the sequence value corresponding to the Markov model having the duration value closest to the sequence value of the log message (step S544).

図32は、シーケンスを決定する処理を説明するための図である。例えば、ログメッセージm11、m12、およびm13の順に並ぶメッセージ群(シーケンスS1)が、シーケンスS2およびシーケンスS3であると推定されたとする。この場合、異常検知装置300は、シーケンスS1のデュレーション値d11およびd12を計算し、計算したd11およびd12とシーケンスS2のデュレーション値d21およびd22との差が、計算したd11およびd12とシーケンスS3のデュレーション値d31およびd32との差よりも大きいと判定する。この結果、異常検知装置300は、メッセージ群(シーケンスS1)がシーケンスS3であることを推定することができる。 FIG. 32 is a diagram for explaining the sequence determination process. For example, assume that a group of messages (sequence S1) arranged in order of log messages m11, m12, and m13 is estimated to be sequence S2 and sequence S3. In this case, anomaly detection device 300 calculates duration values d11 and d12 of sequence S1, and the difference between calculated d11 and d12 and duration values d21 and d22 of sequence S2 is the duration of calculated d11 and d12 and sequence S3. It is judged to be larger than the difference between the values d31 and d32. As a result, the anomaly detection device 300 can estimate that the message group (sequence S1) is the sequence S3.

[異常判定処理]
図33は、異常判定処理の処理手順の一例を示すフローチャートである。異常検知装置300は、シーケンス推定処理によりシーケンス値が付与されたログメッセージXの数分を、異常判定処理(ステップS610)を繰り返して行う。異常検知装置300は、異常判定処理により異常であることが判定されたログメッセージXに対応づけて、異常フラグを検知結果蓄積部208に書き込む(ステップS612)。
[Abnormality judgment processing]
FIG. 33 is a flowchart illustrating an example of a processing procedure for abnormality determination processing. The anomaly detection device 300 repeats the anomaly determination process (step S610) for the number of log messages X to which the sequence value is assigned by the sequence estimation process. The abnormality detection device 300 writes an abnormality flag in the detection result accumulation unit 208 in association with the log message X determined to be abnormal by the abnormality determination process (step S612).

図34は、異常判定処理の処理内容の一例を示すフローチャートである。異常検知装置300は、対象とするログメッセージXについて優先マルコフモデルおよび通常マルコフモデルの何れか一つのマルコフモデルに一致するか否かを判定し(ステップS610)、何れか一つのマルコフモデルに一致する場合(ステップS610:YES)、デュレーション値に一致するか否かを判定する(ステップS612)。 FIG. 34 is a flowchart illustrating an example of processing contents of abnormality determination processing. The anomaly detection device 300 determines whether the target log message X matches any one Markov model of the priority Markov model and the normal Markov model (step S610). If so (step S610: YES), it is determined whether or not they match the duration value (step S612).

異常検知装置300は、優先マルコフモデルおよび通常マルコフモデルの何れか一つのマルコフモデルに一致しない場合(ステップS610:NO)、対象とするログメッセージXについての異常フラグをONに設定する(ステップS614)。異常検知装置300は、一致したマルコフモデルにおけるデュレーション値に、対象とするログメッセージXと同じシーケンス値のログメッセージ間のデュレーション値が一致しない場合(ステップS612:NO)、対象とするログメッセージXについての異常フラグをONに設定する(ステップS614)。 If the anomaly detection device 300 does not match any one of the priority Markov model and the normal Markov model (step S610: NO), the anomaly detection device 300 sets the anomaly flag for the target log message X to ON (step S614). . If the duration value in the matched Markov model does not match the duration value between log messages having the same sequence value as the target log message X (step S612: NO), the anomaly detection device 300 is set to ON (step S614).

<実施形態の効果>
以上説明したように、第1実施形態のシーケンス推定システム1によれば、監視対象システム100からログメッセージを収集する収集部(200,300)と、収集部により収集したログメッセージのうち一部のログメッセージを第1の学習データとして学習されたモデルであって、複数のログメッセージを含むシーケンスを推定した結果を出力する優先マルコフモデルと、収集部により収集したログメッセージのうち一部のログメッセージ以外のログメッセージを第2の学習データとして学習されたモデルであって、シーケンスを推定した結果を出力する通常マルコフモデルと、を生成するモデル生成部326と、を備える、学習装置320を実現することができる。このシーケンス推定システム1によれば、優先マルコフモデルおよび通常マルコフモデルによりシーケンス推定を行うことで、監視対象システムの未知な異常や複雑な異常に関連するログメッセージを検知することができる。
<Effects of Embodiment>
As described above, according to the sequence estimation system 1 of the first embodiment, the collection units (200, 300) that collect log messages from the monitoring target system 100 and some of the log messages collected by the collection unit A prioritized Markov model that is trained using log messages as first learning data and outputs a result of estimating a sequence that includes a plurality of log messages, and some of the log messages collected by the collection unit and a model generator 326 that generates a normal Markov model that outputs a result of estimating a sequence, which is a model learned using log messages other than the log messages as second learning data. be able to. According to this sequence estimation system 1, by performing sequence estimation using a priority Markov model and a normal Markov model, it is possible to detect log messages related to unknown anomalies and complex anomalies in the monitored system.

シーケンス推定システム1によれば、優先メッセージ(第1の学習データ)として、一シーケンス当たりの発生数は少ないが、一シーケンス当たりの発生確率が高いログデータの集合であるログメッセージを用いて優先マルコフモデルを作成することができる。シーケンス推定システム1によれば、一つのログメッセージ群の中で繰り返して発生しないが、どのログメッセージ群でも出現するログメッセージを含むシーケンスを推定することができる。 According to the sequence estimation system 1, as priority messages (first learning data), priority Markov Models can be created. According to the sequence estimation system 1, it is possible to estimate a sequence including log messages that do not occur repeatedly in one log message group but appear in any log message group.

シーケンス推定システム1によれば、収集したログメッセージのうち所定のパラメータを削除することでインデックスを加工して登録するので、例えば、数値等のログメッセージの種別に関連がすくない情報を削除することができる。このシーケンス推定システム1によれば、モデル作成のためのログメッセージのクラスタリング等の処理量を抑制することができる。 According to the sequence estimation system 1, since the index is processed and registered by deleting a predetermined parameter from the collected log messages, for example, it is possible to delete information that is less related to the type of the log message, such as numerical values. can. According to this sequence estimation system 1, the amount of processing such as clustering of log messages for model creation can be suppressed.

シーケンス推定システム1によれば、登録したインデックスとして登録されたログメッセージを種別に分類し、分類されたログメッセージの種別を含むログメッセージの集合を推定し、優先マルコフモデルが、推定されたログメッセージの集合のうち一部で学習され、通常マルコフモデルが、推定されたログメッセージの集合のうち一部以外で学習され、これにより、優先マルコフモデルおよび通常マルコフモデルを作成することができる。 According to the sequence estimation system 1, log messages registered as registered indexes are classified into types, a set of log messages including the types of the classified log messages is estimated, and a priority Markov model is applied to the estimated log messages. , and a normal Markov model is trained on a non-portion of the set of estimated log messages, thereby creating a prioritized Markov model and a normal Markov model.

シーケンス推定システム1によれば、インデックスを複数の要素に分割し、インデックスの先頭に近い要素ほど高い重みを付与することでインデックスをベクトル化し、ベクトル化したインデックスを複数のログメッセージの種別のうちいずれかのログメッセージの種別に分類する。これにより、シーケンス推定システム1によれば、ログメッセージの形態素解析や辞書を不要にすることができ、また、異なる言語が混在していてもベクトル化が可能である。さらに、シーケンス推定システム1によれば、インデックスの要素は先頭部分が重要なことが多く、重要度が低い要素はインデックス末尾に存在することが多いという性質を利用してベクトル化することができる。 According to the sequence estimation system 1, the index is divided into a plurality of elements, the index is vectorized by assigning a higher weight to the element closer to the beginning of the index, and the vectorized index is selected from among a plurality of log message types. categorized into one of the log message types. As a result, according to the sequence estimation system 1, morphological analysis of log messages and dictionaries can be eliminated, and vectorization is possible even when different languages are mixed. Furthermore, according to the sequence estimation system 1, vectorization can be performed by utilizing the property that the leading portion of the index element is often important, and the less important element is often present at the end of the index.

シーケンス推定システム1によれば、メッセージ集合推定部により、メッセージ分類部により分類されたログメッセージ種別のうち指定された各ログメッセージ種別に属するログメッセージ群を用いて複数の疑似メッセージ群を生成し、複数の疑似メッセージ群について計算した複数の時系列的な相関係数に基づいて、指定されたログメッセージ種別に属するログメッセージ同士が同じログメッセージの集合であることを推定する。シーケンス推定システム1によれば、ブートストラップ法とアンサンブル法とを組み合わせて時系列的な相関係数を計算することにより時系列的に相関するログメッセージの集合を高い精度で推定することができ、また、高い安定性でログメッセージの相関係数を計算することができる。さらに、ブートストラップ法を用いることで疑似データの数を同じにすることができるので、相関係数同士の比較を容易にすることができる。 According to the sequence estimating system 1, the message set estimating unit generates a plurality of pseudo message groups using log message groups belonging to each designated log message type among the log message types classified by the message classifying unit, Based on a plurality of time-series correlation coefficients calculated for a plurality of pseudo message groups, it is estimated that the log messages belonging to the specified log message type are the same set of log messages. According to the sequence estimation system 1, by calculating the time-series correlation coefficient by combining the bootstrap method and the ensemble method, it is possible to estimate a set of time-series correlated log messages with high accuracy, Also, the correlation coefficient of log messages can be calculated with high stability. Furthermore, since the number of pseudo data can be made the same by using the bootstrap method, it is possible to easily compare the correlation coefficients.

シーケンス推定システム1によれば、メッセージ集合推定部により、メッセージ分類部により分類された全てのログメッセージ種別のうち各ログメッセージ種別に属するログメッセージ群を用いて複数の疑似メッセージ群を生成し、複数の疑似メッセージ群について計算した複数の時系列的な相関係数に基づいて、ログメッセージ種別に属するログメッセージ同士が同じログメッセージの集合であることを推定し、推定したログメッセージの集合のうち包含関係または同時発生関係にある互いのログメッセージ種別のログメッセージを統合する。シーケンス推定システム1によれば、ログメッセージの種別の指定(キー)が分からなくても、時系列的に相関するログメッセージの集合を高い精度で推定することができ、また、高い安定性でログメッセージの相関係数を計算することができ、さらに、シーケンス推定システム1によれば、包含関係または同時発生関係に互いに重複するログメッセージ種別を補正することができる。 According to the sequence estimation system 1, the message set estimation unit generates a plurality of pseudo message groups using log message groups belonging to each log message type among all log message types classified by the message classification unit. Based on multiple time-series correlation coefficients calculated for the pseudo-message group, it is estimated that the log messages belonging to the log message type are the same set of log messages, and the inclusion of the estimated log message set Merge log messages for each other's log message types in a relationship or co-occurrence relationship. According to the sequence estimation system 1, even if the designation (key) of the type of log message is unknown, it is possible to estimate a set of log messages correlated in chronological order with high accuracy. A message correlation coefficient can be calculated, and furthermore, according to the sequence estimation system 1, it is possible to correct log message types that overlap each other in containment or co-occurrence relation.

シーケンス推定システム1によれば、モデル生成部により、優先マルコフモデルに含まれるログメッセージ間の時間差をクラスタリングし、通常マルコフモデルに含まれるログメッセージ間の時間差をクラスタリングすることができる。これにより、シーケンス推定システム1は、シーケンス推定時にクラスタリングしたログメッセージ間の時間差を用いることができ、シーケンスの推定を高い精度で行わせることができる。 According to the sequence estimation system 1, the model generator can cluster time differences between log messages included in the priority Markov model and cluster time differences between log messages included in the normal Markov model. As a result, the sequence estimation system 1 can use the time difference between the clustered log messages when estimating the sequence, and the sequence can be estimated with high accuracy.

シーケンス推定システム1によれば、複数のログメッセージ間の時間差に対し、当該ログメッセージ間の時間差の大きさおよびばらつき考慮した所定の条件を満たすまで、ログメッセージ間の時間差のクラスタリング(分割)を繰り返す。シーケンス推定システム1によれば、ログメッセージ間の時間差について複数条件(値の大きさやばらつき)を考慮してクラスタリングをしたい場合、先にクラスタ数を設定しなくても、所定条件を満たすクラスタを生成することができる。 According to the sequence estimation system 1, clustering (division) of time differences between log messages is repeated until predetermined conditions are satisfied in consideration of the magnitude and variation of time differences between log messages. . According to the sequence estimation system 1, when it is desired to perform clustering considering multiple conditions (magnitude and variation of values) regarding the time difference between log messages, clusters satisfying predetermined conditions are generated without first setting the number of clusters. can do.

シーケンス推定システム1によれば、所定期間単位でログメッセージ間の時間差をクラスタリングした後、学習データが含まれる期間における各クラスタに含まれるデータ数を同数に補正し、所定期間単位のクラスタのデータ数同士を結合した結果に基づいて、クラスタリングされたログメッセージ間の時間差から異常値を排除する。シーケンス推定システム1によれば、例えば結合した結果で最も小さい値のログメッセージ間の時間差を異常値として排除することができる。この結果、シーケンス推定システム1は、正常値のみを含むログメッセージ間の時間差をクラスタリングすることができ、ログメッセージ間の時間差の精度を高くすることができる。 According to the sequence estimation system 1, after clustering the time difference between log messages in units of a predetermined period, the number of data included in each cluster in the period in which learning data is included is corrected to the same number, and the number of data in clusters in units of a predetermined period. Eliminate outliers from the time difference between clustered log messages based on the combined results. According to the sequence estimation system 1, for example, the time difference between log messages with the smallest value in the combined result can be eliminated as an abnormal value. As a result, the sequence estimation system 1 can cluster time differences between log messages containing only normal values, and can increase the accuracy of time differences between log messages.

シーケンス推定システム1によれば、モデル生成部により、優先マルコフモデルについてログメッセージが2以上前のログメッセージに基づいて推定される高次化を行い、通常マルコフモデルについて高次化を行わない。ところで、マルコムモデルの高次化を優先マルコフモデルおよび通常マルコフモデルのすべてに適用してしまうと、推定精度が低下する場合がある。特に、メッセージ集合から推定されるシーケンスの長さが長い場合、推定精度の劣化が起きやすい。そこで、シーケンス推定システム1は、高次化の範囲を制限し、優先マルコフモデルのみ高次化を行う(部分高次化)。これにより、シーケンス推定システム1は、シーケンス長が長い場合でも安定的に高い推定精度を得ることができる。 According to the sequence estimation system 1, the model generating unit increases the order of the priority Markov model by estimating it based on the log message two or more previous log messages, and does not increase the order of the normal Markov model. By the way, if the Malcolm model's higher order is applied to both the priority Markov model and the normal Markov model, the estimation accuracy may be degraded. In particular, when the length of the sequence estimated from the message set is long, deterioration of estimation accuracy is likely to occur. Therefore, the sequence estimation system 1 limits the range of order enhancement, and enhances only the priority Markov model (partial enhancement). Thereby, the sequence estimation system 1 can stably obtain high estimation accuracy even when the sequence length is long.

シーケンス推定システム1によれば、監視対象システム100からログメッセージを収集する収集部と、学習データのうち一部のログメッセージを第1の学習データとして学習された優先マルコフモデルに、収集された複数のログメッセージのうち一部のログメッセージを入力し、優先マルコフモデルの出力に基づいて、複数のログメッセージを含むシーケンスを推定し、学習データのうち第1の学習データ以外のログメッセージを第2の学習データとして学習された通常マルコフモデルに、収集された複数のログメッセージのうち一部のログメッセージ以外のログメッセージを入力し、通常マルコフモデルの出力に基づいて、複数のログメッセージを含むシーケンスを推定する。シーケンス推定システム1によれば、優先マルコフモデルおよび通常マルコフモデルによりシーケンス推定を行うことで、監視対象システムの未知な異常や複雑な異常に関連するログメッセージを検知することができる。 According to the sequence estimation system 1, a collection unit that collects log messages from the monitored system 100, and a priority Markov model trained using some of the log messages of the learning data as the first learning data are stored in the collected multiple input a part of the log messages, estimate a sequence including a plurality of log messages based on the output of the prioritized Markov model, and replace the log messages other than the first learning data among the learning data with the second Log messages other than some of the collected log messages are input to the normal Markov model trained as training data for the normal Markov model, and based on the output of the normal Markov model, a sequence containing multiple log messages to estimate According to the sequence estimation system 1, by performing sequence estimation using the priority Markov model and the normal Markov model, it is possible to detect log messages related to unknown anomalies and complex anomalies in the monitored system.

シーケンス推定システム1によれば、第1の学習データのうち通常マルコフモデルの第2の学習データと時間的に共通する共通データが存在する場合、第1の学習データから共通データを除外した学習データにより優先マルコフモデルを作成する。シーケンス推定システム1によれば、共通メッセージが優先マルコフモデルに偏ることを回避することができる。 According to the sequence estimation system 1, when there is common data that is temporally common to the second learning data of the normal Markov model among the first learning data, learning data obtained by excluding the common data from the first learning data to create a prioritized Markov model. According to the sequence estimation system 1, it is possible to avoid biasing the common message to the priority Markov model.

シーケンス推定システム1によれば、優先マルコフモデルおよび通常マルコフモデルにより推定された結果、複数のシーケンスに属することが推定されたログメッセージが存在する場合、当該ログメッセージに含まれるログメッセージ間の時間差と、優先マルコフモデルまたは通常マルコフモデルに含まれるログメッセージ間の時間差とを比較し、最も近いモデルに対応するシーケンスに決定する。シーケンス推定システム1によれば、複数のマルコフモデルを用いて推定を行った場合でもシーケンスの推定を完了することができる。 According to the sequence estimation system 1, when there are log messages estimated to belong to a plurality of sequences as a result of estimation by the priority Markov model and the normal Markov model, the time difference between the log messages included in the log messages and , the time difference between log messages contained in the preferred Markov model or the normal Markov model, and determine the sequence corresponding to the closest model. According to the sequence estimation system 1, sequence estimation can be completed even when estimation is performed using a plurality of Markov models.

シーケンス推定システム1によれば、優先マルコフモデルおよび通常マルコフモデルにより推定された結果、収集されたログメッセージがシーケンスに属することが推定できない場合、当該ログメッセージの異常を判定することができる。 According to the sequence estimation system 1, when it cannot be estimated that a collected log message belongs to a sequence as a result of estimation by the priority Markov model and the normal Markov model, it is possible to determine that the log message is abnormal.

シーケンス推定システム1によれば、収集されたログメッセージがシーケンスに属することが推定されたが、ログメッセージ間の時間差が優先マルコフモデルまたは通常マルコフモデルに含まれるログメッセージ間の時間差に一致しない場合、当該ログメッセージの異常を判定することができる。 According to the sequence estimation system 1, if the collected log messages are inferred to belong to a sequence, but the time difference between log messages does not match the time difference between log messages contained in the prioritized Markov model or the normal Markov model, Abnormality of the log message can be determined.

なお、各実施形態および変形例について説明したが、一例であってこれらに限られず、例えば、各実施形態や各変形例のうちのいずれかや、各実施形態の一部や各変形例の一部を、他の1または複数の実施形態や他の1または複数の変形例と組み合わせて本発明の一態様を実現させてもよい。 Although each embodiment and modifications have been described, these are only examples and are not limited to these. A section may be combined with one or more other embodiments or one or more other modifications to realize one aspect of the present invention.

なお、本実施形態におけるデータ処理装置200や異常検知装置300の各処理を実行するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、当該記録媒体に記録されたプログラムを、コンピュータシステムに読み込ませ、実行することにより、ユーザ端末装置100やデータ処理装置200に係る上述した種々の処理を行ってもよい。 A program for executing each process of the data processing device 200 and the abnormality detection device 300 in this embodiment is recorded in a computer-readable recording medium, and the program recorded in the recording medium is read into the computer system. The above-described various processes related to the user terminal device 100 and the data processing device 200 may be performed by setting and executing.

なお、ここでいう「コンピュータシステム」とは、OSや周辺機器などのハードウェアを含むものであってもよい。また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリなどの書き込み可能な不揮発性メモリ、CD-ROMなどの可搬媒体、コンピュータシステムに内蔵されるハードディスクなどの記憶装置のことをいう。 Note that the “computer system” referred to here may include hardware such as an OS and peripheral devices. The "computer system" also includes the home page providing environment (or display environment) if the WWW system is used. In addition, "computer-readable recording medium" means writable non-volatile memory such as flexible disk, magneto-optical disk, ROM, flash memory, portable medium such as CD-ROM, hard disk built in computer system, etc. storage device.

さらに「コンピュータ読み取り可能な記録媒体」とは、インターネットなどのネットワークや電話回線などの通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic
Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、このプログラムを記憶装置などに格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。
Furthermore, "computer-readable recording medium" means a volatile memory (e.g., DRAM (Dynamic
Random Access Memory)), which holds a program for a certain period of time. Also, the program may be transmitted from a computer system storing the program in a storage device or the like to another computer system via a transmission medium or by a transmission wave in the transmission medium.

ここで、プログラムを伝送する「伝送媒体」は、インターネットなどのネットワーク(通信網)や電話回線などの通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。 Here, the "transmission medium" for transmitting the program refers to a medium having a function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line. Further, the program may be for realizing part of the functions described above. Further, it may be a so-called difference file (difference program) that can realize the above-described functions in combination with a program already recorded in the computer system.

1 シーケンス推定システム
100 監視対象システム
200 データ処理装置
202 フォーマット変換部
204 データ処理部
206 ログデータ蓄積部
208 検知結果蓄積部
210 可視化部
300 異常検知装置
310 メッセージ登録部
320 学習部
322 メッセージ分類部
324 メッセージ集合推定部
326 モデル作成部
330 推定部
332 シーケンス推定部
334 異常判定部
400 ユーザ端末装置
1 sequence estimation system 100 monitoring target system 200 data processing device 202 format conversion unit 204 data processing unit 206 log data storage unit 208 detection result storage unit 210 visualization unit 300 anomaly detection device 310 message registration unit 320 learning unit 322 message classification unit 324 message Set estimating unit 326 Model creating unit 330 Estimating unit 332 Sequence estimating unit 334 Abnormality determining unit 400 User terminal device

Claims (21)

監視対象システムからログメッセージを収集する収集部と、
前記収集部により収集したログメッセージのうち一部のログメッセージを第1の学習データとして学習されたモデルであって、複数のログメッセージを含むシーケンスを推定した結果を出力する第1のモデルと、前記収集部により収集したログメッセージのうち前記一部のログメッセージ以外のログメッセージを第2の学習データとして学習されたモデルであって、前記シーケンスを推定した結果を出力する第2のモデルと、を生成するモデル生成部と、
を備える、学習装置。
a collector that collects log messages from the monitored system;
a first model trained by using some of the log messages collected by the collection unit as first learning data, the first model outputting a result of estimating a sequence including a plurality of log messages; a second model trained by using log messages other than the part of the log messages collected by the collection unit as second learning data, the second model outputting a result of estimating the sequence; a model generator that generates
A learning device comprising:
前記第1の学習データは、一シーケンス当たりの発生数は少ないが、一シーケンス当たりの発生確率が高いログデータの集合である、
請求項1に記載の学習装置。
The first learning data is a set of log data with a small number of occurrences per sequence but a high probability of occurrence per sequence.
A learning device according to claim 1.
前記収集部により収集したログメッセージのうち所定のパラメータを削除することでインデックスを加工して登録する登録部を備える、請求項1または2に記載の学習装置。 3. The learning device according to claim 1, further comprising a registration unit that processes and registers an index by deleting a predetermined parameter from the log messages collected by the collection unit. 前記登録部によりインデックスとして登録されたログメッセージを種別に分類するメッセージ分類部と、
前記メッセージ分類部により分類された前記ログメッセージの種別を含むログメッセージの集合を推定するメッセージ集合推定部と、を更に備え、
前記第1のモデルは、前記メッセージ集合推定部により推定されたログメッセージの集合のうち一部で学習され、前記第2のモデルは、前記メッセージ集合推定部により推定されたログメッセージの集合のうち一部以外で学習される、
請求項3に記載の学習装置。
a message classification unit that classifies log messages registered as indexes by the registration unit into types;
a message set estimating unit for estimating a set of log messages including the types of the log messages classified by the message classifying unit;
The first model is trained on a part of a set of log messages estimated by the message set estimating unit, and the second model is trained on a set of log messages estimated by the message set estimating unit. learned outside of some
4. A learning device according to claim 3.
前記メッセージ分類部は、前記登録部により登録された前記インデックスを複数の要素に分割し、前記インデックスの先頭に近い要素ほど高い重みを付与することで前記インデックスをベクトル化し、ベクトル化したインデックスを複数のログメッセージの種別のうちいずれかのログメッセージの種別に分類する、
請求項4に記載の学習装置。
The message classifying unit divides the index registered by the registering unit into a plurality of elements, and vectorizes the index by assigning a higher weight to an element closer to the beginning of the index, and divides the vectorized index into a plurality of elements. Classify into one of the log message types of
5. The learning device according to claim 4.
前記メッセージ集合推定部は、前記メッセージ分類部により分類されたログメッセージ種別のうち指定された各ログメッセージ種別に属するログメッセージ群を用いて複数の疑似メッセージ群を生成し、前記複数の疑似メッセージ群について計算した複数の時系列的な相関係数に基づいて、前記指定されたログメッセージ種別に属するログメッセージ同士が同じログメッセージの集合であることを推定する、
請求項4に記載の学習装置。
The message set estimating unit generates a plurality of pseudo message groups using log message groups belonging to each of the log message types specified among the log message types classified by the message classifying unit, and the plurality of pseudo message groups estimating that the log messages belonging to the specified log message type are the same set of log messages based on a plurality of time-series correlation coefficients calculated for
5. The learning device according to claim 4.
前記メッセージ集合推定部は、前記メッセージ分類部により分類された全てのログメッセージ種別のうち各ログメッセージ種別に属するログメッセージ群を用いて複数の疑似メッセージ群を生成し、前記複数の疑似メッセージ群について計算した複数の時系列的な相関係数に基づいて、前記ログメッセージ種別に属するログメッセージ同士が同じログメッセージの集合であることを推定し、推定したログメッセージの集合のうち包含関係または同時発生関係にある互いのログメッセージ種別のログメッセージを統合する、
請求項4に記載の学習装置。
The message set estimating unit generates a plurality of pseudo message groups using log message groups belonging to each log message type among all log message types classified by the message classifying unit. Based on the calculated multiple time-series correlation coefficients, it is estimated that the log messages belonging to the log message type are the same set of log messages, and the inclusive relationship or co-occurrence of the estimated set of log messages is determined. Integrate the log messages of each related log message type,
5. The learning device according to claim 4.
前記モデル生成部は、
前記第1のモデルに含まれるログメッセージ間の時間差をクラスタリングし、
前記第2のモデルに含まれるログメッセージ間の時間差をクラスタリングする、
請求項1から7のうち何れか1項に記載の学習装置。
The model generation unit
clustering time differences between log messages included in the first model;
clustering time differences between log messages included in the second model;
A learning device according to any one of claims 1 to 7.
前記ログメッセージ間の時間差のクラスタリングは、複数のログメッセージ間の時間差に対し、当該ログメッセージ間の時間差の大きさおよびばらつき考慮した所定の条件を満たすまで分割を繰り返す、
請求項8に記載の学習装置。
The clustering of the time differences between log messages repeatedly divides the time differences between a plurality of log messages until a predetermined condition is satisfied in consideration of the magnitude and variation of the time differences between the log messages.
9. A learning device according to claim 8.
前記ログメッセージ間の時間差のクラスタリングは、所定期間単位でログメッセージ間の時間差をクラスタリングした後、学習データが含まれる期間における各クラスタに含まれるデータ数を同数に補正し、所定期間単位のクラスタのデータ数同士を結合した結果に基づいて、クラスタリングされたログメッセージ間の時間差から異常値を排除する、
請求項8または9に記載の学習装置。
The clustering of the time difference between log messages is performed by clustering the time difference between log messages in units of a predetermined period, correcting the number of data contained in each cluster in the period containing the learning data to the same number, and clustering the clusters in units of the predetermined period. Eliminate outliers from the time difference between clustered log messages based on the combined results of the data counts;
10. A learning device according to claim 8 or 9.
前記モデル生成部は、前記第1のモデルについてログメッセージが2以上前のログメッセージに基づいて推定される高次化を行い、前記第2のモデルについて高次化を行わない、
請求項1から10のうち何れか1項に記載の学習装置。
The model generation unit increases the order of the first model by estimating the log message based on the log message two or more years ago, and does not increase the order of the second model.
A learning device according to any one of claims 1 to 10.
監視対象システムからログメッセージを収集する収集部と、
学習データのうち一部のログメッセージを第1の学習データとして学習された第1のモデルに、前記収集部により収集された複数のログメッセージのうち一部のログメッセージを入力し、前記第1のモデルの出力に基づいて、複数のログメッセージを含むシーケンスを推定する第1の推定部と、
前記学習データのうち前記第1の学習データ以外のログメッセージを第2の学習データとして学習された第2のモデルに、前記収集部により収集された複数のログメッセージのうち一部のログメッセージ以外のログメッセージを入力し、前記第2のモデルの出力に基づいて、複数のログメッセージを含むシーケンスを推定する第2の推定部と、
を備える、推定装置。
a collector that collects log messages from the monitored system;
inputting some of the plurality of log messages collected by the collecting unit into a first model trained using some of the log messages of the learning data as first learning data; a first estimator for estimating a sequence containing a plurality of log messages based on the output of the model of
A second model trained using log messages other than the first learning data among the learning data as second learning data, other than some log messages among the plurality of log messages collected by the collecting unit. a second estimator for inputting log messages of and estimating a sequence containing a plurality of log messages based on the output of the second model;
An estimator, comprising:
前記第1の学習データは、一シーケンス当たりの発生数は少ないが、一シーケンス当たりの発生確率が高いログデータの集合である、
請求項12に記載の推定装置。
The first learning data is a set of log data with a small number of occurrences per sequence but a high probability of occurrence per sequence.
The estimation device according to claim 12.
前記第1のモデルの第1の学習データのうち前記第2のモデルの第2の学習データと時間的に共通する共通データが存在する場合、前記第1の学習データから前記共通データを除外した学習データにより前記第1のモデルを作成するモデル作成部を備える、
請求項12または13に記載の推定装置。
When there is common data temporally common to the second learning data of the second model among the first learning data of the first model, the common data is excluded from the first learning data A model creation unit that creates the first model from learning data,
The estimation device according to claim 12 or 13.
前記第1の推定部および前記第2の推定部により推定された結果、複数のシーケンスに属することが推定されたログメッセージが存在する場合、当該ログメッセージに含まれるログメッセージ間の時間差と、前記第1のモデルまたは前記第2のモデルに含まれるログメッセージ間の時間差とを比較し、最も近いモデルに対応するシーケンスに決定するシーケンス決定部を備える、
請求項12から14のうち何れか1項に記載の推定装置。
When there are log messages estimated to belong to a plurality of sequences as a result of estimation by the first estimation unit and the second estimation unit, the time difference between the log messages included in the log messages, and the A sequence determination unit that compares the time difference between log messages included in the first model or the second model and determines the sequence corresponding to the closest model;
The estimating device according to any one of claims 12 to 14.
前記第1の推定部および前記第2の推定部により推定された結果、前記収集部により収集されたログメッセージがシーケンスに属することが推定できない場合、当該ログメッセージの異常を判定する異常判定部を備える、
請求項12から15のうち何れか1項に記載の推定装置。
an abnormality determination unit that determines an abnormality in the log message when it cannot be estimated that the log message collected by the collection unit belongs to a sequence as a result of the estimation by the first estimation unit and the second estimation unit; prepare
The estimating device according to any one of claims 12 to 15.
前記異常判定部は、前記収集部により収集されたログメッセージがシーケンスに属することが推定されたが、前記収集部により収集されたログメッセージ間の時間差が前記第1のモデルまたは前記第2のモデルに含まれるログメッセージ間の時間差に一致しない場合、当該ログメッセージの異常を判定する、請求項16に記載の推定装置。 The anomaly determination unit estimates that the log messages collected by the collection unit belong to a sequence, but the time difference between the log messages collected by the collection unit does not match the first model or the second model. 17. The estimating device according to claim 16, wherein if the time difference between the log messages contained in the log messages does not match, it is determined that the log message is abnormal. 監視対象システムからログメッセージを収集する収集部と、
前記収集部により収集したログメッセージのうち一部のログメッセージを第1の学習データとして学習されたモデルであって、複数のログメッセージを含むシーケンスを推定した結果を出力する第1のモデルと、前記収集部により収集したログメッセージのうち前記一部のログメッセージ以外のログメッセージを第2の学習データとして学習されたモデルであって、前記シーケンスを推定した結果を出力する第2のモデルと、を生成するモデル生成部と、
複数のログメッセージのうち一部のログメッセージを第1の学習データとして学習された第1のモデルであって、前記収集部により収集された複数のログメッセージのうち一部のログメッセージを入力し、前記第1のモデルの出力に基づいて、複数のログメッセージを含むシーケンスを推定する第1の推定部と、
複数のログメッセージのうち前記一部のログメッセージ以外のログメッセージを第2の学習データとして学習された第2のモデルに、前記収集部により収集された複数のログメッセージのうち一部のログメッセージ以外のログメッセージを入力し、前記第2のモデルの出力に基づいて、複数のログメッセージを含むシーケンスを推定する第2の推定部と、
を備える、シーケンス推定システム。
a collector that collects log messages from the monitored system;
a first model trained by using some of the log messages collected by the collection unit as first learning data, the first model outputting a result of estimating a sequence including a plurality of log messages; a second model trained by using log messages other than the part of the log messages collected by the collection unit as second learning data, the second model outputting a result of estimating the sequence; a model generator that generates
A first model trained using some log messages of a plurality of log messages as first learning data, wherein some of the plurality of log messages collected by the collecting unit are input. , a first estimator for estimating a sequence comprising a plurality of log messages based on the output of the first model;
Some of the plurality of log messages collected by the collecting unit are stored in a second model trained using log messages other than the some of the plurality of log messages as second learning data. a second estimator that inputs log messages other than
A sequence estimation system comprising:
監視対象システムからログメッセージを収集するステップと、
収集したログメッセージのうち一部のログメッセージを第1の学習データとして学習されたモデルであって、複数のログメッセージを含むシーケンスを推定した結果を出力する第1のモデルと、収集したログメッセージのうち前記一部のログメッセージ以外のログメッセージを第2の学習データとして学習されたモデルであって、前記シーケンスを推定した結果を出力する第2のモデルと、を生成するステップと、
複数のログメッセージのうち一部のログメッセージを第1の学習データとして学習された第1のモデルであって、収集された複数のログメッセージのうち一部のログメッセージを入力し、前記第1のモデルの出力に基づいて、複数のログメッセージを含むシーケンスを推定するステップと、
複数のログメッセージのうち前記一部のログメッセージ以外のログメッセージを第2の学習データとして学習された第2のモデルに、収集された複数のログメッセージのうち一部のログメッセージ以外のログメッセージを入力し、前記第2のモデルの出力に基づいて、複数のログメッセージを含むシーケンスを推定するステップと、
を備える、シーケンス推定方法。
collecting log messages from the monitored system;
A first model trained using some of the collected log messages as first learning data, the first model outputting a result of estimating a sequence containing a plurality of log messages, and the collected log messages. generating a second model that is trained using log messages other than the part of the log messages as second learning data and that outputs a result of estimating the sequence;
A first model trained by using some log messages of a plurality of log messages as first learning data, wherein some of the collected log messages are input, and the first model estimating a sequence containing a plurality of log messages based on the output of the model of
log messages other than the part of the collected log messages to a second model trained using log messages other than the part of the plurality of log messages as second learning data; and estimating a sequence containing a plurality of log messages based on the output of the second model;
A sequence estimation method comprising:
コンピュータに、
監視対象システムからログメッセージを収集するステップと、
収集したログメッセージのうち一部のログメッセージを第1の学習データとして学習されたモデルであって、複数のログメッセージを含むシーケンスを推定した結果を出力する第1のモデルと、収集したログメッセージのうち前記一部のログメッセージ以外のログメッセージを第2の学習データとして学習されたモデルであって、前記シーケンスを推定した結果を出力する第2のモデルと、を生成するステップと、
を実行させる、プログラム。
to the computer,
collecting log messages from the monitored system;
A first model trained using some of the collected log messages as first learning data, the first model outputting a result of estimating a sequence containing a plurality of log messages, and the collected log messages. generating a second model that is trained using log messages other than the part of the log messages as second learning data and that outputs a result of estimating the sequence;
The program that causes the to run.
コンピュータに、
監視対象システムからログデータを収集するステップと、
複数のログメッセージのうち一部のログメッセージを第1の学習データとして学習された第1のモデルであって、収集された複数のログメッセージのうち一部のログメッセージを入力し、前記第1のモデルの出力に基づいて、複数のログメッセージを含むシーケンスを推定するステップと、
複数のログメッセージのうち前記一部のログメッセージ以外のログメッセージを第2の学習データとして学習された第2のモデルに、収集された複数のログメッセージのうち一部のログメッセージ以外のログメッセージを入力し、前記第2のモデルの出力に基づいて、複数のログメッセージを含むシーケンスを推定するステップと、
を実行させる、プログラム。
to the computer,
collecting log data from the monitored system;
A first model trained by using some log messages of a plurality of log messages as first learning data, wherein some of the collected log messages are input, and the first model estimating a sequence containing a plurality of log messages based on the output of the model of
log messages other than the part of the collected log messages to a second model trained using log messages other than the part of the plurality of log messages as second learning data; and estimating a sequence containing a plurality of log messages based on the output of the second model;
The program that causes the to run.
JP2020169753A 2020-10-07 2020-10-07 LEARNING APPARATUS, ESTIMATION APPARATUS, SEQUENCE ESTIMATION SYSTEM AND METHOD, AND PROGRAM Active JP7182586B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020169753A JP7182586B2 (en) 2020-10-07 2020-10-07 LEARNING APPARATUS, ESTIMATION APPARATUS, SEQUENCE ESTIMATION SYSTEM AND METHOD, AND PROGRAM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020169753A JP7182586B2 (en) 2020-10-07 2020-10-07 LEARNING APPARATUS, ESTIMATION APPARATUS, SEQUENCE ESTIMATION SYSTEM AND METHOD, AND PROGRAM

Publications (2)

Publication Number Publication Date
JP2022061676A JP2022061676A (en) 2022-04-19
JP7182586B2 true JP7182586B2 (en) 2022-12-02

Family

ID=81210648

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020169753A Active JP7182586B2 (en) 2020-10-07 2020-10-07 LEARNING APPARATUS, ESTIMATION APPARATUS, SEQUENCE ESTIMATION SYSTEM AND METHOD, AND PROGRAM

Country Status (1)

Country Link
JP (1) JP7182586B2 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010097342A (en) 2008-10-15 2010-04-30 Toshiba Corp Malfunction detection device and program
JP2011138422A (en) 2009-12-29 2011-07-14 Nippon Telegr & Teleph Corp <Ntt> Device, method and program for detecting behavioral-pattern
WO2018069950A1 (en) 2016-10-13 2018-04-19 日本電気株式会社 Method, system, and program for analyzing logs
JP2019082746A (en) 2017-10-27 2019-05-30 株式会社エヌ・ティ・ティ・データ Abnormal log detection apparatus, method and program for detecting abnormal log
JP2019139556A (en) 2018-02-13 2019-08-22 Necプラットフォームズ株式会社 Maintenance management device, system, and program

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010097342A (en) 2008-10-15 2010-04-30 Toshiba Corp Malfunction detection device and program
JP2011138422A (en) 2009-12-29 2011-07-14 Nippon Telegr & Teleph Corp <Ntt> Device, method and program for detecting behavioral-pattern
WO2018069950A1 (en) 2016-10-13 2018-04-19 日本電気株式会社 Method, system, and program for analyzing logs
JP2019082746A (en) 2017-10-27 2019-05-30 株式会社エヌ・ティ・ティ・データ Abnormal log detection apparatus, method and program for detecting abnormal log
JP2019139556A (en) 2018-02-13 2019-08-22 Necプラットフォームズ株式会社 Maintenance management device, system, and program

Also Published As

Publication number Publication date
JP2022061676A (en) 2022-04-19

Similar Documents

Publication Publication Date Title
CN110321371B (en) Log data anomaly detection method, device, terminal and medium
Bodik et al. Fingerprinting the datacenter: automated classification of performance crises
US10216558B1 (en) Predicting drive failures
US10514974B2 (en) Log analysis system, log analysis method and program recording medium
US8078913B2 (en) Automated identification of performance crisis
US7089250B2 (en) Method and system for associating events
CN110826648B (en) Method for realizing fault detection by utilizing time sequence clustering algorithm
JP6643211B2 (en) Anomaly detection system and anomaly detection method
JP6327234B2 (en) Event analysis device, event analysis system, event analysis method, and event analysis program
CN111459700A (en) Method and apparatus for diagnosing device failure, diagnostic device, and storage medium
US20160055044A1 (en) Fault analysis method, fault analysis system, and storage medium
CN109257383B (en) BGP anomaly detection method and system
JP6714152B2 (en) Analytical apparatus, analytical method and analytical program
CN110471945B (en) Active data processing method, system, computer equipment and storage medium
CN112115965A (en) SVM-based passive operating system identification method, storage medium and equipment
CN112951311A (en) Hard disk fault prediction method and system based on variable weight random forest
Guigou et al. SCHEDA: Lightweight euclidean-like heuristics for anomaly detection in periodic time series
JP7207540B2 (en) LEARNING SUPPORT DEVICE, LEARNING SUPPORT METHOD, AND PROGRAM
CN111291824A (en) Time sequence processing method and device, electronic equipment and computer readable medium
CN111240942A (en) Log abnormity detection method and device
CN107451029A (en) A kind of information processing method and device, equipment
JP7182586B2 (en) LEARNING APPARATUS, ESTIMATION APPARATUS, SEQUENCE ESTIMATION SYSTEM AND METHOD, AND PROGRAM
US12007829B2 (en) Extended dynamic intelligent log analysis tool
JP7335379B1 (en) LEARNING APPARATUS, LEARNING METHOD, AND PROGRAM
JP7335378B1 (en) Message classifier, message classifier method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220210

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

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221116

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221121

R150 Certificate of patent or registration of utility model

Ref document number: 7182586

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150