在远程Linux服务器上查看日志

有没有什么好的工具在远程(linux)服务器上做'tail -f'? 能够像taillog server_host / var / log / syslog这样能够查看各种服务器上的日志而不必ssh进入就好了。

如何并排显示多个日志的应用程序?

如果通过syslog工具在客户端服务器上生成日志文件,那么最好的方法是设置客户端的syslog守护进程以将这些日志转发给单独的主机。 例如,如果我有一个内部名称syslog.private ,它指向我想要接收日志条目的远程服务器。 我可以/etc/syslog.conf下行添加到客户端服务器上的/etc/syslog.conf

 *.* @syslog.private 

然后重新启动客户端上的syslog守护进程

 service syslog reload 

这将导致通过客户端系统日志的每个条目通过networking发送到syslog.private ,如果该机器configuration正确,条目也将在那里可用。 在RedHat系统中,这由/etc/sysconfig/syslog文件控制。 确保-r选项存在

 % grep "SYSLOGD" /etc/sysconfig/syslog SYSLOGD_OPTIONS="-m 0 -r" 

然后重新启动接收服务器上的syslog守护进程。

您还可以通过添加排除来控制转发到远程服务器的内容,请参阅下面的示例

 *.*;mail.none @syslog.private 

其中说,一切发送到syslog.private ,除了发送到mail设备的任何东西。

如果这个解决scheme适合你,你可以考虑一个备用的系统日志实现,如rsyslog或syslog-ng ,它们提供额外的日志logging和存储选项。

如果在远程主机上的远程主机上设置基于密钥的ssh身份validation和sudo,以允许在没有密码提示的情况下针对日志文件运行尾部。 build立一个taillog脚本可以非常容易地完成你想要的function。 这实际上并不能避免使用ssh,但它确实为您节省了一些时间。

 #!/bin/bash ssh $1 sudo tail -f $2 

或者,您可以设置syslog将所有日志消息转发到中央系统,然后在syslog服务器上运行tail命令。 只要看中央系统上的日志文件。

我强烈build议先进的日志查看multitail 。 自我描述为类固醇的尾巴。

这显然不能回答你的问题,但是如果你有超过几个日志来观看,并且less于免费版的限制,你可以免费试用Splunk来获得一个漂亮的界面,并且对你所有的日志数据都有用。

tail -f支持多个日志,但不支持并排,只能向下。

Multitail将在本地机器上完成您的工作。 虽然有几种方法可以解决这个问题(NFS挂载,SMB挂载等),但是它并没有具体提到它是否可以在networking上运行。它还表示它将作为一个系统日志服务器工作,这意味着它可能能够从另一台机器的系统日志接收活动数据,虽然我从来没有使用过这个function,不知道是不是这种情况。

我正在使用OtrosLogViewer (Apache公共许可证)。 它使用ssh / sftp和samba / CIFS支持来自远程服务器的拖尾日志。 您可以将多个日志文件放在一个窗口中。 这是一个截图: OtrosLogViewer截图

我为此写了vsConsole – 轻松访问日志文件(sshing和文件权限始终是个问题) – 然后添加应用程序监视和版本跟踪。 我想知道你的想法。 http://vs-console.appspot.com/

这是一个简单,低学习曲线,一键解决scheme,解决常见的开发问题我总是需要一个简单的解决scheme。

你可以使用像Phplogcon的东西。 我使用rsyslog与MySQL并发送来自我的其他服务器的所有日志。 Phplogcon然后通过使用Web应用程序来显示它们。

这不是最好看的界面,但它是pipe理员访问日志而不暴露服务器到不必要的远程login的一个好方法。

已经提到,但值得一提的是。 Splunk的!

我曾经很高兴在过去build立一个很好的gui的大型系统日志设置。 这是一个痛苦的世界。 Splunk使它成为一个轻而易举的事情,特别是在企业许可的情况下,给你中央pipe理。 如果您的日志每天低于5亿,那么它是免费的。 如果不是,它可能会变得非常昂贵,但这是值得的,而不仅仅是一点点的logging – 你可以做更多的事情。 我通常会主张开源应用程序,但Splunk击败了我遇到的任何事情。

尝试这个:

 ssh servername tail -f /var/log/messages 

如果您的日志文件受到保护:

 ssh -f servername sudo tail -f /var/log/messages 

(你不必使用“ssh -f” – 只是这样你的密码才会回传给TTY)

如果你喜欢,你可以使用集群SSH相同的命令。

您也可以使用Octopussy (我的项目)来集中您的日志,查看并生成警报和报告。

除了@KrzyH回答(Otros)之外 ,我已经写了一个Otros的附加function,所以你可以在远程机器上安装一个WAR,所以在技术上你可以使用Otros作为Web服务。

更多细节在这里 。