本文主要介绍实时监控linux日志文件的4种方法。
如何在Linux中实时查看日志文件的内容?有很多实用工具可以帮助用户在文件修改或不断更新时跟踪或监控文件发生的变化。在Linux中,用于实时显示文件内容的一些最常用的实用工具是tail命令。
4种方法实时监控Linux日志文件
如前所述,tail命令是实时监控日志文件变化内容的最常见解决方案。但是,该命令有两个版本,如下面的示例所示。
在第一个示例中,tail命令需要-f参数来跟踪文件的内容。
sudo tail -f /var/log/Apache2/access.log
该命令的第二种用法实际上是另一个命令tailf.。您不需要使用-f选项,因为该命令内置有-f参数。
sudo tailf /var/log/apache2/access.log
通常,日志文件在Linux服务器上被logrotate工具频繁地修改。要查看每天修改的日志文件,可以使用tail命令的-F选项。
sudo tail -F /var/log/apache2/access.log
但是,在默认情况下,tail命令将显示文件的最后10行。例如,如果希望实时监视日志文件的最后两行,可以结合使用-n和-f选项,如下面的示例所示。
sudo tail -n2 -f /var/log/apache2/access.log
tail命令-实时监控日志
另一个实时跟踪日志文件的有趣命令是multitail命令。该命令的名称意味着multitail程序可以实时监视和跟踪多个文件。multitail还允许您在监视的文件中来回导航。
要在基于Debian和RedHat的系统中安装mulitail实用程序,请执行以下命令。基于Debian & Ubuntu
sudo apt install multitail
基于RedHat & centos系统
sudo yum install multitail
基于Fedora 22+ 系统
sudo dnf install multitail
要同时跟踪两个日志文件的变化,请执行以下示例所示的命令。
sudo multitail /var/log/apache2/access.log /var/log/apache2/error.log
Multitail命令-实时监控多个日志文件
另一个与multitail命令类似的有趣命令是lnav命令。lnav命令还可以监控和跟踪多个文件,并实时显示其最新的内容。
inav命令-实时监控多个日志文件
要在基于Debian和RedHat的Linux发行版中安装lnav命令程序,请使用以下命令。基于Debian & Ubuntu系统
基于Debian & Ubuntu
sudo apt install lnav
基于RedHat & CentOS系统
sudo yum install lnav
基于Fedora 22+
sudo dnf install lnav
通过执行如下所示的命令,可以同时跟踪两个日志文件的变化内容。
sudo lnav /var/log/apache2/access.log /var/log/apache2/error.log
最后,如果键入Shift+F,可以用less命令显示文件实时更新的内容。
与tail工具一样,使用less命令打开文件后,按Shift+F将开始跟踪文件尾部内容。或者,也可以使用less +F实时监控文件。
sudo less +F /var/log/apache2/access.log
less命令-显示实时输出的日志文件
通过本教程,您应该可以学习到在Linux系统上如何使用上述4种方法实时监控日志文件了吧?
本文已同步至博客站,尊重原创,转载时请在正文中附带以下链接:https://www.linuxrumen.com/cyml/1707.html
点击了解更多,快速查看更多的技术文章列表。