NGINX时段流量统计功能

我目前能想到的方法:
awk分析日志+条件求和,更新数据库。
但当日志体积庞大时,效率会受到影响。

有没有更简洁的方式?

阅读 14.7k
3 个回答

欢迎试用我们的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直接查询就好了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