時間の経過とともにパターンを見つけたり、類似点を分析したりしようとしているログラインがあります。
各ログラインは次のように分類できます。
- タイムスタンプ
- モジュール/機能
- ペイロード (つまり、実際のログ メッセージ)。
ログラインのセットで類似点を見つけるためのアルゴリズム的アプローチはありますか?
文字列を比較するためのレーベンシュタイン距離などについては知っていますが、ログファイル全体を実行するために使用できるより一般的なアプローチを望んでいましたか?
これに対する万能の解決策はおそらくありません (ある場合は教えてください!) - しかし、正しい方向へのポインター、または詳細情報を探すことができる場所は素晴らしいでしょう.
編集 - ログラインの種類の例
11:30:00.028747923 [Debug ] [Skywalker] [BuyOrNot] session(server1) animal_type(cats) simpleprice(21643.5) complexprice(21641.9 - 21645.1) supercomplexprice(21641.9 - 21644.1)
11:30:00.028882087 [Debug ] [Skywalker] [BuyOrNot] session(server1) animal_type(cats) simpleprice(21643.2) complexprice(21643.2 - 21643.2) supercomplexprice(21643.2 - 21643.2)
11:30:00.039708519 [Debug ] [Skywalker] [BuyOrNot] session(server1) animal_type(cats) simpleprice(10465.8) complexprice(10465.8 - 10465.8) supercomplexprice(10465.8 - 10465.8)
11:30:00.039718896 [Debug ] [Skywalker] [BuyOrNot] session(server1) animal_type(cats) simpleprice(10466.5) complexprice(10465.9 - 10467.1) supercomplexprice(10465.9 - 10466.7)
11:30:00.040049452 [Debug ] [Skywalker] [BuyOrNot] session(server1) animal_type(cats) simpleprice(-0.184) complexprice(-0.184 - -0.184) supercomplexprice(-0.184 - -0.184)
11:30:00.704976265 [Debug ] [Skywalker] [SetChickenParameter] composite(wheatbag) leg(MARKET:388, 10456) legParams updated
11:30:00.704984746 [Info ] [Skywalker] [OnCompositeLegVolatileParamsSetMessage] client(f1_ar_cmp_hk_tko_061), composite(wheatbag) composite leg(ID={Market="MARKET" Feedcode="386"} Identifier=10455) params(bidPrice=0 askPrice=0)
11:30:00.704992314 [Debug ] [Skywalker] [SetChickenParameter] composite(wheatbag) leg(MARKET:386, 10455) legParams updated
11:30:00.704995811 [Info ] [Skywalker] [OnCompositeLegVolatileParamsSetMessage] client(f1_ar_cmp_hk_tko_061), composite(wheatbag) composite leg(ID={Market="MARKET" Feedcode="1171"} Identifier=16262) params(bidPrice=0 askPrice=0)
11:30:00.705002094 [Debug ] [Skywalker] [SetChickenParameter] composite(wheatbag) leg(MARKET:1171, 16262) legParams updated
11:30:00.705004666 [Info ] [Skywalker] [OnCompositeLegVolatileParamsSetMessage] client(f1_ar_cmp_hk_tko_061), composite(wheatbag) composite leg(ID={Market="MARKET" Feedcode="883"} Identifier=10463) params(bidPrice=0 askPrice=0)
11:30:00.705010516 [Debug ] [Skywalker] [SetChickenParameter] composite(wheatbag) leg(MARKET:883, 10463) legParams updated
11:30:00.705012997 [Info ] [Skywalker] [OnCompositeLegVolatileParamsSetMessage] client(f1_ar_cmp_hk_tko_061), composite(wheatbag) composite leg(ID={Market="MARKET" Feedcode="3968"} Identifier=10457) params(bidPrice=0 askPrice=0)
11:30:00.705018983 [Debug ] [Skywalker] [SetChickenParameter] composite(wheatbag) leg(MARKET:3968, 10457) legParams updated
さまざまな種類のログファイルに一致するように、さまざまな正規表現のある種の辞書を作成し、各種類の変数ポイントを見つけて、各ポイントがどのように異なる/類似しているかに一致するある種のヒューリスティックを使用できると考えていましたか?
または、これに取り組む「よりスマートな」方法はありますか?