これまでに思いつく方法: awk はログを分析し、条件を合計し、データベースを更新します。 ただし、ログのサイズが大きい場合、効率が影響を受けます。
もっと簡単な方法はありますか?
小伙看你根骨奇佳,潜力无限,来学PHP伐。
http_accounting モジュールをお試しください。nginx 公式 Web サイトのサードパーティ モジュール リストから入手できます~
私たちの計画について話しましょう、流量は1.9kwです
1. フロントデスクは<img src="/tj.html"/>を通じて送信ログを記録します
2. ningx 单独记录 tj.htmlのアクセスログ
ningx
tj.html
3. syslog 1分間隔でスケジュールを設定します
syslog
4. cronjob 定时1分割されたログの処理と分析に数分かかります
cronjob
1
現在は 1 分ごとに更新を使用していますmysql数据库,正在打算将当天的数据存储方式放到redis上,而将历史记录放到mongodbアップ
mysql
mongodb
ログが定期的にカットされている限り、毎回処理されるファイルはそれほど大きくなりません。
次に、より効率的な統計を行うための小さなプログラムを作成します。
より柔軟なクエリ要件がある場合は、ログ情報をデータベースに記録し、時間と必要なフィールドに基づいてインデックスを確立し、SQL で直接クエリを実行することもできます。
http_accounting モジュールをお試しください。nginx 公式 Web サイトのサードパーティ モジュール リストから入手できます~
私たちの計画について話しましょう、流量は1.9kwです
1. フロントデスクは<img src="/tj.html"/>を通じて送信ログを記録します
2.
ningx
单独记录tj.html
のアクセスログ3.
syslog
1分間隔でスケジュールを設定します4.
cronjob
定时1
分割されたログの処理と分析に数分かかります現在は 1 分ごとに更新を使用しています
mysql
数据库,正在打算将当天的数据存储方式放到redis上,而将历史记录放到mongodb
アップログが定期的にカットされている限り、毎回処理されるファイルはそれほど大きくなりません。
次に、より効率的な統計を行うための小さなプログラムを作成します。
より柔軟なクエリ要件がある場合は、ログ情報をデータベースに記録し、時間と必要なフィールドに基づいてインデックスを確立し、SQL で直接クエリを実行することもできます。