1

ゴール

RRDTool を使用して、Web アプリケーションの apache/tomcat アクセス ログから論理的な「ユーザー アクティビティ」をカウントしたいと考えています。

具体的には、一定期間、いくつかの URL パターンの発生をカウントしたいと考えています。

2 つのアプリケーションがあります (「foo」と「bar」と呼びます)。

これらの URL に興味があります。ユーザーがいつ「面白いことをした」かを示します。

/foo/hop
/foo/skip
/foo/jump

/bar/crawl
/bar/walk
/bar/run

基本的に、特定の間隔 (10 分、1 時間、1 日など) で何人のユーザーがホップしたか、スキップしたか、ジャンプしたか、クロールしたか、歩いたかなどを知りたいと考えています。

参考・出発点

RRDTool へのアクセス ログのインポートに関するこの記事は、参考になる出発点のように思えました。 http://neidetcher.com/programming/2014/05/13/just-enough-rrdtool.html

ただし、明確にするために、この例ではアクセスログを直接使用していますが、「バケット内」の少数の URL を使用して「各バケット内の数」をカウントする必要があります。

いくつかのスクリプトが必要です..

これは、bash & grep & wc -- パターンを反復処理して、出力を「中間結果」テキスト ファイルに送信することで実行できます....しかし、RRDTool は最小限の「外部コーディング」でこれを実行できると信じています。

そうは言っても、RRDTool は最小限の「外部コーディング」でこれを実行できると思いますが、詳細は不明です。

いくつかのポイント

  • 「2 つのアプリケーション」について言及したのは、実際には異なるログ ファイル形式の別々のサーバーからそれらを提供しているためです。それらを同じRRAファイルに入れたいのですが
  • 最終的にはこれをサボテンで報告したいと思います。ただし、最初は RRDTool の詳細を理解したかった

  • あらゆるコーディングを行うことができますが、管理とコンピューターのリソースの両方で、可能な限り効率的に保ちたいと考えています。(管理上、つまり、新しいインスタンスを簡単に監視できます)

  • 私は RRDTool を初めて使用し、RTM を行っています。(およびチュートリアルのウォークスルー)。私はリレーショナル データベースやスプレッドシートなどに慣れており、RRA 形式のニュアンスについてはまったく頭にありません。

前もって感謝します!

4

1 に答える 1

0

ABSOLUTE追跡するアドレスごとにタイプ データソースを含む個別の RRD ファイルをセットアップできます。

次に、ログ ファイルを追跡し、興味深い URL のいずれかが殺到しているのを確認するたびに、次のように呼び出します。

rrdtool update url-xyz.rrd N:1

データ ソースのABSOLUTE種類はカウンターに似ていますが、読み取られるたびにリセットされます。カウンターは 1 までカウントされますが、問題にはなりません。

上記の例N:では、アクセス ログのタイムスタンプではなく、使用しています。これをリアルタイムで行っていない場合にも使用できます...ただし、同じrrdファイルを同時に2回更新できないことに注意してください。N:内部でミリタイムスタンプを使用するため、おそらくこの問題を回避できます。

一方、同じタイムスタンプを持つ一致するログ エントリを蓄積し、ログ ファイルのタイムスタンプが変更された場合にのみその番号で rrdtool を更新する方が理にかなっている場合があります。

于 2015-03-12T23:12:09.947 に答える