linux系列之:9秒钟掌握多种实时查询日志的方法,再也不用cat命令了。

author author     2022-12-20     391

关键词:


实时查询日志

  • 1、引言
  • 2、less
  • 3、tail
  • 3.1 单文件实时查询
  • 3.2 多文件实时查询
  • 3.3 目标名称查询
  • 3.4 跟踪日志
  • 4、multitail
  • 4.1 安装
  • 4.2 用法
  • 5、总结

1、引言

由于最近从某些企业毕业的同学很多,导致很多同学不得不投简历,找工作。

作为面试官的我,在最近也是没少忙活。

小屌丝:鱼哥,最近听说你最近睡得挺晚的。

小鱼:你咋知道, 你是不是在我的电脑安装了什么…

小屌丝:鱼哥,我这么正经, 怎么能干那么流氓的事情…

小鱼:那你咋知道我睡得晚。

小屌丝:用脚指头就能想到, 最近上海有很多企业的同学毕业了,所以…会有一些毕业的同学约你帮忙看简历,聊聊面试技能之类的吧。

小鱼:嗯,最近在公司也面试了不少的同学,但是,这些同学的共性之一都是,对linux的命令不太熟,

小屌丝:比方说呢?

小鱼:如何实时查询日志文件,如何同时实时查询两个日志文件呢?

小屌丝:这个我能想到, cat,tail

小鱼:然后呢,

小屌丝:没有然后了.

小鱼:…

Linux系列之:9秒钟掌握多种实时查询日志的方法,再也不用cat命令了。_服务器


其实关于Linux的命令,我专门写过一篇《吊打面试官系列之:掌握了这166个Linux常用命令,面试官果然被我征服了。。

有的同学私下反馈, 鱼哥,这么多命令,我好难背的哦。

唉~~~

为了照顾某些同学,我今天就对如何实时查询日志的方法,进行总结。

2、less

说道less, 我想,应该没人不知道吧

  • 分页显示文件内容,more命令的相反用法;
  • 多用于读取文本文件,
  • 用于读取实时被更改的文件

用法

less +F err.log  #+F 实时追踪更改的文件

说的没错,我们来演示一下,

处于职业素养, 我把服务器重要信息 隐藏了。

Linux系列之:9秒钟掌握多种实时查询日志的方法,再也不用cat命令了。_linux_02


我们可以看到,日志很清晰的展示出来。

当然,如果退出视图的话, 按 q 就可以。

3、tail

3.1 单文件实时查询

接着,我们就来说说tail呢。
关于tail,我们在平时也会经常的用到,也是很高频的一个linux命令。
我们想想一下,关于Linux常用的命令:
用法

tail -f err.log

Linux系列之:9秒钟掌握多种实时查询日志的方法,再也不用cat命令了。_日志文件_03

3.2 多文件实时查询

关于tail的用法,还有更厉害的。
如果我们既想看 error.log 文件,又想看info.log文件信息,
如何使用一行命令查看呢?
这里,tail就会解决你的困扰。

用法

tail -f err.log  -f  info.log

展示

Linux系列之:9秒钟掌握多种实时查询日志的方法,再也不用cat命令了。_运维_04

3.3 目标名称查询

如果你要查看的日志内容更新很快, 例如,info.log文件的内容肯定是刷刷的不停的更新,这个时候,就非常的不方便,
小屌丝:这种情况,有没有解决办法呢?
小鱼:这还用说,必须的。
tail + grep 可以帮你解决这个问题
用法

tail -f log_file | grep search_term

展示

Linux系列之:9秒钟掌握多种实时查询日志的方法,再也不用cat命令了。_日志文件_05

如果出现的内容较多, 看着不方便,也可以解决的。
利用 grep -C 来显示查询结果的前后几行:
用法

tail -f log_file | grep -C 3 search_term

当然, 我们也可以查询多个名称

用法

tail -f log_file | grep -C 3 -i - E search_term_one | search_term_two

3.4 跟踪日志

日志轮转(rotation)后的跟踪,这在大厂中很常见,尤其像这种 双十一大型活动,
日志的输出量是很多的。
如果实时跟踪日志文件, 就会占用资源,也可能会出现问题。
这个时候, tail的功能就体现出来了。

