我正在使用实时监控我的网站日志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