linux 日志文件系统
日志文件
- 日志文件的作用
日志文件记录linux系统各个运行信息的文件。
- 日志文件的分类
-
内核及系统日志
内核及系统日志:这种日志由系统服务rsyslog统一管理,根据其主配置文件/etc/rsyslog.conf 设置。
rsyslog.conf格式含义
- ".":比后面等级高的都记录
- “=”:只记录该等级
- “!”:除了该等级都记录
- “-”:有记录消息时先缓存,到一定大小一起写入
-
用户日志
用户日志:用于linux系统用户登录以及退出信息。
-
程序日志
程序日志:有些程序会有自己的日志。
- 日志文件的位置
linux系统大部分日志默认在/var/log/下,一部分程序用于一个日志文件,一部分单用一个,而有的大型服务器程序日志由于日志文件不止一个,所以会在下面创建子目录,较好区分找到。
- 常见的日志文件及其查看方法
日志文件 | 说 明 |
---|---|
/var/log/cron | 记录与系统定时任务相关的曰志 |
/var/log/cups/ | 记录打印信息的曰志 |
/var/log/dmesg | 记录了系统在开机时内核自检的信总。也可以使用dmesg命令直接查看内核自检信息 |
/var/log/btmp | 记录错误登陆的日志。这个文件是二进制文件,不能直接用Vi查看,而要使用lastb命令查看。命令如下: |
[root@localhost log]#lastb | |
root tty1 Tue Jun 4 22:38 - 22:38 (00:00) | |
#有人在6月4 日 22:38便用root用户在本地终端 1 登陆错误 | |
/var/log/lasllog | 记录系统中所有用户最后一次的登录时间的曰志。这个文件也是二进制文件.不能直接用Vi 查看。而要使用lastlog命令查看 |
/var/Iog/mailog | 记录邮件信息的曰志 |
/var/log/message | 记录系统里要佶息的日志.这个日志文件中会记录Linux系统的绝大多数重要信息。如果系统出现问题,首先要检查的应该就是这个日志文件 |
/var/log/secure | 记录验证和授权方面的倍息,只要涉及账户和密码的程序都会记录,比如系统的登录、ssh的登录、su切换用户,sudo授权,甚至添加用户和修改用户密码都会记录在这个日志文件中 |
/var/log/wtmp | 永久记录所有用户的登陆、注销信息,同时记录系统的后动、重启、关机事件。同样,这个文件也是二进制文件.不能直接用Vi查看,而要使用last命令查看 |
/var/tun/ulmp | 记录当前已经登录的用户的信息。这个文件会随着用户的登录和注销而不断变化,只记录当前登录用户的信息。同样,这个文件不能直接用Vi查看,而要使用w、who、users等命令查看 |
- 日志消息级别
数字越小,等级越高
级别 |
---|
对应内核日志级别 |
说明 |
0 |
KERN_EMERG |
紧急消息。系统崩溃之前提示,表示系统已不可用。 |
1 |
KERN_ALERT |
报告消息。表示必须立即采取措施。 |
2 |
KERN_CRIT |
临界消息。通常涉及严重的硬件或软件操作失败。 |
3 |
KERN_ERR |
错误消息。串口日志的默认级别。驱动程序常用 KERN_ERR 来报告硬件的错误。 |
4 |
KERN_WARNING |
警告消息。对可能出现问题的情况进行警告。 |
5 |
KERN_NOTICE |
正常但又重要的消息。用于提醒,常用于与安全相关的消息。 |
6 |
KERN_INFO |
提示消息。如驱动程序启动时,打印硬件消息。 |
7 |
KERN_DEBUG |
调试消息。设置此级别会打印所有日志消息。 |
grep -E -lw "emerg|alert|critical|error" /var/log/messages
- 日志文件分析
*内核及大多数信息grep -Ev "^$|^#" /etc/rsyslog.conf
-E:支持多个选项
-v:反转
“^$|^#”
:$#开头的不看
- 多数的日志记录在/var/log/messages中
用户日志
- 存放位置:/varlog/wtmp,/var/log/btmp,/var/log/lastlog
- 查询命令:users,who,w,last,lsatlog,lastb等
-
users命令:只输出当前登录用户名
-
who命令:用于报告当前登录每个用户信息,默认输出用户名,终端类型,日期,远程主机
-
w命令:显示每个用户及其远程运行的进程信息
-
last命令:查询成功登录主机的用户记录
- -a:把从何处登录系统的主机名称或者ip地址,显示在最后一行
- -d:将ip地址换成主机名称
- -f:指定记录文件
- -R:不显示登入系统的主机名称或者ip地址
- -x:显示系统关闭,重新开机,以及执行等级的变化
- -n:表示最近登录时间
-
lastlog命令:用来显示最后一次登录时间
-
lastb命令:用来查看错误的登录
-
安全日志:
tail -f /var/log/secure
日志文件保护、
瑞日志文件加a锁,只能进不能出