使用tail -f可实时监控日志,tail -F能应对日志轮替,结合grep可过滤并高亮关键字,通过tee可同时输出到终端和文件,使用SSH可远程查看日志,multitail和lnav等工具则提供更强大的多文件监控与分析功能。

在Linux系统里,想要实时查看日志文件的新增内容,最直接有效的方法就是使用
tail
-f
实时监控日志的核心操作其实非常简单,就是
tail -f
tail -f /var/log/syslog
syslog
syslog
tail -f
Ctrl+C
有时候,日志文件会进行轮替(log rotation),旧文件会被压缩或者重命名,然后创建新的空文件。这时候,如果仅仅用
tail -f
tail -f
tail -f
--follow=name --retry
tail -f
在复杂的系统环境中,我们往往需要同时关注多个服务的日志,比如Web服务器的访问日志和错误日志、数据库的慢查询日志、以及某个自定义应用的运行日志。只开一个终端窗口看一个文件显然效率不高。
tail
tail -f /var/log/nginx/access.log /var/log/nginx/error.log /var/log/myapp/app.log
tail
==> 文件名 <==
不过,如果文件数量更多,或者你想对不同日志进行颜色高亮、过滤,甚至执行一些更复杂的分析,那么专门的日志查看工具就会更有优势。例如,
multitail
sudo apt install multitail
multitail /var/log/nginx/access.log /var/log/myapp/app.log
lnav
纯粹地实时查看所有日志内容,有时信息量太大,反而会淹没掉我们真正关心的那部分。这时候,进行内容过滤和关键字高亮就显得尤为重要了。最常见的做法就是将
tail -f
|
grep
比如,我只想看包含“error”或者“failed”关键词的日志行,可以这样写:
tail -f /var/log/myapp/app.log | grep -E "error|failed"
-E
-i
grep -iE "error|failed"
进一步地,如果想让匹配到的关键词高亮显示,
grep
GREP_COLOR='1;31'
grep --color=auto
除了
grep
awk
sed
awk
grep
另外,
less
less +F /var/log/myapp/app.log
less
tail -f
Ctrl+C
less
/
less +F
有时候,我们不仅需要实时在终端查看日志,还可能需要将这些实时流动的日志保存到另一个文件以供后续分析,或者在本地机器上远程监控一台服务器的日志。这两种场景都有很实用的解决方案。
首先是输出到文件。最直接的方式就是使用重定向操作符
>
>>
tail -f
tail -f /var/log/myapp/app.log > /tmp/mylog_capture.log
tee
tee
tail -f /var/log/myapp/app.log | tee /tmp/mylog_capture.log
/tmp/mylog_capture.log
tee -a
其次是远程查看。这通常通过SSH(Secure Shell)来实现。你可以在本地终端直接通过SSH连接到远程服务器,然后像在本地一样执行
tail -f
ssh user@remote_server "tail -f /var/log/remote_app.log"
tail -f
更高级一点,如果你需要通过一个跳板机或者有更复杂的网络环境,SSH的端口转发或者代理功能也能派上用场。但对于大多数日常的远程监控需求,直接通过SSH执行命令就足够了。记住,确保你的SSH连接是安全的,并且有足够的权限访问远程服务器上的日志文件。这不仅是技术操作,更是安全实践的一部分。
以上就是如何在Linux中实时监控日志 Linux tail动态追踪配置的详细内容,更多请关注php中文网其它相关文章!
                        
                        每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
                Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号