默认情况下,tail 命令用于文件描述符。如果当前日志文件被旋转,tail 命令现在将指向一个存档日志文件,该文件现在不会记录任何更改。

解决方案是按照日志文件的名称跟踪日志文件。这样,即使发生日志旋转,尾部也将指向当前日志文件(因为其名称从未更改)。

用法:

tail --follow=name  error.log | grep -C 3 -i - E search_term_one search_term_two

Linux系列之:9秒钟掌握多种实时查询日志的方法,再也不用cat命令了。_linux_02

4、multitail

以上两个都是linux自带的,接下来介绍的,是需要安装的,即:multitail
小屌丝:鱼哥,multitail是不是有什么特别的技能,
小鱼:何出此言?
小屌丝:否则,前两个介绍的都是Linux自带的,而multitail是需要安装的, 所以,一点有哪一点,打动了你,
小鱼:奈斯。multitail确实有打动我的点。

multitail的优点在于:可以拆分视图显示文件。
顾名思义,可以同时显示多个文件, 也可以把每个文件拆分视图显示。

4.1 安装

关于安装, 这里就简单提一下, 毕竟, 安装方式很简单。

安装依赖

[root@node1 tmp]# wget http://mirror.centos.org/centos/7/os/x86_64/Packages/ncurses-devel-5.9-14.20130511.el7_4.x86_64.rpm
[root@node1 tmp]# rpm -ivh ncurses-devel-5.9-14.20130511.el7_4.x86_64.rpm --nodeps

安装multitail

wget https://www.vanheusden.com/multitail/multitail-6.5.0.tgz
tar xf multitail-6.5.0.tgz
cd multitail-6.5.0
make
echo $?
make install
echo $?

4.2 用法

multitail 的用法, 跟tail -f 一样,
所以没有太多的复杂度,

用法

multitail file_1 file_2

默认显示最后100行。

不同之处在于:
使用 -s 选项拆分视图,后面跟一个数字,即视图的数量:

用法

multitail -s 2  file_1 file_2

Linux系列之:9秒钟掌握多种实时查询日志的方法,再也不用cat命令了。_运维_07

如果想学习更多multitail 的命令,可以使用 -h 来进行查看

multitail -h

5、总结

看到这里, 今天的分享差不多就结束了。
关于实时查看日志的方式,还可以通过journal 命令。
如果感兴趣的你, 可以在深入研究journal 。
据说也是一个很不错的命令。

最后,再唠叨一句,我是小鱼

  • 金牌面试官
  • 商务合作|面试培训|职场规划,可以扫码咨询

Linux系列之:9秒钟掌握多种实时查询日志的方法,再也不用cat命令了。_运维_08

同时,我也做面试培训与职场规划:

  • 如果你处于职场迷茫期,欢迎来咨询;
  • 如果你处于技术瓶颈期,也欢迎咨询;

kafka用户日志上报实时统计之分析与设计

...的通过对项目的分析,可以初步得到以下目的:•实时掌握用户动态•根据实时统计结果,适度推广•统计分析效果,快速合理的调整二、Producer模块分析分析生产数据来源在用户上报日志中,每条日志记录代表用户的一... 查看详情

如何实时查看linux下的日志

...是否能正常运行,这一点就消除了他们的疑虑。Linux支持多种平台Linux可以运行在多种硬件平台上,如具有x86、680x0、SPARC、Alpha等处理器的平台。此外Linux还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或游戏机上。2001... 查看详情

如何实时查看linux下的日志

...是否能正常运行,这一点就消除了他们的疑虑。Linux支持多种平台Linux可以运行在多种硬件平台上,如具有x86、680x0、SPARC、Alpha等处理器的平台。此外Linux还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或游戏机上。2001... 查看详情

linux监控日志文件实时输出的方法(tail命令)

...那么快,要积攒到一定字节才会写入,所以比起实时输出到屏幕的方法,这种看起来会一卡一卡的,不连贯,但是够用。。。参考文章:总有一种适合你:Linux下4种实时监控日志文件的方法 查看详情

9.linux日志管理

...下。实时显示日志文件​​tail-f/var/log/messages​​。CentOS系列Linux的日志(Ubuntu不太一样,但是也有该程序)​​/var/log/messages​​记录主日志。​​var/log/security​​记录认证、安全相关日志。​​/var/log/yum.log​​记录yum相关日... 查看详情

