文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

如何在Linux中实时查看动态日志的3种方法

admin

admin

2022-06-11 20:49

关注

您知道如何在 Linux 中查看文件。为此,您可以使用 cat 命令或可能使用 less 命令。

这对具有静态内容的文件很有用。但是日志文件是动态的,它们的内容会随着时间而变化。要监视日志,您需要在日志文件的内容更改时对其进行监视。

如何实时查看日志文件的内容?Tail 是用于此目的的最流行的命令,但也有一些其他工具。我将在本教程中向您展示它们。

方法一:使用tail命令查看日志文件

在tail命令是在现实生活中查看日志文件如此受欢迎,系统管理员使用术语“尾日志文件”。

tail 命令主要用于从末尾显示文件的行,因此称为“tail”。

您可以使用该-f选项来跟踪文件的尾部,这意味着它将继续显示添加到文件中的新行。

tail -f location_of_log_file

Tail命令 和 grep命令

好吧!所以tail命令通过显示现实生活中的文件变化来解决一个问题。但是,当实时发生如此多的快速变化时,连续观察日志文件并不是很有帮助。

在监视日志文件时,您经常会寻找特定的术语。在大量涌入的新线路中发现这一点几乎是不可能的。

为了使事情更容易,像这样组合 tail 和 grep 命令:

tail -f log_file | grep search_term


这很好,对吧?让我们把它弄好一点。

我经常发现只有带有搜索词的行并不能显示必要的细节。这就是为什么我使用 grep 命令在带有 option 的搜索词之前和之后显示几行-C

tail -f log_file | grep -C 3 search_term

现在,您将看到与搜索词匹配的行以及它前后的 3 行。这将更好地了解正在发生的事情。

想让它变得更好吗?您可以对多个搜索词进行 grep,甚至使其成为不区分大小写的搜索:

tail -f log_file | grep -C 3 -i - E 'search_term_1|search_term_2'

使用日志旋转跟踪文件

如果您在企业服务器上工作,则日志可能会轮换。这意味着当前日志文件达到一定大小后,将对其进行重命名和压缩。

如果您实时跟踪日志文件,则会产生问题。默认情况下,tail 命令作用于文件描述符。如果当前日志文件被轮换,tail 命令现在将指向一个归档日志文件,该文件现在不会记录任何更改。

解决方案是按名称跟随日志文件。这样,即使发生日志轮换,尾部也会指向当前的日志文件(因为它的名字永远不会改变)。

tail --follow=name log_file | grep -C 3 -i - E 'search_term_1|search_term_2'

现在好多了。下次跟踪日志文件时,使用这种方式可以更有效地监视它。

Tail 非常适合实时监控日志文件,但是如果您必须同时分析多个日志文件怎么办?答案在下一节。

用tail查看多个日志文件

这应该适用于 Linux 系统。您可以使用 tail 命令同时监视多个日志文件。只需以这种方式提供文件的路径:

tail -f log_file_1 -f log_file_2

您会看到它开始显示实时更改以及它之前的文件名,以便您可以区分不同的日志源。

方法二:用multitail一次监控多个日志文件

Multitail,顾名思义,用于一次显示多个文件。

有什么大不了的?tail 命令也可以这样做,对吗?

但是 Multitail 比传统的 tail 命令有一些优势。它以拆分视图显示文件,您甚至可以在不同的行和列中显示不同的文件。

请记住,tail 在同一视图中显示所有内容,这变得难以遵循。Multitail 通过提供像screen 命令这样的拆分视图来克服这个困难。

Multitail 不是像 tail 这样的基本命令,您可能必须在使用它之前安装它。

您可以向它提供多个文件,但我认为一次跟踪 3 个以上的文件会很困难。

multitail log_file_1 log_file_2

默认情况下,多尾与tail -f. 它显示最后 100 行,然后进入实时视图。默认情况下,它按行拆分视图。

您可以按 b 打开选择器窗口并选择您选择的日志文件进行查看并滚动浏览以进行进一步深入的分析。

按 q 退出multitail 中的所有类型的视图。

您可以像这样在列中拆分视图:

multitail -s 2 log_file_1 log_file_2

-s列数和列数之间有一个强制空格。

Multitail 能够做一些其他的事情,但我不会在本教程中详细介绍这些细节。

到目前为止,您已经看到了两种监视日志文件的方法。还有另一种不太传统的方式来查看现实生活中的文件更改,那就是使用 less 命令

方法三:用less命令实时查看日志文件变化

less 命令更多地用于读取文本文件而不会弄乱屏幕。它还可以用于读取具有实时更改的文件。

该选项+F允许较少跟踪对文本文件所做的更改。

less +F log_file

它打开日志文件,并实时显示写入其中的更改。

按 Ctrl+c 中断,按 q 退出视图。

与 tail 命令不同,此方法允许您快速查看日志更改,而不会弄乱屏幕。

结论

这种在 Linux 中监控日志文件的方法适用于传统的基于文本的日志文件。对于系统日志,syslogs 仍然存在,但许多 Linux 发行版已切换到日志日志,并且要查看日志日志的分析,您必须使用 journalctl 命令。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-人工智能
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