调整网站日志中 tail -f 的输出

调整网站日志中 tail -f 的输出

我正在使用实时监控我的网站日志tail -f,但是我无法按以下顺序显示结果:

Host Name - IP Address - Page - Date & Time

这就是我想要实现的

http://qph.cf.quoracdn.net/main-qimg-fde4d84bf459d14aff0ef930e4f8c7fe

感谢 Stephan 和 user157574,我离我的目标已经很近了!!

答案1

下面是一个 nginx 日志示例,它应该能帮你完成大约 80% 的操作:

# tail -f /var/log/nginx/hostname.log | awk '{ print "hostname" $1 $7 $4 }'

实际上,您正在通过 awk 传输尾部,并交换一些字段并添加名称。我不确定您所说的 Counter 是什么意思,但日志字段中的任何内容都可以重新排序、添加或删除。上述命令假设 IP 是第一个字段,Page 是第七个字段,时间戳是第四个字段;YMMV。

更新:如果您想将此数据保存为新日志,您可以执行以下操作:

# tail -f /var/log/nginx/hostname.log | awk '{ print "hostname" $1 $7 $4 }' > /path/to/new/log.log

接下来日志,

# tail -f /path/to/new/log.log

每次将新数据添加到日志时,tail -f(-f 表示跟踪)都会将日志内容吐到屏幕上。

编辑:

请记住,“hostname”是您要输入的内容,即您正在读取的日志的主机名。如何得出该变量完全取决于您(您可以根据日志文件名设置它,即“{ print "somefancyserver.com" $1 $7 $4 }'

为了更好地控制你的实时日志系统,你可能需要研究

graylog2.org

logstash.net

或者(如果你财力雄厚)

splunk.com

相关内容