有没有办法将Nginx网站访问日志直接写入MySQL或其它的数据库里?

2012-12-11 01:34:58 +08:00
 liuxurong
11117 次点击
所在节点    NGINX
16 条回复
wingoo
2012-12-11 02:11:31 +08:00
隔段时间分析导入?
liwei
2012-12-11 08:43:04 +08:00
这个工作没必要由nginx来做(而且可能会影响nginx的性能),可以用脚本分析日志然后再写入数据库。
enj0y
2012-12-11 09:15:24 +08:00
我也觉得这会影响nginx的性能。而且你想想,访问你网站的人数多了,不管访问什么页面都像是一种CC攻击,这种的网站性能能好么。真心没必要。
voidman
2012-12-11 12:32:01 +08:00
1楼的正解
ericFork
2012-12-11 12:34:14 +08:00
用纯文本也没啥不好的,汇总到一个地方供分析即可
est
2012-12-11 12:41:48 +08:00
其实LS说的影响性能的说法不存在。logging可以是一个unix pipe,或者udp这种fire-and-forget方式,甚至是异步的。

http://tengine.taobao.org/document/http_log.html

这个淘宝的nginx fork可以实现各种logging

个人比较推荐udp logging。用来多节点做日志聚合非常方便。
Livid
2012-12-11 12:45:18 +08:00
Livid
2012-12-11 12:45:30 +08:00
Fenng
2012-12-11 13:08:49 +08:00
为毛要这么折腾呢?
plprapper
2012-12-12 09:54:36 +08:00
nginx日志导入到 mysql里面 之后的处理更复杂 还不如用awk或者perl什么的呢
est
2012-12-12 10:05:46 +08:00
@plprapper 一个例子,10G日志统计一下浏览器top 5的平均响应时间吧。你用 shellscript 搞一个试试?
ElmerZhang
2012-12-12 10:07:56 +08:00
用syslog-ng或者rsyslog应该可以实现
plprapper
2012-12-12 10:50:57 +08:00
@est 100G的apache日志我处理过,没感觉有什么问题。 mysql处理这个东西 我感觉完全不合适。
est
2012-12-12 10:53:06 +08:00
@plprapper 计算个指标出来也一点问题没有?
plprapper
2012-12-12 11:00:39 +08:00
不知道你指的指标是什么意思,我经常会通过apache日志统计各个url的pv uv rt等信息 awk里也有用很多 if else 正则 数组 substring什么的 我感觉性能还好 我的blog里面有关于写脚本处理日志的demo 你可以看看 。 10G日志你导入到mysql不知道你到底是神码硬件,能很流畅这样的东西。对UA这样的字段建索引,太折磨mysql了吧
10Buns
2017-06-20 19:02:40 +08:00
@plprapper 求地址,0101.pro ? 跳转到奇怪的地方

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/54591

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX