Die Methoden, die mir bisher einfallen: Awk analysiert das Protokoll + die bedingte Summierung und aktualisiert die Datenbank. Wenn die Protokollgröße jedoch groß ist, wird die Effizienz beeinträchtigt.
Gibt es einen einfacheren Weg?
小伙看你根骨奇佳,潜力无限,来学PHP伐。
欢迎试用我们的http_accounting模块,在nginx官网的第三方模块列表里有哟~
说一下我们的方案,流量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官网的第三方模块列表里有哟~
说一下我们的方案,流量1.9kw
1. 前台通过 <img src="/tj.html"/>方式记录传输日志
2.
ningx
单独记录tj.html
的访问日志3.
syslog
定时 1分钟分割一次4.
cronjob
定时1
分钟 处理分析分割好的日志现在我们采用的是1分钟更新一次
mysql
数据库,正在打算将当天的数据存储方式放到redis上,而将历史记录放到mongodb
上只要定时做好日志切割,每次处理的文件不会很大。
然后自己写个小程序来统计,效率比较高。
如果有比较灵活的查询需求,还可以把日志信息记录到数据库里头去,根据时间和必要的字段建立好索引,用SQL直接查询就好了。