我目前能想到的方法:
awk分析日志+条件求和,更新数据库。
但当日志体积庞大时,效率会受到影响。
有没有更简洁的方式?
说一下我们的方案,流量1.9kw
1. 前台通过 <img src="/tj.html"/>方式记录传输日志
2. ningx
单独记录 tj.html
的访问日志
3. syslog
定时 1分钟分割一次
4. cronjob
定时1
分钟 处理分析分割好的日志
现在我们采用的是1分钟更新一次mysql
数据库,正在打算将当天的数据存储方式放到redis上,而将历史记录放到mongodb
上
只要定时做好日志切割,每次处理的文件不会很大。
然后自己写个小程序来统计,效率比较高。
如果有比较灵活的查询需求,还可以把日志信息记录到数据库里头去,根据时间和必要的字段建立好索引,用SQL直接查询就好了。
15 回答7.9k 阅读
2 回答2.2k 阅读✓ 已解决
1 回答1.6k 阅读✓ 已解决
1 回答1.1k 阅读✓ 已解决
1 回答980 阅读✓ 已解决
1 回答1.4k 阅读
1 回答689 阅读
欢迎试用我们的http_accounting模块,在nginx官网的第三方模块列表里有哟~