当前位置:首页 > 数码 > 经常使用-grep-awk把握日志监控-中日志剖析神器-ail-Linux-和 (经常使用公共卫生间引起尿路感染)

经常使用-grep-awk把握日志监控-中日志剖析神器-ail-Linux-和 (经常使用公共卫生间引起尿路感染)

admin8个月前 (04-14)数码42

一个日志查问剖析的例子

名目颁布上线后,接上去须要做什么?开Party,庆贺名目上线。但是Party开到一半,服务运转出了点疑问。指导要你马上考查要素并给出适合的处置方法。名目才刚上线,日志监控系统都还没来得及完善。你该怎样处置?

登录主机,查问日志文件定位相关日志,并剖析要素。所以在主机上启动日志查问,成为了必备的技艺。

于是你登上了主机,找到了对应服务的日志文件,输入了:

但这只能看最新的日志输入,不能看到过去的某个期间点的日志,或许依据某些特定的字符启动挑选。

于是你输入了命令:

tail-n20000<xx-service>.log|grep"ERROR"-A50-B50

检查了最近20000行中产生ERROR的日志并包括其前50行和后50行。

一顿操作后你考查出了详细要素,并给出了疑问的处置方法。但是你想考查一下疑问产生的频次:

tail-n2000<xx-service>.log|grep'ERROR'|awk'{count++;}END{print"errorcount:",count}'

随后你剖析出了产生疑问的更深档次的要素,并出具了基本要素剖析报告。

在不具有完善的ELK日志搜集剖析系统的状况下,日志查问剖析只能依托Linux基础的日志查问剖析工具:tail,grep,awk等命令。

tail命令

tail命令用于检查日志文件,经常出现用法如下:

显示文件的最后10行:

显示文件的最后200行:

显示文件第200行开局到末尾的内容:

tail-n+200<filename>

循环读取文件:

更多tail命令相关的信息,可以经过tail--help命令检查。

grep命令

grep命令用于在一个或多个输入文件中,搜查与正则婚配的行,并将婚配的行规范输入。

在日志查问中,通罕用来将tail的输入结果启动过滤日志,经常出现用法如下:

(1)显示最近2000行日志中,蕴含Error(辨别大小写)的日志行如蕴含SystemError,InputError,Error等单词的行

tail-n2000<filename>|grep'Error'

(2)显示最近2000行日志中,蕴含Error单词(辨别大小写)的日志行:

tail-n2000<filename>|grep-w'Error'

-w示意婚配单词。

(3)假设不辨别大小写,则可以用以下命令:

tail-n2000<filename>|grep-wi'Error'

-i参数则示意不辨别大小写。

(4)假设须要显示不蕴含Error的日志行,则可以用以下命令:

tail-n2000postman.log|grep-wiv'Error'

-v示意对婚配的条件取反.

(5)假设须要启动正则婚配则可以添加-e参数,-E参数则示意裁减正则婚配

tail-n2000postman.log|grep-e'.*Error.*'tail-n2000postman.log|grep-E'.*Error.*|.*error.*'

(6)-A参数可以蕴含婚配行的前n行,-B参数则蕴含婚配行的后n行,上文的提到的命令

tail-n20000<xx-service>.log|grep"ERROR"-A50-B50

则示意婚配蕴含ERROR字符的行,以及前50行和后50行。

更多grep命令相关的信息,也可以经过grep--help命令检查。

awk命令

awk是一个文本处置工具,关键用于数据扫描,过滤,统计汇总等。

awk基本语规律是:

awk'<pattern>{<action>}<pattern>{<action>}...'

上方提到的一个关于awk的命令则是统计了一下日志中产生ERROR字符的行数。

tail-n2000<xx-service>.log|grep'ERROR'|awk'{count++;}END{print"errorcount:",count}'

更繁难的成功方式则可以经过awk的内置变量成功,如列出ls命令输入的结果行数:

ls|awk'END{printNR}'

END是awk中的一个关键字,前面接的代码块只会在读取完一切数据记载最后口头一次性。与之同样的则是BEGIN,前面接的代码块只会在读取数据记载前口头一次性。

awk是一个十分弱小的文本剖析工具,假设有日志剖析需求,awk足以应答日常所需。更多关于awk的教程可以自行在网上搜查相关资料,或许检查官方教程:

总结

总之,基于linux的日志查问剖析,联合tail、grep、awk这三个命令的运用,就齐全满足日常的日志剖析需求了。tail控制日志查找范畴,grep启动关键词挑选,awk用于剖析统计。


查看linux系统日志命令查看linux系统的日志

