linux日志分析

linux日志默认存放位置:/var/log/
查看日志配置情况:more /etc/rsyslog.conf

1.常见linux文件

/var/log/boot.log:录了系统在引导过程中发生的事件,就是Linux系统开机自检过程显示的信息
 
/var/log/lastlog :记录最后一次用户成功登陆的时间、登陆IP等信息
 
/var/log/messages :记录Linux操作系统常见的系统和服务错误信息
 
/var/log/secure :Linux系统安全日志,记录用户和工作组变坏情况、用户登陆认证情况
 
/var/log/btmp :记录Linux登陆失败的用户、时间以及远程IP地址
 
/var/log/syslog:只记录警告信息,常常是系统出问题的信息,使用lastlog查看
 
/var/log/wtmp:该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件,使用last命令查看
 
/var/run/utmp:该日志文件记录有关当前登录的每个用户的信息。如 who、w、users、finger等就需要访问这个文件
 
/var/log/syslog 或 /var/log/messages 存储所有的全局系统活动数据,包括开机信息。基于 Debian 的系统如 Ubuntu 在 /var/log/syslog 中存储它们,而基于 RedHat 的系统如 RHEL 或 CentOS 则在 /var/log/messages 中存储它们。
 
/var/log/auth.log 或 /var/log/secure 存储来自可插拔认证模块(PAM)的日志,包括成功的登录,失败的登录尝试和认证方式。Ubuntu 和 Debian 在 /var/log/auth.log 中存储认证信息,而 RedHat 和 CentOS 则在 /var/log/secure 中存储该信息。
比较重要的几个日志: 登录失败记录:/var/log/btmp //lastb 最后一次登录:/var/log/lastlog //lastlog 登录成功记录: /var/log/wtmp //last 登录日志

2.查询方法

Linux下常用的shell命令如:grep 、find、egrep、awk、sed
1.grep

grep [-abcEFGhHilLnqrsvVwxy][-A<显示行数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...]

参数:
-a 或 --text : 不要忽略二进制的数据。
-A<显示行数> 或 --after-context=<显示行数> : 除了显示符合范本样式的那一列之外,并显示该行之后的内容。
-b 或 --byte-offset : 在显示符合样式的那一行之前,标示出该行第一个字符的编号。
-B<显示行数> 或 --before-context=<显示行数> : 除了显示符合样式的那一行之外,并显示该行之前的内容。
-c 或 --count : 计算符合样式的列数。
-C<显示行数> 或 --context=<显示行数>或-<显示行数> : 除了显示符合样式的那一行之外,并显示该行之前后的内容。
-d <动作> 或 --directories=<动作> : 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。
-e<范本样式> 或 --regexp=<范本样式> : 指定字符串做为查找文件内容的样式。
-E 或 --extended-regexp : 将样式为延伸的正则表达式来使用。
-f<规则文件> 或 --file=<规则文件> : 指定规则文件,其内容含有一个或多个规则样式,让grep查找符合规则条件的文件内容,格式为每行一个规则样式。
-F 或 --fixed-regexp : 将样式视为固定字符串的列表。
-G 或 --basic-regexp : 将样式视为普通的表示法来使用。
-h 或 --no-filename : 在显示符合样式的那一行之前,不标示该行所属的文件名称。
-H 或 --with-filename : 在显示符合样式的那一行之前,表示该行所属的文件名称。
-i 或 --ignore-case : 忽略字符大小写的差别。
-l 或 --file-with-matches : 列出文件内容符合指定的样式的文件名称。
-L 或 --files-without-match : 列出文件内容不符合指定的样式的文件名称。
-n 或 --line-number : 在显示符合样式的那一行之前,标示出该行的列数编号。
-o 或 --only-matching : 只显示匹配PATTERN 部分。
-q 或 --quiet或--silent : 不显示任何信息。
-r 或 --recursive : 此参数的效果和指定"-d recurse"参数相同。
-s 或 --no-messages : 不显示错误信息。
(!!常用!!)-v 或 --invert-match : 显示不包含匹配文本的所有行。
-V 或 --version : 显示版本信息。
-w 或 --word-regexp : 只显示全字符合的列。
-x --line-regexp : 只显示全列符合的列。
-y : 此参数的效果和指定"-i"参数相同。
grep -rn “ERROR!”  查找含有某字符串的所有文件
grep -n 'ERROR' *.log 从日志中捞到对应信息(查询含有特定文本的文件,并可以通过 -n 拿到这些文本所在的行)

