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