3

Google App Engineがホストするウェブサイトのウェブサイトトラフィックを監視するための最良の方法は何ですか?

各ページハンドラーにコードを入れて各ページリクエストをデータストアに記録するのはかなり簡単です。これで(stackoverflowのおかげで)参照元サイトをログに記録するコードができました。

データストアを使用してトラフィックをログに記録することについて別の質問がありますが、他のオプション(ある場合)は考慮されていません。

私の懸念は、データストアが高価であるということです。別の方法はありますか?人々は通常、トラフィックモニタリングを実装していますか、それとも私は熱心すぎていますか?

データストアを介してトラフィック監視を実装する場合、どのフィールドをキャプチャすることをお勧めしますか?良いおよび/または一般的な慣行は何ですか?

私は一緒に行きます:タイムスタンプ; ページ; リファラー; IPアドレス; ユーザー名(ログインしている場合)。他に何か提案はありますか?

4

4 に答える 4

5

言及したすべてのアイテムは、組み込みのAppEngineロガーによって既にログに記録されています。なぜそれを複製する必要があるのですか?必要に応じて、分析のために定期的にログをダウンロードできます。

于 2012-12-15T10:48:38.533 に答える
3

人々は通常、クライアント側の追跡を行い、サーバー側の追跡よりも多くの洞察を提供するため、Google Analytics(または同様のもの)を使用します。

サーバー側の追跡のみが必要な場合は、ログの分析で十分です。Log APIの問題は、実際のクエリを実行しないため、コストがかかる可能性があることです。ログ検索ごとに、すべてのログ(範囲内)を検索します。

適切なクエリ機能を備えたすべてのGAEログをGoogleBigQueryにエクスポートするツールであるMacheをご覧になることをお勧めします。

もう1つのオプションは、ログをダウンロードして、ローカルツールで分析することです。GAEログはApache形式であるため、利用可能なツールはたくさんあります

于 2012-12-15T11:44:53.217 に答える
1

ロギングモジュールを使用できます。これには、個別のクォータ制限があります。

69日間にわたる7Mバイト(保持制限の1%)

制限が何であるかはわかりませんが、それは私のアプリからの行なので、かなり大きいようです。

その後、次のコマンドでログに追加できます

logging.debug("something to store")

必要なものがまだ付属していない場合は、次のコマンドを使用してローカルで読み上げてください。

appcfg.py --num_days=0 request_logs appname/ output.txt
于 2012-12-15T10:53:37.090 に答える
0

(またはPythonに相当するもの)を介して書き出すSystem.err.printlnものはすべて、AppEngineログに自動的に追加されます。したがって、たとえば、独自のログ形式を作成printlnし、すべてのページに'を配置してから、その形式のログとgrepをダウンロードできます。したがって、たとえば、これがあなたのフォーマットである場合:

MYLOG:url:userid:urlparams

次に、ログをダウンロードしてパイプでつなぐとgrep ^MYLOG、サイトのすべてのトラフィックが得られます。

于 2012-12-15T10:53:01.570 に答える