`linux的登录日志怎么查看?

more/var/log/securewho/var/log/wtmp干了些什么?

root账户下输入su-username切换到username下输入history能看到这个用户历史命令,默认最近的1000条。学习Linux,《Linux就该这么学》这本书能提供更全面的学习路线。

linux下查找日志的技巧?

先必须了解两个最基本的命令:

查询日志尾部最后10行的日志;

tail-n+查询10行之后的所有日志;

查询日志文件中的头10行日志;

查询日志文件除了最后10行的其他所有日志;

场景1:按行号查看---过滤出关键字附近的日志

因为通常时候我们用grep拿到的日志很少,我们需要查看附近的日志.我是这样做的,首先|grep地形得到关键日志的行号。

3>得到地形关键字所在的行号是102行.此时如果我想查看这个关键字前10行和后10行的日志:

|tail-n+92|head-n20

tail-n+92表示查询92行之后的日志

head-n20则表示在前面的查询结果里再查前20条记录

这个根据时间段查询日志是非常有用的命令.

如果我们查找的日志很多,打印在屏幕上不方便查看,有两个方法:

经常使用公共卫生间引起尿路感染

(1)使用more和less命令,如|grep地形|more这样就分页打印了,通过点击空格键翻页

(2)使用>将其保存到文件中,到时可以拉下这个文件分析.如:

|grep地形>

linux如何在日志中查找关键字?

两种方法:一种是直接进入编辑模式,vi进入后,通过匹配关键字查找你要的东西;一种是直接cat文件然后grep关键字。拓展:

1、Linux操作系统是基于UNIX操作系统发展而来的一种克隆系统,它诞生于1991年的10月5日(这是第一次正式向外公布的时间)。以后借助于Internet网络,并通过全世界各地计算机爱好者的共同努力,已成为今天世界上使用最多的一种UNIX类操作系统,并且使用人数还在迅猛增长。

2、Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。它主要用于基于Intelx86系列CPU的计算机上。这个系统是由全世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品。

linux下怎么查看ssh的用户登录日志?

sshd服务在linux中是默认开启的,/etc/ssh/sshd_config看看有没有这个文件,或者是使用sship地址登陆一下,ip地址就是你的linux主机的地址。你要是实在不明白就去网上收一下《linux就该这么学》,看看他的第9章,专门讲了ssh服务。

如何分析Linux日志?

一般两种类型日志:永久日志rsyslog临时日志

临时日志查看journalctl-f参数可追踪实时日志

永久日志保存在/etc/log目录下,通过修改/etc/参数可定义不同日志的输出路径

配置路径格式:设备名.优先级;例外路径

例如*;;;/var/log/messages

表示的是:所有日志优先级在info以上包含info除去mailauthprivcron的日志保存在/var/log/messages中

常用日志

message系统信息日志

sercue安全审计日志

系统启动日志

dmesg硬件检测日志(此日志只能用dmesg命令查看)

所有通过yum安装的软件的安装日志

wtmp用户登录登出记录(用last查看)

查看日志可用cat或者more命令

linux三剑客的基本使用——grep、sed、awk

grep、sed、awk是linux功能非常强大的三个命令,grep是查找过滤文本,sed是对文本进行编辑替换,awk是对文本进行分析报告。 最简单的理解就是找什么东西用grep,想修改什么内容用sed,想格式化内容用awk。 创建一个文件名为grep_的文件,并放入内容: SillyMadman is both a madman and a fool. Everyone agrees with this sentence. 我要查找在grep_文件里有Silly的行 命令是: grep Silly grep_ 会返回内容:SillyMadman is both a madman and a fool. 也可以带以下参数,这些我认为可能容易用到的参数,其它的参数需要另行查找 文档,比如可以使用正则进行匹配。 内容相关的 -B, --before context=NUM显示所在行之前的行数 -A, --after context=NUM显示所在行之后的行数 -C, --context=NUM打印输出上下文的行数 过滤内容相关的参数: -i, --忽略大小写区分 -w,--匹配查找的整个单词 -x,--匹配查找的整行文本 -v, --过滤掉匹配的内容 输出内容相关的参数 -n, --行号打印带有输出行的行号 比如,我要查找在grep_文件里不区分大小写查找sillymadman,并显示行号和匹配文本的下一行,那么我可以用以下命令查找 grep sillymadman grep_ -i -n -A1 内容返回为 1:SillyMadman is both a madman and a fool. 2-Everyone agrees with this sentence. 总体而言grep的使用方式就是 grep [参数...](查找的内容) (文件名) grep也经常搭配管道符号|使用,比如我要查询某程序的进程,并去掉查找进程本身,那么命令为 ps -ef | grep program_name | grep -v grep 再创建一个文件名为sed_的文件,并放入内容: SillyMadman is both a madman and a fool. Everyone agrees with this sentence. 我想要在第一行下面添加一句:woshishazi 命令是:sed 1a\woshishazi sed_ 返回内容为: SillyMadman is both a madman and a fool. woshishazi Everyone agrees with this sentence. 但是以上这个命令不会修改原文件,如果需要,需要加上-i sed -i1a\woshishazi sed_ 上面a是代表append,从指定行后面新的一行添加数据,还有其他操作 操作有以下这些 a :从下面一行新增 i :从上面一行插入, d :删除 c :整行替换 p :打印 s :对指定内容进行替换 下面稍微举下例: a: sed 1a\woshishazi sed_ 从第一行后面添加 i: sed 1i\woshishazi sed_ 从第一行前面插入 d: sed 1d sed_ 删除第一行 c: sed 1c\woshishazi sed_ 替换第一行内容为woshishazi p: sed -n 1p sed_打印第一行,一般搭配-n使用,其他内容就不会再展示 s:这个相对复杂一点需要详细说明一下 sed的参数为 [行]s/要被替换的内容/新的内容/g 行是一个可选项,可以选择具体的行进行替换 g代表替换所有匹配到的内容,也可以改为数字,表示第几次匹配到时进行替换 seds\SillyMadman\shafengzi\g sed_ ,将所有SillyMadman替换为shafengzi 输出结果为: shafengzi is both a madman and a fool. Everyone agrees with this sentence. 最后再创建一个文件名为awk_的文件,并放入内容: 1 a 2 b 3 c 4 d 5 f 以空白符作为分隔符这个文本相当于每一行有两个字段。 那么打印第一个字段时 awk {print 0的话,则代表打印所有字段 awk默认以空白符作为分隔符,也可以指定分割符通过-F awk -F: {print $1} awk_,以“:”作为作为分隔符 那么返回内容就为 1 a 2 b 3 c 4 d 5 f 相当于只有一列或者说一个字段 然后还可以对前面加上一个正则对行进行匹配内容 awk/a/{print 2 ~ /a/){print $1} awk_ 返回内容为 1

免责声明:本文转载或采集自网络,版权归原作者所有。本网站刊发此文旨在传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及版权、内容等问题,请联系本网,我们将在第一时间删除。同时,本网站不对所刊发内容的准确性、真实性、完整性、及时性、原创性等进行保证,请读者仅作参考,并请自行核实相关内容。对于因使用或依赖本文内容所产生的任何直接或间接损失,本网站不承担任何责任。

标签: Linux

“经常使用-grep-awk把握日志监控-中日志剖析神器-ail-Linux-和 (经常使用公共卫生间引起尿路感染)” 的相关文章

Linux-中创建文件的八种方法 (linux系统)

Linux-中创建文件的八种方法 (linux系统)

在 Linux 系统中,一切皆文件,高效创建文件的技能至关重要,可以节省大量工作时间。 方法 1:重定向符号 (>) 重定向符号用于创建一个 0KB 的空文件,或重定向命令的输出...

在Linux系统中每隔1小时智能运转指定命令 (在linux系统中,以什么访问设备)

在Linux系统中每隔1小时智能运转指定命令 (在linux系统中,以什么访问设备)

在系统中,通常状况下经常使用crontab命令来设置定时义务,本文以每隔1个小时运转一条指令为例子,和大家一同探讨crontab的用法。 详细的操作步骤: 0*/1***/path/com...

Linux日常使用最常见的指令 (linux日志命令)

Linux日常使用最常见的指令 (linux日志命令)

历史 Linux 系统创建于 1991 年,由芬兰大学生 Linus Torvalds 开发。它是一个开源操作系统,这意味着它的源代码可以免费使用和修改。由于其高度的可定制性和免费性,Lin...

嵌入式Linux系统开发 (嵌入式linux)

嵌入式Linux系统开发 (嵌入式linux)

什么是嵌入式系统 嵌入式系统是一种以微处理器为核心的、专门针对某一特定应用设计的计算机系统。它具有体积小、功耗低、成本低、稳定性高、抗干扰能力强等特点。 嵌入式系统操作 嵌入式系...

如何管理数据存储-深入剖析Linux中的磁盘和文件系统 (如何管理数据库团队)

如何管理数据存储-深入剖析Linux中的磁盘和文件系统 (如何管理数据库团队)

简介 在Linux系统中,一切皆文件的概念意味着所有的资源,包括普通文件、目录以及设备文件等,都以文件的形式存在。这种统一的文件系统管理方式使得Linux系统具有高度的灵活性和可扩展性。本文将深...

可视化管理神器-运维效率翻倍-VisualPlus-Linux (可视化管理神器怎么用)

可视化管理神器-运维效率翻倍-VisualPlus-Linux (可视化管理神器怎么用)

简介 Linux是一种功能强大且广泛使用的操作系统,服务器的运维管理主要依赖命令行操作。对于普通人来说,这种方式晦涩难懂,相对复杂。而1Panel是一款开源的Linux可视化管理项目,旨在为...

和开源的六大趋势预测-年-2024-Linux (开源有哪些)

和开源的六大趋势预测-年-2024-Linux (开源有哪些)

2024 年的钟声已经敲响,我们有必要展望一下将塑造本年度的各种潮流。我们不能预见未来,所以无法精确预知将会发生什么,但根据目前观察到的动向,我们可以进行一些预测。以下是我们对开源发展方向的预测。...