网站搜索

MultiTail - 在单个 Linux 终端中同时监控多个文件


无论是服务器管理员还是程序员,有时我们都需要引用多个日志文件来有效地排除故障任务。为了实现这一点,我们必须在不同的 shell 中打开、尾随或更少地打开每个日志文件。但是,我们可以在一行中使用传统的 tail 命令,例如 tail -f /var/log/messagestail -f /var/log/secure 。但如果我们想实时查看多个文件,我们需要安装一个名为MultiTail的特定工具。

什么是多尾?

MultiTail 是一个开源 ncurses 实用程序,可用于在单个窗口或单个 shell 中将多个日志文件显示到标准输出,该 shell 实时显示日志文件的最后几行,例如 tail 命令,该命令将分割控制台进入更多子窗口(很像屏幕命令)。它还支持颜色突出显示、过滤、添加和删除窗口等等。

特征

  1. 多个输入源。
  2. 对于重要信息,使用正则表达式进行彩色显示。
  3. 线路过滤。
  4. 用于删除和添加 shell 的交互式菜单。

以下是 MultiTail 实际运行的屏幕截图示例。

在 Linux 中安装 MultiTail

要在基于 Red Hat 的发行版上获取 MultiTail,您必须打开 EPEL 存储库,然后在终端上运行以下命令来安装它。

在 RHEL/CentOS/Fedora 上
yum install -y multitail
在 Debian/Ubuntu/Linux Mint 上
sudo apt-get update
sudo apt-get install multitail

多尾的使用

默认情况下,MultiTail 执行与“tail -f”相同的操作,即实时查看文件。要在一个窗口中查看/监视两个不同的文件,基本语法是:

1. 如何在单个窗口中查看2个文件

root@tecmint:~# multitail /var/log/apache2/error.log /var/log/apache2/error.log.1

要滚动浏览文件,请点击“b”并从列表中选择所需的文件。

选择文件后,它将显示所选文件的最后 100 行,您可以使用光标键滚动浏览。您还可以使用“gg”/“G”移动到滚动窗口的顶部/底部。如果您想查看更多行,请按“q”退出,然后按“m”输入要查看的行数的新值。

2. 如何查看 2 列中的 2 个文件

以下命令将在 2 列中显示两个不同的文件。

[root@tecmint ~]# multitail -s 2 /var/log/mysqld.log /var/log/xferlog

3. 如何多列查看多个文件

在三列中显示 3 个文件。

[root@localhost ~]# multitail -s 3 /var/log/mysqld.log /var/log/xferlog /var/log/yum.log

4. 合并/查看多列中的多个文件

显示 5 个日志文件,同时将 2 个文件合并在一列中,并将 2 个文件保留在两列中,其中只有 1 个文件左栏。

[root@localhost ~]# multitail -s 2 -sn 1,3  /var/log/mysqld.log -I /var/log/xferlog /var/log/monitorix /var/log/ajenti.log /var/log/yum.log

5. 如何查看文件和执行命令

显示 1 文件,而“-l”选项允许命令在窗口中执行。

[root@localhost ~]# multitail /var/log/iptables.log -l "ping server.nixcraft.in"

6. 如何合并/查看不同颜色的两个文件

在一个窗口中合并2个日志文件,但为每个日志文件提供不同的颜色,以便您可以轻松了解哪个日志文件对应哪些行。

[root@localhost ~]# multitail -ci green /var/log/yum.log -ci yellow -I /var/log/mysqld.log

结论

我们只介绍了 multitail 命令的一些基本用法。有关选项和键的完整列表,您可以查看 multitail 的手册页,或者您可以在程序运行时按“h”键寻求帮助。