如果你想调试或排除任何问题,你需要一个像 lnav 这样的高级日志文件查看器。它在任何 Linux 系统的终端都能创造奇迹。
lnav: 日志文件查看器
lnav
可以即时解压缩所有的压缩日志文件,并将它们合并在一起进行漂亮的显示。显示是根据错误/警告的类型进行解析和格式化的,这有助于快速浏览成千上万的日志,特别是在服务器中。
在分析日志的时候,时间戳是非常重要的。所以 lnav
会根据时间戳合并多个日志,这对追踪系统问题很有帮助。
大多数重要的日志文件格式检测都是内置的,包括如下:
- 通用网络访问日志 Common Web Access Log 格式
- CUPS page_log
- Syslog
- Glog
- VMware ESXi/vCenter 日志
- dpkg.log
- uwsgi
- “通用”:任何以时间戳开头的信息
- Strace
- sudo
- GZIP、BZIP
这还不是全部,lnav
还能实现以下功能,使其成为 Linux 系统的重要应用:
- 根据正则表达式过滤消息
- 错误日志的时间轴视图
- 漂亮的打印视图,这有助于重新格式化
- 使用 SQL 查询日志
- 在搜索时,日志会实时更新
- 通过正则表达式高亮显示语法(比如你想在整个日志中找出一个 IP 地址)
- 显示的日志中任何单词的 Tab 补全!!
要查看上述功能的截图和了解更多信息,请访问 本页面 。
如何安装
这个程序在 Ubuntu、Debian 的官方仓库中可以找到。使用以下命令安装它。
sudo apt install lnav
而对于 Fedora、RHEL 用户,使用下面的命令:
sudo dnf install lnav
另外,开发者还提供了一个离线的独立可执行文件,你不需要安装。你可以从 GitHub 发布页 下载压缩包,然后按以下方式执行:
./lnav
注意:它也可用于 macOS,你可以在上述 GitHub 页面找到。
lnav: 如何使用(基础)
简单的命令语法是:
lnav [options] [logfile1 logfile2 …]
如果你直接运行 lnav
命令,它会显示你系统中的所有日志(/var/log/messages
和 /var/log/syslog
)
lnav
要查看任何特定的日志文件,在命令行中输入:
lnav /var/log/syslog
使用 -t
参数在你的日志输出中添加时间戳:
lnav -t /var/log/syslog
以下是 lnav
的一些关键开关:
-d file
:将调试信息写入给定的文件。-a
:加载所有最新的日志文件类型。-r
:也加载较早的轮转的日志文件。-t
:在标准输入中读入的数据行上预加时间戳。-w file
:将标准输入的内容写入该文件。-c cmd
:在文件加载后执行命令。-f path
:执行给定文件中的命令。-n
:不使用 curses UI 运行(无头模式)。
要进一步阅读和探索,请访问 官方文档。
via: https://www.debugpoint.com/advanced-log-file-viewer-lnav-ubuntu-linux/
作者:Arindam 选题:lkxed 译者:geekpi 校对:wxy
本文由 LCTT 原创编译,Linux中国 荣誉推出