Tonfay的gravatar头像
Tonfay 2015-12-03 18:36:57

nginx用户访问网页日志如何实现自动导入存储到mongodb数据库?

最近有一个做log日志需求.觉得百思不得其解.

需求:访问某一页面,进行浏览页面的数据存储持久化,同时完成对数据的各种记录查询.

最近想到一个解决的思路,不过还有点缺陷;

首先使用nginx进行log的format ,在手动通过log导入到monggodb .

问题来了,怎么样能够使用nginx 在生成一条log的同时自动向mongodb存储一条数据.

(还有一个问题就是,nginx对日志进行format的同时 ,是否占用更多的cpu?)

所有回答列表(1)
最代码官方的gravatar头像
最代码官方  LV168 2015年12月4日

1.为什么要手动导入呢?网站访问量大的时候如何及时,如何排重?

可以通过程序来实现读取log并写入mongodb,shell可以,java,php,python也可以,另外nginx支持组件开发,也可以试试。
2.nginx log按format格式化不会影响cpu,就像你本来要输出:1,2,3,然后按format输出为了:3,2,1,format数据量相同的情况下IO写入磁盘也相同,所以不会影响cpu。

参考资料

python基于nginx访问日志统计客户端ip访问量

程序处理文本处理少不了正则表达式,也可以参考下正则语法

python正则表达式基础实例教程

java正则表达式语法详解及其使用代码实例

正则表达式学习

mongodb相关源码实例

顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友