find / -type f -name "*.log" | xargs grep "ERROR"
从根目录开始查找所有扩展名为 .log 的文本文件,并找出包含 “ERROR” 的行(使用grep和find结合查找log文件内容

其他查询方法

find /var -name log 在目录/var中查找log文件
awk -F: '$3==0{print $1}' /etc/passwd 读取账号文件第一行第三列,默认是 ROOT 用户
sed -i ‘153,$d’ .bash_history 删除历史操作记录,只保留前153行
tail /var/log/messages 查看 messages 日志

3.演示

1.tail /var/log/messages 系统日志,主要记录内核和公共消息
在这里插入图片描述

May 25 08:17:01 事件的日期和时间
kali 主机名称 
xdg-desktop-por[1011]: 进程名称
Failed connect to PipeWire: Couldn't connect to PipeWire 事件日志信息

2./var/log/wtmp:记录所有用户登录的详细信息
这是一个二进制文件,不能用cat、vi、tail、more这些命令打开查看,用 last 命令查看。last 作用是显示近期用户或终端登录的情况(包括:登录、注销及系统的启动、停机的事件。
在这里插入图片描述
在这里插入图片描述

第一列:用户名。

第二列:终端位置。(pts/0 伪终端,SSH 或 telnet 等工具远程连接的用户,tty0 直接连接到计算机或本地连接的用户,后面的数字代表连接编号)。

第三列:登录 IP 或 内核。(如果是 0.0 或者 什么都没有,意味着用户通过本地终端连接,除了启动活动,内核版本会显示在状态中)。

第四列:开始时间。

第五列:结束时间。(still、login in 尚未推出,down 直到正常关机,crash 直到强制关机)。

第六列:持续时间。

作者:捌千里路雲和月
链接:https://www.jianshu.com/p/f11cbb43a39b
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

3./var/log/btmp:记录失败的登录记录
这是一个二进制文件,不能用cat、vi、tail、more这些命令打开查看,用 lastb 命令查看。

lastb -10
第一列:用户名。
第二列:终端位置。(连接失败:notty)。
第三列:登录 IP。
第四列:开始时间。
第五列:结束时间。
第六列:持续时间。

4./var/run/utmp:用户登录、注销及系统开、关等事件
这是一个二进制文件,不能用cat、vi、tail、more这些命令打开查看。用 w / who 命令查看。
在这里插入图片描述

w 命令:查看登录者的信息及行为。(注意需要时持续行为才能被记录)

第一行:系统当前时间、系统没有中断持续性的运行时间、当前登录用户数、CPU在之前 1 分钟、5分钟、15分钟的平均负载。

USER: 登录用户名。

TTY:登录后系统分配的终端号。(tty:物理机本机终端、pts:远程终端) 

FROM:远程主机名 IP。(tty 物理机本机不显示、pts 远程终端会显示 IP) 

LOGIN@ :登录时间。

IDLE:用户闲置时间 。这是个计时器,用户执行任何操作,计时器就会被重置。(这里显示的时间是距离上次命令操作后多久没有进行操作的闲置时间)

JCPU:执行命令进程所消耗的总时间。 终端连接的所有进程占用时间,包括当前正在运行作业占用的时间。

PCPU:当前进程所消耗 CPU 的时间。 
who 命令:显示关于当前在本地系统上的所有用户信息。

其他日志读取方法类似

参考:https://www.jianshu.com/p/f11cbb43a39b

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浅*默

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值