人们在 Unix 中用来解析/分析日志文件的流行工具是什么?进行计数,查找唯一性,选择/复制具有特定模式的特定行。请提供一些工具或一些关键字。因为我相信以前肯定有类似的问题,但我对关键字一无所知。谢谢。
问问题
4654 次
5 回答
4
我发现许多日志格式没有使用正确的唯一字段分隔符分隔列是一个巨大的失败。不是因为这样最好,而是因为它是 unix textutils 对表数据进行操作的基本前提。相反,他们倾向于使用空格作为分隔符并引用可能包含空格的字段。
我对 Web 日志分析所做的最实用的简单更改之一是保留 nginx Web 服务器生成的默认 NCSA 日志格式,而是使用制表符作为字段分隔符。
突然间,我可以使用所有原始的 unix textutils 进行快速查找,尤其是 awk!仅打印用户代理字段包含 Googlebot 的行:
awk 'BEGIN {FS="\t"} $7 ~ /Googlebot/ { print; }' < logfile
查找每个唯一请求的请求数
awk 'BEGIN {FS="\t"} { print $4; }' < logfile | sort | uniq -c | sort -n
当然还有很多组合可以找到特定的访问者。
于 2010-03-10T23:08:34.480 回答
1
看看这里列出的一些通用日志解析器。如果您使用类似的东西syslog
,您可能也可以获得自定义解析器/分析器。否则,对于琐碎的搜索,任何脚本语言如perl
,python
甚至awk
就足够了。
于 2010-03-10T22:38:32.403 回答
0
可以使用任何允许您打开和读取文件、进行字符串/文本操作的编程语言,例如 Perl、Python、(g)awk、Ruby、PHP,甚至 Java 等。它们支持您正在解析的文件格式的模块,例如csv等。
于 2010-03-11T00:02:34.430 回答