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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 102
- PWPJGUXAGUPAHP-UHFFFAOYSA-N lufenuron Chemical compound C1=C(Cl)C(OC(F)(F)C(C(F)(F)F)F)=CC(Cl)=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F PWPJGUXAGUPAHP-UHFFFAOYSA-N 0.000 title 1
- 230000008569 process Effects 0.000 claims description 55
- 230000005856 abnormality Effects 0.000 claims description 40
- 230000002159 abnormal effect Effects 0.000 claims description 21
- 238000001514 detection method Methods 0.000 description 147
- 238000012545 processing Methods 0.000 description 120
- 238000010586 diagram Methods 0.000 description 41
- 239000000284 extract Substances 0.000 description 12
- 238000004891 communication Methods 0.000 description 8
- 230000000875 corresponding effect Effects 0.000 description 7
- 239000011159 matrix material Substances 0.000 description 7
- 238000009825 accumulation Methods 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 6
- 238000012800 visualization Methods 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000012423 maintenance Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 5
- 230000007704 transition Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 239000013598 vector Substances 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000003657 Likelihood-ratio test Methods 0.000 description 2
- 230000002547 anomalous effect Effects 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 230000006866 deterioration Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000877 morphologic effect Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
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
しかしながら、上述した保守管理装置は、予め正常シーケンスグループ、異常シーケンスグループ、およびインシデント予兆グループといった情報を事前登録し、ログ情報を監視している。さらに、システムが出力するログは、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.
以下、本発明を適用した学習装置および方法、推定方法および方法、プログラムを、図面を参照して説明する。 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
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
FIG. 2 is a block diagram showing an example of the functional configuration of the
監視対象システム100は、データ処理装置200および異常検知装置300によってログメッセージが監視される情報処理システムである。監視対象システム100は、例えば、各種のサービスを提供するサービスサーバ装置や、ネットワーク網に含まれる多数のネットワークノードの動作状態を管理するネットワーク管理装置等である。ネットワークノードは、例えば、OS(Operation System)、VM(Virtual Machine)、HW(Hardware)、DC(Data Center)などである。監視対象システム100は、所定のトリガに従ってログメッセージをデータ処理装置200に提供する。また、監視対象システム100は、単独で動作するサーバ装置であってよいが、他のサーバ装置と連携して動作する複数のサーバ装置群であってよい。
The monitored
データ処理装置200は、例えば、ログ運用のためのOSS(オープンソースソフトウェア)を実装したコンピュータである。OSSは、例えば、Elasticsearch、Logstash、およびKibanaと称される要素により構成される。データ処理装置200は、例えば、Logstashにより構成されるフォーマット変換部202と、Elasticsearchにより構成されるデータ処理部204と、ログデータ蓄積部206と、検知結果蓄積部208と、Kibanaにより構成される可視化部210とを備える。
The
フォーマット変換部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
フォーマット変換部202は、監視対象システム100から収集したログメッセージのフォーマットを所定のフォーマットに変換する。データ処理部204は、フォーマット変換部202によりフォーマット変換されたログメッセージをログデータ蓄積部206に記憶する。データ処理部204は、異常検知装置300の要求に応じてログデータ蓄積部206から所望のログメッセージを検索し、検索したログメッセージを異常検知装置300に提供する。データ処理部204は、異常検知装置300から提供されたシーケンス推定結果や異常判定結果を検知結果蓄積部208に記憶する。可視化部210は、シーケンス推定結果や異常判定結果をユーザが閲覧可能な可視化データに変換して、ユーザ端末装置400に提供する。
The
ユーザ端末装置400は、例えばパーソナルコンピュータや、スマートフォンやタブレット端末などの端末装置である。ユーザ端末装置400は、例えば監視対象システム100の管理者の操作を受け付け、監視対象システム100の状態や異常に関する情報をデータ処理装置200から取得し、表示処理等を行う。
The
異常検知装置300は、データ処理装置200から取得したログメッセージを分析し、分析結果に基づく情報をデータ処理装置200に提供する情報処理装置である。異常検知装置300は、例えば、メッセージ登録部310と、学習部320と、推定部330とを備える。メッセージ登録部310、学習部320、および推定部330といった機能部は、例えばCPU等のプロセッサがプログラムメモリに格納されたプログラムを実行することにより実現される。なお、本実施形態はメッセージ登録部310を異常検知装置300に搭載する一例について説明するが、メッセージ登録部310の機能は、異常検知装置300に代えてデータ処理装置200に搭載してもよい。
The
メッセージ登録部310は、ログデータ蓄積部206に蓄積されたログメッセージを学習処理および推定処理に用いる情報として登録する。学習部320は、例えばメッセージ分類部322と、メッセージ集合推定部324と、モデル作成部326とを備える。メッセージ分類部322は、ログメッセージの種別を特定し、ログメッセージを分類する。メッセージ集合推定部324は、ログメッセージの集合を推定する。モデル作成部326は、シーケンスを推定するためのモデルを作成する。推定部330は、例えば、シーケンス推定部332と、異常判定部334とを備える。シーケンス推定部332は、一連のログメッセージを含むシーケンスを推定する。一連のログメッセージは、例えば、時系列的に関連した複数のログメッセージである。異常判定部334は、シーケンス推定部332により推定された結果に基づいて異常を判定する。異常検知装置300は、シーケンス推定結果や異常判定結果を、異常検知装置300の分析結果に基づく情報としてデータ処理装置200に提供する。
The
<シーケンス推定システム1の全体処理>
図3は、実施形態におけるシーケンス推定システム1の全体の処理手順を示すフローチャートである。シーケンス推定システム1は、先ず、監視対象システム100から収集したログメッセージを登録する(ステップS100)。このときシーケンス推定システム1は、ログメッセージにタイムスタンプを付加して登録する。タイムスタンプはログメッセージの発生時刻を示す情報である。次にシーケンス推定システム1は、登録したログメッセージを種別で分類する(ステップS200)。次にシーケンス推定システム1は、ログメッセージの集合を推定する(ステップS300)。次にシーケンス推定システム1は、推定モデルを作成する(ステップS400)。ステップS200からステップS400までの処理が、学習フェーズに相当する。
<Overall processing of
FIG. 3 is a flow chart showing the overall processing procedure of the
次にシーケンス推定システム1は、シーケンスを推定する(ステップS500)。シーケンスの推定処理は、定期的なタイミングやログメッセージが所定量だけ蓄積したタイミングなどの所定の条件が成立した場合に開始してよい。次にシーケンス推定システム1は、異常を判定する(ステップS600)。ステップS500およびステップS600は、推定・検知フェーズに属する。なお、シーケンス推定システム1は、シーケンスの異常を判定することなく、シーケンス抽出結果だけをデータ処理装置200に提供してもよい。また、シーケンス推定システム1は、シーケンス推定タイミング、異常判定タイミングや、異常のレベルなどを監視対象システム100に応じて変更してもよい。また、シーケンス推定システム1は、監視対象システム100から随時供給されるログメッセージを用いて、学習フェーズと推定・検知フェーズを並行して実行してよい。
以下、ステップS100からステップS600までの各処理を詳細に説明する。
Next, the
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
図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
これにより、シーケンス推定システム1は、メッセージ分類処理における教師なし学習であるクラスタリング法(DBSCAN(Density-Based Spatial Clustering of Applications with Noise ))の計算量を削減することができる。すなわち、シーケンス推定システム1は、全てのログメッセージではなく、一部のログメッセージを処理すればよくなり、ログメッセージが発生してからシーケンス推定や異常判定までの時間を短縮することができる。さらに、シーケンス推定システム1は、ミドルウェアとしてのデータ処理装置200でログメッセージの登録を行ってもよいが、この場合、ログメッセージの収集からメッセージ登録までのリアルタイムに行うことができ、登録されたメッセージを用いた分析処理を迅速に行うことができる。
Thereby, the
[メッセージ分類処理]
図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
図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
[メッセージ集合推定処理]
メッセージ集合推定処理は、ログメッセージ種別に含まれるログメッセージの集合を特定する処理である。ログメッセージ種別は、一連の動作や異常といった同じ機会で出現するものが多いため、同じ機会で出現するログメッセージが集合を形成するものとする。なお、実施形態において、「ログメッセージの集合」を、「ログメッセージのシーケンス」と読み替えてよい。メッセージ集合推定処理は、ログメッセージの集合のキーとなるログメッセージ種別を指定する種別指定処理と、キーを指定しない処理である自動推定処理の少なくとも一方を含む。
[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
先ず異常検知装置300は、データ処理装置200から、決定したログメッセージXの発生時刻のリストを取得する(ステップS304)。次に異常検知装置300は、ステップS306からステップS316までのブートストラップ法を、規定回数だけ繰り返す。規定回数は、ブートストラップ法により作成する疑似データの数に相当する。図9は、相関係数を計算する処理の一例を説明するための図である。異常検知装置300は、ログメッセージXをオリジナルデータとして用いて、例えば3個の疑似データ(1)~(3)を含む疑似データセットを生成する。本例において、規定回数は「3」であり、疑似データごとに相関係数を計算する。
First, the
異常検知装置300は、発生時刻リストから所定数の発生時刻Tを取得し(ステップS306)、相関係数の計算用の行列Mを作成する(ステップS308)。次に異常検知装置300は、取得した全ての発生時刻Tについて、ステップS310からステップS314までの処理を繰り返す。異常検知装置300は、発生時刻Tから所定期間内に出現するログメッセージYを取得し(ステップS310)、行列Mの発生時刻Tの行とログメッセージY’の各列との対応箇所に1をマークし(ステップS312)、行列Mの発生時刻Tの行とログメッセージY以外の各列との対応箇所に0をマークする(ステップS314)。
The
次に異常検知装置300は、行列Mを用いて、ログメッセージXとログメッセージYの相互の時系列的な相関度合いを表す相関係数Cを計算する(ステップS316)。異常検知装置300は、疑似データ(1)~(3)のそれぞれについて、下記の式により相関係数C(1)~C(3)を計算する。下記式においてx、yは疑似データにおける所定期間内の2つのログメッセージX,Yであり、nはデータ数であり、xバーはxの相加平均であり、yバーはyの相加平均であり、相関係数は、標本共分散を標本標準偏差で除算することにより算出される。
次に異常検知装置300は、相関係数Cの平均値C’を計算し(ステップS318)、相関係数Cの平均値C’が所定値以上のログメッセージ種別Zを取り出す(ステップS320)。これにより、異常検知装置300は、ログメッセージXのそれぞれについて、当該ログメッセージXと時系列的な相関が高いログメッセージ種別Zを取得する。
Next, the
次に異常検知装置300は、ステップS302から自動推定処理を実行しているか否かを判定する(ステップS322)。異常検知装置300は、自動推定処理を実行していない場合(ステップS322:NO)、本処理を終了する。異常検知装置300は、自動推定処理を実行している場合(ステップS322:YES)、ログメッセージ種別Zと包含関係にある他のログメッセージ種別を統合する処理を、全てのログメッセージ種別Zについて実行する(ステップS324)。次に異常検知装置300は、ログメッセージ種別Zと同時発生関係にある他のログメッセージ種別を統合する処理を、全てのログメッセージ種別Zについて実行する(ステップS326)。
Next, the
図10は、メッセージ集合推定処理における自動推定処理を説明するための図である。異常検知装置300は、ログメッセージ種別に含まれるログメッセージを用いてブートストラップ法を利用した疑似データセットの作成、およびアンサンブル法を利用した相関係数の算出処理を行う。これにより、異常検知装置300は、行数がログメッセージ種別数であり且つ列数がログメッセージ種別数である、相関係数のマトリクスを作成する。
FIG. 10 is a diagram for explaining automatic estimation processing in message set estimation processing. The
異常検知装置300は、時系列的に相関係数が高いログメッセージの集合であっても、実質的に重複するログメッセージの集合が含まれるために、補正を行う。異常検知装置300は、包含関係にあるログメッセージの集合同士を、同じログメッセージ種別に補正する。図11は、包含関係にあるログメッセージの集合の一例を示す図である。例えば、メッセージNo.406のログメッセージの集合と、メッセージNo.418のログメッセージの集合とはログメッセージの番号(405,404,407)が包含関係にある。包含関係とは、一方のログメッセージの集合が他方のログメッセージの集合を含む関係である。異常検知装置300は、包含関係にあるログメッセージの集合同士を同じログメッセージ種別として補正(統合)する。
The
異常検知装置300は、同時発生関係にあるログメッセージの集合同士を同じログメッセージ種別に補正する。図12は、同時発生関係にあるログメッセージの集合の一例を示す図である。例えば、メッセージNo.406のログメッセージの集合と、メッセージNo.418のログメッセージの集合とは同じ時刻に発生している。同時発生関係とは、時間的に同じタイミングで発生するログメッセージ集合同士の関係である。異常検知装置300は、同時発生関係にあるログメッセージの集合同士を同じログメッセージ種別として補正(統合)する。
The
[モデル作成処理]
図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
異常検知装置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
The
異常検知装置300は、図15に示すように、モデル作成処理において、ステップS420からステップS424までの処理をメッセージ集合数分だけ繰り返す。図16は、通常マルコフモデルおよび優先マルコフモデルの作成処理の一例を示す図である。
異常検知装置300は、先ず、ログメッセージLの集合を学習データとして通常マルコフモデルMを作成する(ステップS420)。通常マルコフモデルMは、例えば、シーケンスを構成するログメッセージと、当該ログメッセージ間の遷移確率を表す情報とを含む。異常検知装置300は、学習データをマルコフモデルの機械学習アルゴリズムに入力し、機械学習アルゴリズムの出力誤差を最小にするように機械学習アルゴリズムのパラメータを調整する。次に異常検知装置300は、作成した通常マルコフモデルMに含まれる各ログメッセージのデュレーション値を算出する(ステップS422)。デュレーション値とは、ログメッセージ間の時間差を表す情報である。図17は、デュレーション値の一例を示す図である。次に異常検知装置300は、ログメッセージLのうち優先メッセージを学習データとして優先モデルを作成する(ステップS424)。
As shown in FIG. 15, the
The
図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
(優先モデルの作成)
図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;
次に異常検知装置300は、出現確率Cの平均値C’を算出し(ステップS436)、出現確率平均値C’が所定値以上のログメッセージ種別Zを取り出し(ステップS437)、対象のログメッセージの集合Xの学習データLからログメッセージ種別ZのメッセージL’’’を抜き出す(ステップS440)。次に異常検知装置300は、学習データL’’’からAICを算出し、学習データL’’’からn次マルコフモデルM’を作成する(ステップS444)。次に異常検知装置300は、作成したマルコフモデルM’に含まれる各ログメッセージのデュレーション値を算出する(ステップS446)。
Next, the
(デュレーション値の算出)
図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
先ず異常検知装置300は、ブートストラップ法およびアンサンブル法によって所定数だけ、ステップS450~ステップS458の処理を繰り返す。異常検知装置300は、日単位でデュレーション値を集計する処理として学習期間の日数分、ステップS450~ステップS454を繰り返す。まず、異常検知装置300は、対象とする状態遷移における対象とする日のデュレーション値を、学習データから抜き出し(ステップS450)、デュレーション値のクラスタリングを行う(ステップS452)。次に異常検知装置300は、デュレーション値の各クラスタから所定数のデュレーション値Cを取り出す(ステップS454)。次に異常検知装置300は、デュレーション値Cの集合をクラスタリングする(ステップS456)。次に異常検知装置300は、デュレーション値Cのクラスタのうちデュレーション値が所定数以下のクラスタを破棄する(ステップS458)。
First, the
次に異常検知装置300は、デュレーション値C’の集合をクラスタリングし(ステップS460)、デュレーション値C’のクラスタの平均および偏差を算出する(ステップS462)。
Next, the
(デュレーション値のクラスタリング)
図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
図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
なお、デュレーション値のクラスタリング処理は、デュレーション値の大きさおよびバラツキという複数の条件に基づいてクラスタリングを行えれば、上述した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
デュレーション値の異常値はバースト的に発生する場合があるので、学習期間の合計回数ではなく、日単位の発生回数に基づいてデュレーション値が異常であるか否かを判定することが望ましい。しかし、デュレーション値は連続値であるため、デュレーション値に閾値を設けて異常値を判定しようとしても正確に異常値を排除することはできない。そこで、上述したように、日単位でクラスタリングしたデュレーション値の発生回数を学習期間において比較することで、日単位で発生回数が少ないデュレーション値を異常値として排除することができる。また、異常検知装置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
(マルコフモデルの高次化)
図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
異常検知装置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次マルコフチェーンの対数尤度であり、Sm-Sk(S-1)は、尤度比検定統計量(likelihood ratio test statistics)であり、Sは、もともとの状態数(original number of states)である。。これにより、異常検知装置300は、シーケンスの長さが長くても安定的に高い推定精度を得ることができる。
[シーケンス推定処理]
図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
図26は、シーケンス推定処理の処理手順の一例を示すシーケンス図である。異常検知装置300は、先ずログメッセージを取り出し(ステップS510)、シーケンスを推定する。シーケンスの推定は、競合調整済である優先マルコフモデルもしくは競合調整済みでない優先マルコフモデルのいずれか、通常マルコフモデルの順で、マルコフモデルを用いて行う。競合調整済みであるマルコフモデルについては後述する。
FIG. 26 is a sequence diagram illustrating an example of a processing procedure of sequence estimation processing. The
まず、異常検知装置300は、競合調整済である優先マルコフモデルもしくは競合調整済みでない優先マルコフモデルのいずれかの作成を行い(ステップS512)、ログメッセージの推定を行う(ステップS513)。異常検知装置300は、競合調整済みである優先マルコフモデルの作成およびログメッセージの推定を、ステップS510で取り出したログメッセージの数分を繰り返して行う。なお、競合調整済みである優先マルコフモデルを用いない場合、競合調整済みである優先マルコフモデルの作成を行わなくてよい。異常検知装置300は、競合調整済である優先マルコフモデルもしくは競合調整済みでない優先マルコフモデルのいずれかを用いてログメッセージの数分を繰り返してシーケンスの推定を行い、通常マルコフモデルを用いてログメッセージの数分を繰り返してシーケンスの推定を行う。
First, the
図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
図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
しかし、図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
なお、マルコフモデルの作成時に競合調整済みの優先マルコフモデルを作成せずに、シーケンスの推定時に競合調整済みの優先マルコフモデルを作成することが望ましい。マルコフモデルの作成時には、ログメッセージの集合同士が時間的に近いタイミングで発生するか否かを判定する処理を行っていないためである。仮に、マルコフモデルの作成時に、他のマルコフモデルを作成するために用いたログメッセージと時間的に近いことを判定すると、優先メッセージが減少して優先マルコフモデルのシーケンス推定精度が低下するためである。 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
図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
図31は、シーケンス推定処理の他の一例を示すフローチャートである。異常検知装置300は、デュレーション値を利用して補助的なシーケンス推定を行ってよい。異常検知装置300は、シーケンス推定結果を参照し、複数のシーケンス値が付与されているログメッセージを検索し、シーケンス候補が複数存在するログメッセージが存在するか否かを判定する(ステップS540)。異常検知装置300は、複数のシーケンス値が付与されたログメッセージがない場合は(ステップS540:NO)、シーケンス推定処理を終了する。
FIG. 31 is a flowchart illustrating another example of sequence estimation processing. The
異常検知装置300は、複数のシーケンス値が付与されたログメッセージがある場合(ステップS540:YES)、ログメッセージのデュレーション値と、マルコフモデルのデュレーション値とを比較する(ステップS542)。異常検知装置300は、推定されたシーケンスに含まれるログメッセージ間の状態遷移分のデュレーション値を計算し、計算したデュレーション値と、推定された複数のシーケンス値それぞれに対応する複数のマルコフモデルにおけるデュレーション値とを比較する。異常検知装置300は、ログメッセージのシーケンス値と最も近いデュレーション値を持つマルコフモデルに対応するシーケンス値に決定する(ステップS544)。
If there is a log message with a plurality of sequence values (step S540: YES), the
図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,
[異常判定処理]
図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
図34は、異常判定処理の処理内容の一例を示すフローチャートである。異常検知装置300は、対象とするログメッセージXについて優先マルコフモデルおよび通常マルコフモデルの何れか一つのマルコフモデルに一致するか否かを判定し(ステップS610)、何れか一つのマルコフモデルに一致する場合(ステップS610:YES)、デュレーション値に一致するか否かを判定する(ステップS612)。
FIG. 34 is a flowchart illustrating an example of processing contents of abnormality determination processing. The
異常検知装置300は、優先マルコフモデルおよび通常マルコフモデルの何れか一つのマルコフモデルに一致しない場合(ステップS610:NO)、対象とするログメッセージXについての異常フラグをONに設定する(ステップS614)。異常検知装置300は、一致したマルコフモデルにおけるデュレーション値に、対象とするログメッセージXと同じシーケンス値のログメッセージ間のデュレーション値が一致しない場合(ステップS612:NO)、対象とするログメッセージXについての異常フラグをONに設定する(ステップS614)。
If the
<実施形態の効果>
以上説明したように、第1実施形態のシーケンス推定システム1によれば、監視対象システム100からログメッセージを収集する収集部(200,300)と、収集部により収集したログメッセージのうち一部のログメッセージを第1の学習データとして学習されたモデルであって、複数のログメッセージを含むシーケンスを推定した結果を出力する優先マルコフモデルと、収集部により収集したログメッセージのうち一部のログメッセージ以外のログメッセージを第2の学習データとして学習されたモデルであって、シーケンスを推定した結果を出力する通常マルコフモデルと、を生成するモデル生成部326と、を備える、学習装置320を実現することができる。このシーケンス推定システム1によれば、優先マルコフモデルおよび通常マルコフモデルによりシーケンス推定を行うことで、監視対象システムの未知な異常や複雑な異常に関連するログメッセージを検知することができる。
<Effects of Embodiment>
As described above, according to the
シーケンス推定システム1によれば、優先メッセージ(第1の学習データ)として、一シーケンス当たりの発生数は少ないが、一シーケンス当たりの発生確率が高いログデータの集合であるログメッセージを用いて優先マルコフモデルを作成することができる。シーケンス推定システム1によれば、一つのログメッセージ群の中で繰り返して発生しないが、どのログメッセージ群でも出現するログメッセージを含むシーケンスを推定することができる。
According to the
シーケンス推定システム1によれば、収集したログメッセージのうち所定のパラメータを削除することでインデックスを加工して登録するので、例えば、数値等のログメッセージの種別に関連がすくない情報を削除することができる。このシーケンス推定システム1によれば、モデル作成のためのログメッセージのクラスタリング等の処理量を抑制することができる。
According to the
シーケンス推定システム1によれば、登録したインデックスとして登録されたログメッセージを種別に分類し、分類されたログメッセージの種別を含むログメッセージの集合を推定し、優先マルコフモデルが、推定されたログメッセージの集合のうち一部で学習され、通常マルコフモデルが、推定されたログメッセージの集合のうち一部以外で学習され、これにより、優先マルコフモデルおよび通常マルコフモデルを作成することができる。
According to the
シーケンス推定システム1によれば、インデックスを複数の要素に分割し、インデックスの先頭に近い要素ほど高い重みを付与することでインデックスをベクトル化し、ベクトル化したインデックスを複数のログメッセージの種別のうちいずれかのログメッセージの種別に分類する。これにより、シーケンス推定システム1によれば、ログメッセージの形態素解析や辞書を不要にすることができ、また、異なる言語が混在していてもベクトル化が可能である。さらに、シーケンス推定システム1によれば、インデックスの要素は先頭部分が重要なことが多く、重要度が低い要素はインデックス末尾に存在することが多いという性質を利用してベクトル化することができる。
According to the
シーケンス推定システム1によれば、メッセージ集合推定部により、メッセージ分類部により分類されたログメッセージ種別のうち指定された各ログメッセージ種別に属するログメッセージ群を用いて複数の疑似メッセージ群を生成し、複数の疑似メッセージ群について計算した複数の時系列的な相関係数に基づいて、指定されたログメッセージ種別に属するログメッセージ同士が同じログメッセージの集合であることを推定する。シーケンス推定システム1によれば、ブートストラップ法とアンサンブル法とを組み合わせて時系列的な相関係数を計算することにより時系列的に相関するログメッセージの集合を高い精度で推定することができ、また、高い安定性でログメッセージの相関係数を計算することができる。さらに、ブートストラップ法を用いることで疑似データの数を同じにすることができるので、相関係数同士の比較を容易にすることができる。
According to the
シーケンス推定システム1によれば、メッセージ集合推定部により、メッセージ分類部により分類された全てのログメッセージ種別のうち各ログメッセージ種別に属するログメッセージ群を用いて複数の疑似メッセージ群を生成し、複数の疑似メッセージ群について計算した複数の時系列的な相関係数に基づいて、ログメッセージ種別に属するログメッセージ同士が同じログメッセージの集合であることを推定し、推定したログメッセージの集合のうち包含関係または同時発生関係にある互いのログメッセージ種別のログメッセージを統合する。シーケンス推定システム1によれば、ログメッセージの種別の指定(キー)が分からなくても、時系列的に相関するログメッセージの集合を高い精度で推定することができ、また、高い安定性でログメッセージの相関係数を計算することができ、さらに、シーケンス推定システム1によれば、包含関係または同時発生関係に互いに重複するログメッセージ種別を補正することができる。
According to the
シーケンス推定システム1によれば、モデル生成部により、優先マルコフモデルに含まれるログメッセージ間の時間差をクラスタリングし、通常マルコフモデルに含まれるログメッセージ間の時間差をクラスタリングすることができる。これにより、シーケンス推定システム1は、シーケンス推定時にクラスタリングしたログメッセージ間の時間差を用いることができ、シーケンスの推定を高い精度で行わせることができる。
According to the
シーケンス推定システム1によれば、複数のログメッセージ間の時間差に対し、当該ログメッセージ間の時間差の大きさおよびばらつき考慮した所定の条件を満たすまで、ログメッセージ間の時間差のクラスタリング(分割)を繰り返す。シーケンス推定システム1によれば、ログメッセージ間の時間差について複数条件(値の大きさやばらつき)を考慮してクラスタリングをしたい場合、先にクラスタ数を設定しなくても、所定条件を満たすクラスタを生成することができる。
According to the
シーケンス推定システム1によれば、所定期間単位でログメッセージ間の時間差をクラスタリングした後、学習データが含まれる期間における各クラスタに含まれるデータ数を同数に補正し、所定期間単位のクラスタのデータ数同士を結合した結果に基づいて、クラスタリングされたログメッセージ間の時間差から異常値を排除する。シーケンス推定システム1によれば、例えば結合した結果で最も小さい値のログメッセージ間の時間差を異常値として排除することができる。この結果、シーケンス推定システム1は、正常値のみを含むログメッセージ間の時間差をクラスタリングすることができ、ログメッセージ間の時間差の精度を高くすることができる。
According to the
シーケンス推定システム1によれば、モデル生成部により、優先マルコフモデルについてログメッセージが2以上前のログメッセージに基づいて推定される高次化を行い、通常マルコフモデルについて高次化を行わない。ところで、マルコムモデルの高次化を優先マルコフモデルおよび通常マルコフモデルのすべてに適用してしまうと、推定精度が低下する場合がある。特に、メッセージ集合から推定されるシーケンスの長さが長い場合、推定精度の劣化が起きやすい。そこで、シーケンス推定システム1は、高次化の範囲を制限し、優先マルコフモデルのみ高次化を行う(部分高次化)。これにより、シーケンス推定システム1は、シーケンス長が長い場合でも安定的に高い推定精度を得ることができる。
According to the
シーケンス推定システム1によれば、監視対象システム100からログメッセージを収集する収集部と、学習データのうち一部のログメッセージを第1の学習データとして学習された優先マルコフモデルに、収集された複数のログメッセージのうち一部のログメッセージを入力し、優先マルコフモデルの出力に基づいて、複数のログメッセージを含むシーケンスを推定し、学習データのうち第1の学習データ以外のログメッセージを第2の学習データとして学習された通常マルコフモデルに、収集された複数のログメッセージのうち一部のログメッセージ以外のログメッセージを入力し、通常マルコフモデルの出力に基づいて、複数のログメッセージを含むシーケンスを推定する。シーケンス推定システム1によれば、優先マルコフモデルおよび通常マルコフモデルによりシーケンス推定を行うことで、監視対象システムの未知な異常や複雑な異常に関連するログメッセージを検知することができる。
According to the
シーケンス推定システム1によれば、第1の学習データのうち通常マルコフモデルの第2の学習データと時間的に共通する共通データが存在する場合、第1の学習データから共通データを除外した学習データにより優先マルコフモデルを作成する。シーケンス推定システム1によれば、共通メッセージが優先マルコフモデルに偏ることを回避することができる。
According to the
シーケンス推定システム1によれば、優先マルコフモデルおよび通常マルコフモデルにより推定された結果、複数のシーケンスに属することが推定されたログメッセージが存在する場合、当該ログメッセージに含まれるログメッセージ間の時間差と、優先マルコフモデルまたは通常マルコフモデルに含まれるログメッセージ間の時間差とを比較し、最も近いモデルに対応するシーケンスに決定する。シーケンス推定システム1によれば、複数のマルコフモデルを用いて推定を行った場合でもシーケンスの推定を完了することができる。
According to the
シーケンス推定システム1によれば、優先マルコフモデルおよび通常マルコフモデルにより推定された結果、収集されたログメッセージがシーケンスに属することが推定できない場合、当該ログメッセージの異常を判定することができる。
According to the
シーケンス推定システム1によれば、収集されたログメッセージがシーケンスに属することが推定されたが、ログメッセージ間の時間差が優先マルコフモデルまたは通常マルコフモデルに含まれるログメッセージ間の時間差に一致しない場合、当該ログメッセージの異常を判定することができる。
According to the
なお、各実施形態および変形例について説明したが、一例であってこれらに限られず、例えば、各実施形態や各変形例のうちのいずれかや、各実施形態の一部や各変形例の一部を、他の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
なお、ここでいう「コンピュータシステム」とは、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
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に記載の学習装置。 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に記載の学習装置。 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から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:
請求項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.
請求項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.
請求項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.
請求項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の学習データとして学習されたモデルであって、複数のログメッセージを含むシーケンスを推定した結果を出力する第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.
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)
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 |
-
2020
- 2020-10-07 JP JP2020169753A patent/JP7182586B2/en active Active
Patent Citations (5)
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 |