BK 云 / 系统 首页
ZH
English ENDeutsch DEEspañol ES中文 ZHFrançais FRPortuguês (Brasil) PT-BR日本語 JAहिन्दी HINederlands NL
联系我 ↗
← 返回技术笔记

用 awk 分析 Apache 日志

存档说明:本文保留了 2019 年写作时的工具与环境背景。

awk 很适合在命令行快速筛查 Apache 请求日志。具体写法取决于 LogFormat;出于合规考虑,这里不公开实际日志格式。

这次我想找出耗时超过三秒的请求。日志中的耗时以微秒记录,我还需要提取 URL,并把结果限定在某个时间段。本例中的 2019:04:1 匹配当天 UTC 04:10 至 04:19 的请求。

这是我的命令:

cat /httpd/logs/access.log |grep "2019:04:1"| awk '{if ($(NF-2) > 3000000) print $4"-----"$7"-----"$(NF-2);}'

$(NF-2) 表示每行倒数第三个字段,在这里存放以微秒计的请求耗时。命令会输出时间戳(第 4 个字段, $4)、URL($7)和耗时($(NF-2)).

ZH
English ENDeutsch DEEspañol ES中文 ZHFrançais FRPortuguês (Brasil) PT-BR日本語 JAहिन्दी HINederlands NL