如何通过terminal实时观看日志?

这是一个基本的问题 – 在电影“社交networking”中,有几个场景,当年轻的Facebook员工正在观看PHP / Apache服务器实时login到他们的TERMINAL中。

我熟悉如何在Ruby / RoR环境中执行此操作 – 但是使用标准LAMP Apache / PHP环境,如何实时主动监视服务器的操作? 我猜在Terminal里有一个简单的方法。

也许他们在访问日志上使用tail -f

甚至像logstalgia 😉

或安装和使用multitail来指定filter和着色:)

如果你正在寻找一个实时的Apache日志查看器和分析器,我肯定会推荐GoAccess。

http://goaccess.prosoftcorp.com/

你只需要运行它(不需要conf):

 goaccess -f /var/log/apache2/access.log -s -b 

GoAccess 0.6.1应该至less是你包里的工具之一。 开源。 快速和稳定。

对于Rhel / Centos 6.4

 yum install glib2 glib2-devel glibc make geoip yum install ncurses-devel Download GoAccess - http://goaccess.prosoftcorp.com/download Untar it and cd into it ./configure make make install Finally: goaccess -f /var/log/httpd/access.log (or wherever your access logs are [maybe even /etc/httpd/logs/access_log] 

另一件你可以尝试的是“watch”命令,它可以在你想要的任何日志文件上反复运行一个grep命令。 使用approriate watch命令开关,您甚至可以实时地突出显示日志文件中的更改。

例如:

看-d -n5正常运行时间

这是一个基本的问题 – 在电影“社交networking”中,有几个场景,当年轻的Facebook员工正在观看PHP / Apache服务器实时login到他们的TERMINAL中。

对于像Facebook这样的大型系统,你不禁要问在制作这部电影的时候给了多less艺术执照 (又名大杂烩)。 在拥有数千个系统和数千个集群的环境中,监视terminal上滚动的服务器日志不一定是#1监控活动。

在这样的环境下(或任何有几十个节点的生产环境),你可以得到一个带有指示符的NOSC,只有当某些东西被标记为处于某种状态crapping out ,才会去看看日志(可能针对重大事件和消息进行过滤)。

虽然我很高兴社交networking大多使用准确的术语和术语,但他们所做的一些东西只是为了展示。

我不是服务器专家,但是我看到扎克伯格有一个terminal打开,一个ping命令正在运行,我想不出任何他随机会这么做的原因。 (这是他们已经在服务器上运行的时间)。

我确实发现Python服务器黑客场景非常有趣。

Logtool也将制作漂亮的彩色日志。 Apache可以将其日志写入中央NFS服务器,也可以使用syslog写入日志 ,syslog可以将日志数据发送到中央系统日志服务器。

点击链接以获得更详细的解释。

tail -F /export/syslog/log/apache/access.log | logtool

您也可以使用LogLogic等实时日志查看器来筛选我们不想看到的内容。 这样你可以收集比apache更多的日志,你可以得到路由器日志,ftp日志等等。

你可以很容易地写一个轮询脚本,只是比较时间戳或文件大小,如果改变,做一个tail -n1

Apachetail还通过从Windows桌面应用程序直接连接到Apache服务器,提供了对Apache日志的实时查看/分析。 没有软件需要安装在Apache服务器上。