ログファイル分析:値部分から情報部分を抽出


10

ある製品のいくつかのログファイルにデータセットを構築しようとしています。

異なるログファイルには、独自のレイアウトとコンテンツがあります。私はそれらを一緒にグループ化することに成功しました、あと1ステップだけ...

確かに、ログ「メッセージ」は最良の情報です。私はそれらすべてのメッセージの包括的なリストを持っているわけではありません。そのリストは毎日変更される可能性があるため、それらに基づいてハードコードすることは悪い考えです。

私がやりたいのは、識別テキストを値テキストから分離することです(たとえば、「ロードされたファイルXXX」は(識別:「ロードされたファイル」、値:「XXX」)になります)。残念ながら、この例は単純であり、実際にはさまざまなレイアウトがあり、場合によっては複数の値があります。

文字列カーネルを使用することを考えていましたが、クラスタリングを目的としています...そしてクラウティングはここでは適用されません(メッセージのさまざまなタイプの数はわかりませんが、多すぎます)。

何か考えはありますか?

ご協力いただきありがとうございます。

PS:プログラミングをしている人にとっては、これは理解しやすいかもしれません。コードにログが含まれているとしましょうprintf( "blabla%s"、 "xxx")-> "blabla"と "xxx"を分離させたい


アルゴリズムが解析する必要のあるさまざまなアイテムを例示する代表的な選択例を提供できますか?
Emre、2014年

2
これを行う方法は100通りあります。これを実行するために必要なツールや言語について少し説明してください。これにデータサイエンスの側面はありますか?単にログ解析のようです。
Sean Owen

回答:


3

各文字列をプロセストレースと見なして、アルファアルゴリズムを適用してみませんか?それはあなたにグラフを与え、多数の外縁を持つノードはおそらく値を指すでしょう。

これらのノードにマークを付け、新しい文字列ごとに、これらの領域に到達するまでグラフを解析/トラバースできます。


どうもありがとう。私はアルファアルゴリズムを知りませんでした。その方向で確認します。
Michael Hooreman、2014

2

これはデータサイエンスの問題ではないようです。ただし、それを正確に行うための非常に優れたツールがあります。チェックアウト:logstash、flume、fluentd。実際、ElastichSearch(http://www.elasticsearch.org/overview/kibana)のメンバーから高速でスマートな方法でKibanaをチェックアウトできるようにしたい場合。これらのツールは、非常に効率的な方法で問題を解決するのに十分です。


私の特徴は、特徴抽出はデータサイエンスの一部であることです。まあ、それは単なる意見です;-)より深刻なことに、私は簡単な標準ログファイルではなく、非常に特定のソフトウェアからのカスタムログについて話しています。つまり、それは実際にコンテキスト«文»から情報を抽出していることになります
Michael Hooreman

1

単にテキスト情報と数値情報を分離しようとしている場合は、正規表現または文字列分割に基づくソリューションがあります。

最初の数字を見つけて、その直前でテキストを半分に分割するようなこともできます。

正規表現を使用すると、後に続くすべての数字を照合できます。パターンは([0-9]+)グローバルフラグを使用します。それはすべての数字のグループに一致し、後でそれらを使って何でもすることができます。

Regex Testerはそのようなものをいじるのに適しています。


Laurikに感謝します。残念ながら数字だけではなく、今後のメッセージがどうなるのかもわかりません。だから、私は本当にAIが必要です。
Michael Hooreman、2014
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.