在 Linux 服务器运维过程中,查看日志是排查网站故障、分析程序运行状态、定位服务器异常的重要方式。
无论是 Web 服务器(Apache、Nginx)、数据库服务,还是应用程序运行环境,日志文件都会记录大量关键事件,例如:
- 用户访问记录
- 服务启动与停止信息
- 程序错误信息
- 网络请求异常
- 系统运行状态
不过,Linux日志文件通常会不断增长,如果直接打开完整日志文件,不仅效率较低,也不方便观察实时变化。
因此,在服务器管理过程中,管理员通常会使用日志查看工具,实现:
- 实时追踪日志变化
- 同时监控多个日志文件
- 快速定位错误信息
- 分析服务器运行状态
本文介绍 Linux 系统中几种常用的实时查看日志方法,包括:
- tail 命令
- tailf 命令
- Multitail
- Lnav
- less +F 模式
一、使用 tail 命令实时查看日志
1. tail -f 实时跟踪日志
tail 是 Linux 中最常用的日志查看命令之一。
默认情况下,tail 命令会显示文件最后 10 行内容。
通过添加 -f 参数,可以持续监听日志文件变化,并实时输出新增内容。
例如查看 Apache 错误日志:
sudo tail -f /var/log/apache2/error.log
执行后,当日志文件出现新的记录时,终端会立即显示最新内容。
常见应用场景:
- 查看网站访问异常
- 排查服务器报错
- 监控应用运行状态
例如查看 Nginx 错误日志:
sudo tail -f /var/log/nginx/error.log
2. 使用 tailf 查看日志
tailf 命令与 tail -f 功能类似。
区别在于:
tailf 本身已经包含实时跟踪功能,因此无需额外添加 -f 参数。
使用方式:
sudo tailf /var/log/apache2/error.log
适合快速查看持续变化的日志文件。
3. 使用 tail -F 监控轮转日志
Linux 服务器中的日志通常会进行日志轮转(Log Rotation)。
例如:
error.log
error.log.1
error.log.2
当日志达到指定大小或时间周期后,系统会创建新的日志文件。
如果使用:
tail -f error.log
可能仍然监听旧日志文件。
此时可以使用:
sudo tail -F /var/log/apache2/error.log
-F 参数会持续检查日志文件变化。
如果发现日志文件被重新创建(文件名相同,但文件描述符发生变化),tail 会自动切换到新的日志文件。
因此,在长期服务器监控场景中,更推荐:
tail -F
4. 指定显示日志行数
默认情况下,tail 只显示最后 10 行日志。
如果想在实时模式下查看指定数量的日志,可以结合:
-n:指定显示行数-f:持续跟踪
例如:
查看最后 2 行,并持续刷新:
sudo tail -n2 -f /var/log/apache2/error.log
查看最后 100 行:
sudo tail -n100 -f /var/log/apache2/error.log
适合快速查看最新错误记录。
二、使用 Multitail 同时监控多个日志
当服务器运行多个服务时,经常需要同时查看多个日志文件。
例如:
- Apache访问日志
- Apache错误日志
- 系统日志
这时可以使用 Multitail。
安装 Multitail
Ubuntu/Debian 系统:
sudo apt install multitail
同时显示多个日志文件
例如:
sudo multitail /var/log/apache2/access.log /var/log/apache2/error.log
Multitail 支持:
- 多窗口显示日志
- 实时刷新
- 日志高亮
- 历史内容查看
相比 tail 只能查看单个文件,Multitail 更适合服务器综合监控。
三、使用 Lnav 查看多个日志文件
Lnav(Log File Navigator)是一款专门用于日志分析的工具。
除了实时查看多个日志文件,还支持:
- 日志格式识别
- 时间排序
- 搜索过滤
- 错误高亮
- 快速定位问题
安装 Lnav
Ubuntu/Debian:
sudo apt install lnav
使用 Lnav 查看多个日志
例如同时查看 Apache 访问日志和错误日志:
sudo lnav /var/log/apache2/access.log /var/log/apache2/error.log
Lnav 会自动分析日志格式,并按照时间顺序展示内容。
对于需要分析复杂服务器问题的管理员来说,Lnav 比普通 tail 更方便。
四、使用 less +F 实时查看日志
很多 Linux 用户熟悉 less 命令。
除了浏览文件内容外,less 也可以用于实时查看日志。
使用:
sudo less +F /var/log/apache2/access.log
其中:
less用于浏览文件+F开启类似 tail -f 的实时跟踪模式
less +F 常用操作
在实时模式下:
按:
Ctrl + C
可以暂停实时刷新。
暂停后,可以:
- 查看历史日志
- 搜索关键词
- 分析错误上下文
再次按:
Shift + F
可以重新进入实时跟踪模式。
相比 tail,less 最大优势是:
既可以实时查看日志,也可以方便查看历史内容。
五、不同日志查看工具如何选择?
| 工具 | 适合场景 | 特点 |
|---|---|---|
| tail -f | 临时查看单个日志 | 简单快捷 |
| tail -F | 长期监控服务器日志 | 自动适配日志轮转 |
| tailf | 快速查看日志 | 默认实时模式 |
| Multitail | 查看多个日志 | 支持分屏显示 |
| Lnav | 日志分析 | 支持搜索和排序 |
| less +F | 实时查看+历史分析 | 功能更灵活 |
六、服务器日志查看建议
排查网站报错
推荐:
tail -F /var/log/nginx/error.log
或者:
tail -F /var/log/apache2/error.log
同时查看访问日志和错误日志
推荐:
multitail access.log error.log
分析大量历史日志
推荐:
lnav logfile.log
实时查看并搜索历史日志
推荐:
less +F logfile.log
总结
Linux日志是服务器运维中非常重要的信息来源。
不同工具适用于不同场景:
- tail -F:最常用的实时日志监控方式
- Multitail:适合同时查看多个日志文件
- Lnav:适合复杂日志分析
- less +F:兼顾实时查看和历史查询
掌握这些日志查看方法,可以帮助管理员快速定位服务器异常,提高 Linux 服务器维护效率。
相关阅读:《Linux日志轮转机制详解:logrotate安装、配置、工作原理与排查方法》
-
广告合作
-
QQ群号:4114653



