Linux中实时监控日志文件

694 阅读2分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

当Linux服务器或者其上的应用程序出现问题时,我们首先想到的是排查日志文件,定位一下所发生的问题的大致原因。

一般来说,Linux服务器的/var/log目录存放着各类应用、服务等的日志文件,那么我们如何实时查看这些日志文件的内容呢?接下来就来介绍一下。

使用tail命令

tail 命令可用于查看文件的内容,有一个很常用的参数-f可以循环读取正在修改更新的日志文件,是实时更新的。

例如,我们想要实时监控test.log,可以使用以下命令:

tail -f /var/log/test.log

tail命令默认显示文件最后10行的内容显示,并不断刷新,如果想要显示更多或者更少行的内容,可以同时使用-n-f参数,如下显示最后15行的内容:

tail -n 15 -f /var/log/test.log

tail命令也可以同时监控多个日志文件:

tail -f /var/log/test.log /var/log/system.log

使用 lnav

lnav工具可以实时监控多个日志文件,并且通过彩色编码的信息以更有条理的方式显示出来,需要注意的是,它不是默认安装的,可以使用yum install lnav或者apt install lnav命令进行安装,也可以通过源码方式安装,安装方式如下:
首先下载源代码source到服务器,然后执行以下命令:

tar xzvf lnav-0.10.0.tar.gz
cd lnav-0.10.0
./configure
make & make install

安装完成后,运行 lnav /var/log即可对目录下的所有日志进行实时监控。

当然,lnav也可以查看特定的日志文件,例如:

lnav /var/log/test.log

除此之外,lnav还有其他的比较强大的功能,例如查看已经压缩的日志文件等。

还有一些其他的方式可以实时监控日志文件,这里就不一一列举了。

原创不易,如果小伙伴们觉得有帮助,麻烦点个赞再走呗~

最后,感谢女朋友在工作和生活中的包容、理解与支持 !