Linux系统日志与分析
Linux7 系统的日志是由一个叫做 rsyslog 的服务来管理的, 系统日志默认的守护进程为 rsyslog , rsyslog 是 syslog 的一个升级版本。
查看rsyslog 运行状态:
systemctl status rsyslog.service
rpm -qa |egrep rsyslog //检查是否安装rsyslog
rpm -ql rsyslog |more //查找主配置文件
主要配置文件:/etc/rsyslog.conf
Linux 系统内核和许多程序服务会产生各种错误信息、告警信息,这些信息都记录到日志文件中,完成这个过程的程序就是 rsyslog,rsyslog 可以根据日志的类别和优先级将日志保存到不同的文件中。
日志类型:
类型 | 说明 |
auth | 用户认证时产生的日志,如login命令、su命令。 |
authpriv | 与 auth 类似,但是只能被特定用户查看。 |
console | 针对系统控制台的消息。 |
cron | 系统定期执行计划任务时产生的日志。 |
daemon | 某些守护进程产生的日志。 |
ftp | FTP服务。 |
kern | 系统内核消息。 |
local0.local7 | 由自定义程序使用。 |
lpr | 与打印机活动有关。 |
邮件日志。 | |
mark | 产生时间戳。系统每隔一段时间向日志文件中输出当前时间,每行的格式类似于 May 26 11:17:09 rs2 -- MARK --,可以由此推断系统发生故障的大概时间。 |
news | 网络新闻传输协议(nntp)产生的消息。 |
ntp | 网络时间协议(ntp)产生的消息。 |
user | 用户进程。 |
uucp | UUCP子系统。 |
日志优先级:
优先级 | 说明 |
emerg | 紧急情况,系统不可用(例如系统崩溃),一般会通知所有用户。 |
alert | 需要立即修复,例如系统数据库损坏。 |
crit | 危险情况,例如硬盘错误,可能会阻碍程序的部分功能。 |
err | 一般错误消息。 |
warning | 警告。 |
notice | 不是错误,但是可能需要处理。 |
info | 通用性消息,一般用来提供有用信息。 |
debug | 调试程序产生的信息。 |
none | 没有优先级,不记录任何日志消息。 |
常见日志文件:系统日志一般存储于 /var/log 目录下
文件/目录 | 说明 |
/var/log/message | 该日志文件是许多进程日志文件的汇总,记录Linux操作系统常见的系统和服务错误信息,从该文件可以看出任何入侵企图或成功的入侵。 |
/var/log/boot.log | 开启或重启日志。记录了系统在引导过程中发生的事件,就是Linux系统开机自检过程显示的信息。 |
/var/log/lastlog | 记录最后一次用户成功登录的时间、登录IP等信息(二进制日志文件,一般通过命令 lastlog 查看)。 |
/var/log/secure | Linux系统安全日志,记录用户和工作组变化情况、用户登录认证情况。 |
/var/log/btmp | 记录Linux登录失败的用户、时间以及远程IP地址。 |
/var/log/wtmp | 该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件,二进制日志文件,使用last命令查看。 |
查看 /etc/rsyslog.conf:
egrep -v "^#|^$" /etc/rsyslog.conf
通过查看 rsyslog.conf 可以总结出部分日志文件记录的信息。
/var/log/messages
记录了系统日常的一些操作,内核态和用户态的信息都有,对于这个文件,我们日常只需要关注一些错误和告警信息:
egrep -ri 'error|warn' /var/log/messages
/var/log/boot.log
该日志记录的是系统启动的过程
more /var/log/boot.log
可以通过该日志,查看某些服务启动成功或者失败。
/var/log/lastlog
不用直接查看该日志文件,通过命令:lastlog 查看:
lastlog
查看的某系统用户最后一次登录的记录,一些系统用户从来不登录最后一次就是 **Never logged in**
通过 last 可以查看那些会话在线,什么时候重启。记录了登录会话的时间,但是无法查看是哪个用户执行了重启的操作。
last
/var/log/secure
主要记录用户登录认证。
如果出现大量: authentication failure; 就表示有程序或者人为在尝试登录。可以通过加强 ssh 或者 iptables 来管控登录次数。
more /var/log/secure
/var/log/btmp
记录Linux登录失败的用户、时间以及远程IP地址
该文件是一个二进制保存的文件,直接使用 lastb 命令查看。如果该日志文件过大,可以清空该文件。
lastb
/var/log/wtmp
该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件,使用last命令查看
直接使用 last 命令查看:
last
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了