0

以下の問題の解決策を改善するための指針を探しています。私は Unix ツールチェーンを使用していますが、実装よりも一般的なアプローチを求めています。

どうぞ:

Web サイトへのすべてのアクセスをログに記録し、ビジネス ユーザーがほぼリアルタイムでレポートできるようにする必要があります (5 分の遅延は許容されます)。レポートは、ユーザーまたは期間、またはその両方の組み合わせによってフィルター処理されます。

匿名ユーザーのアクセスもログに記録され、匿名ユーザーがログインすると、ログイン前の情報が登録ユーザーに関連付けられる必要があります。

すべてのページ アクセス (GET または POST) と、すべてのパラメーターとタイムスタンプをログに記録したいと考えています。

レポートの要件は次のとおりです。

そして、応答は次のようになります。

  • 11:15:23 に彼はホームページに来ました。
  • 11:15:49 に、彼は私たちについてのページに行きました。
  • 11:16:23 に、彼はログイン ページに移動しました。
  • 11:16:34 に、彼はユーザー名「hacked」でログインを試みました。
  • 11:16:38 にログイン要求が失敗しました - ユーザー名/パスワードが正しくありません
  • 11:16:45 に、彼はユーザー名「myuser」でログインしました
  • 11:17:12 に彼は製品ページに行きました。

解決策は、セッション ID を主キーとして使用し、アカウント ID と要求データをデータベースに挿入することです。

DB が停滞しないように、その間にメッセージ キューを挿入し、データベースへの書き込みを遅らせます。

ただし、データベース内のデータ量が増えると、レポート作成がすぐに遅くなる可能性があります。

woopraのようなソリューションは知っていますが、訪問者データを内部で保持したいと考えています。また、データへの社内の役割ベースのアクセスを使用した社内レポートのアイデアも気に入っています。

編集:過去にこのようなことをどのように行いましたか、またはオプションを完全に選択できるとしたら、どのように取り組みますか?

4

1 に答える 1

0

これらのことのいくつかをすぐに実行するためのより簡単な方法は、サーバー/アプリケーションにあまりオーバーヘッドをかけずに Google アナリティクスを実装することです。

それを使用することの欠点は、イベントがリアルタイムほどではないということです...それは数時間オフです.

もう 1 つの解決策は、メッセージング ソリューションを別のデータベースに実装してから再構築することです。

于 2011-06-01T14:56:30.007 に答える