9.3-9.9博客精彩回顾

...态实时采集、分析、展示​​​6.​​超简单的Python教程系列​​7.​​Java的jma 查看详情

如何实时查看linux下的日志

实时查看linux下的日志方法详见:https://zhidao.baidu.com/question/1755030658765549148.html参考技术Atail-fxxx.log 查看详情

debezium系列之:基于debezium实现高可靠性高实时性秒级别的数据响应系统

Debezium系列之:基于Debezium实现高可靠性高实时性秒级别的数据响应系统一、高可靠性高实时性系统的需求背景二、具体实现的技术方案三、具体实现技术步骤四、实时同步数据到下游五、技术方案总结一、高可靠性高实时性系... 查看详情

数据库面试系列之三:慢查询以及慢查询的优化

什么是慢查询?查询的执行时间大于mysql系统设置的指定时间(long_query_time)的话,该查询就叫做慢查询,会被记录到慢查询日志文件里面。  记录慢查询日志的设置是关闭,需要开启之后才可以记录慢查询setglobalslow_query_l... 查看详情

mysql系列之日志汇总:redologundologbinlogerrorlogslowqueryloggenerallogrelaylog

概述MySQL中至少有7种日志文件:重做日志(redolog)回滚日志(undolog)二进制日志(binlog)错误日志(errorlog)慢查询日志(slowquerylog)一般查询日志(generallog)中继日志(relaylog)。MySQLServerLog有4种:ErrorLog、GeneralQueryLog、Binary... 查看详情

linux查看log日志命令总结(代码片段)

...结合远程调试端口及时排查程序bug,是后端程序员需掌握的必备技能。Tailthelogfile是运维同学的口头禅,tail命令是最常用的查看日志语句,以日志文件server.log为例1.1tail-ffilenametail-fserver.log实时展示日志末尾内容,... 查看详情

linux系列之使用sed命令来排查日志(代码片段)

对于后端开发来说,定位日志很重要,可以加快bug的处理效率,之前习惯了使用tail-fn100test.logs,然后再用/加上关键字,定位日志内容,不过如果日志内容太多,不太好排查问题,就需要将日志截取... 查看详情

linux系列之使用sed命令来排查日志(代码片段)

对于后端开发来说,定位日志很重要,可以加快bug的处理效率,之前习惯了使用tail-fn100test.logs,然后再用/加上关键字,定位日志内容,不过如果日志内容太多,不太好排查问题,就需要将日志截取... 查看详情

springboot系列之canal和kafka实现异步实时更新(代码片段)

SpringBoot系列之canal和kafka实现异步实时更新实验开发环境JDK1.8SpringBoot2.2.1Maven3.2+开发工具IntelliJIDEAsmartGit1、什么是阿里canal?canal是阿里开源的,对数据库增量日志解析,提供增量数据订阅和消费的组件。引用官网... 查看详情

android系统编程入门系列之应用环境及开发环境介绍

...较完善了,现在也到了系统的整理一番的时间,接下来的系列文章将以Android开发者为中心,争取用归纳总结的态度对初级入门者所应掌握的基础知识聊以标记。应用环境    Android系统是Google基于Linux系统开发的一套移动系... 查看详情

linux查看日志的几种方法(代码片段)

...要习惯在业务关键点设置日志)。最常用查看日志方法:·实时日志:tail-fXXX.log·搜索关键字附近日志:cat-nfilename|grep"关键字"下面详细看下⬇⬇⬇:查看日志常用命令tail:-n是显示行号;相当于nl命令;例子如下:tail-100ftest.log实... 查看详情

firebase 9 查询实时数据库的关键

】firebase9查询实时数据库的关键【英文标题】:firebase9queryrealtimedatabaseforkey【发布时间】:2022-01-0523:48:16【问题描述】:我想使用firebase9查询实时数据库,我之前使用过adminsdk,我有这个可以工作的示例,但是我在调​​整到版... 查看详情

复习系列之多态

一多态的定义:     同一种操作作用于不同的类的对象,不同的类的对象进行不同的执行,最后产生不同的执行结果。简单理解:让一种对象表现出来多种类型二多态的实现方式(虚方法):(一)定义: ... 查看详情