4

別の投稿で説明されている誰かと同じ問題があります。私のアプリケーションのログ ファイルは非常に大きく (~1GB)、ログ ファイルからの情報を関連付けるために grep を使用するのは面倒です。現在、「less」ツールを使用していますが、思ったよりも遅くなります。

検索を高速化することを考えています。これを行うには、次の方法があります。まず、XML でログを生成し、XML 検索ツールを使用します。XML 検索を使用してどの程度の速度向上が得られるかはわかりません (インデックスを使用しないファイル検索にはまだ時間がかかるため、それほどではないと思います)。

次に、XML データベースを使用します。これはより良いでしょうが、ここにはあまり背景がありません。

3 番目に、(非 XML) データベースを使用します。テーブル スキーマを記述する必要があるため、これはやや面倒です (上記の 2 番目のオプションでも行う必要がありますか?)。また、一般的なユースケースを含めるために、最初にスキーマが大幅に変更されることも予測しています。理想的には、ログを保存するための本格的なデータベースよりも軽量なものが必要です。

4 番目に、lucene を使用します。目的には合っているようですが、現在のユースケースのインデックスを指定する簡単な方法はありますか? たとえば、「「反復」という単語が表示されるたびにインデックスを付けてください」と言いたいです。

あなたの意見は何ですか?

4

5 に答える 5

8

問題は、XML を使用するとログ ファイルがさらに大きくなることです。ログ ファイルを日付または行ごとに分割するか、sqliteなどのファイル ベースのデータベース エンジンを使用することをお勧めします。

于 2009-04-16T07:21:00.553 に答える
6

実際、ギガバイトはそれほど大きくありません。これらのログ ファイルでどのような「相関」を試みていますか? ログ ファイルを特定の方法で処理するためのカスタム プログラム (またはスクリプト) を作成する方が、必要なすべてを処理するデータベース スキーマを考え出すよりも簡単であることがよくあります。もちろん、なんらかの理由でログ ファイルを解析するのが難しい場合は、その点を修正する価値があります。

(ちなみに、私は kuoson に同意します - XML はほぼ間違いなく進むべき道ではありません。)

于 2009-04-16T07:33:10.977 に答える
1

Windows または Wine を使用してログを確認できる場合、LogParserはログからデータをマイニングするための優れたツールであり、コードやログ形式を変更する必要なく、実質的に任意のログに対して SQL クエリを実行できますクイック HTML または Excel レポートを生成することもできます。

また、数年前、XML が大流行していたとき、私は XML ログと XSLT スタイルシートを使用してビューを生成していました。 XML を使いたくない。

于 2009-04-16T07:29:27.583 に答える
1

ログ ファイルで作業する際の問題は、それぞれを個別にクエリする必要があることです。ログ ファイルのインデックスを作成し、代わりに検索/クエリを実行できれば、はるかに鋭い応答が得られます。Lucene が私の次の寄港地になり、次に solr になります。

于 2012-11-22T01:41:01.670 に答える
0

おそらく、ログを Emacs にロードして (十分なメモリがある場合)、インクリメンタル検索や Alt-X の発生などのさまざまな Emacs 機能を使用できます。

免責事項:100MBを超えるファイルでこれを試したことはありません。

于 2009-04-16T08:04:45.627 に答える