日志文件

  1. 日志文件的作用

日志文件记录linux系统各个运行信息的文件。

  1. 日志文件的分类
  • 内核及系统日志

    内核及系统日志:这种日志由系统服务rsyslog统一管理,根据其主配置文件/etc/rsyslog.conf 设置。
    linux 日志文件系统_用户日志

    rsyslog.conf格式含义

    • ".":比后面等级高的都记录
    • “=”:只记录该等级
    • “!”:除了该等级都记录
    • “-”:有记录消息时先缓存,到一定大小一起写入
  • 用户日志

    用户日志:用于linux系统用户登录以及退出信息。

  • 程序日志

    程序日志:有些程序会有自己的日志。

  1. 日志文件的位置

linux系统大部分日志默认在/var/log/下,一部分程序用于一个日志文件,一部分单用一个,而有的大型服务器程序日志由于日志文件不止一个,所以会在下面创建子目录,较好区分找到。
linux 日志文件系统_主机名_02

  1. 常见的日志文件及其查看方法
日志文件 说 明
/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等命令查看
  1. 日志消息级别

数字越小,等级越高

级别
对应内核日志级别
说明
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

  1. 日志文件分析

*内核及大多数信息grep -Ev "^$|^#" /etc/rsyslog.conf
linux 日志文件系统_日志文件_03

-E:支持多个选项
-v:反转
“^$|^#”:$#开头的不看

  • 多数的日志记录在/var/log/messages中
    linux 日志文件系统_日志文件_04

用户日志

  1. 存放位置:/varlog/wtmp,/var/log/btmp,/var/log/lastlog
  2. 查询命令:users,who,w,last,lsatlog,lastb等
  • users命令:只输出当前登录用户名

  • who命令:用于报告当前登录每个用户信息,默认输出用户名,终端类型,日期,远程主机

  • w命令:显示每个用户及其远程运行的进程信息
    linux 日志文件系统_用户日志_05

  • last命令:查询成功登录主机的用户记录

    • -a:把从何处登录系统的主机名称或者ip地址,显示在最后一行
    • -d:将ip地址换成主机名称
    • -f:指定记录文件
    • -R:不显示登入系统的主机名称或者ip地址
    • -x:显示系统关闭,重新开机,以及执行等级的变化
    • -n:表示最近登录时间
      linux 日志文件系统_用户日志_06
  • lastlog命令:用来显示最后一次登录时间
    linux 日志文件系统_用户日志_07

  • lastb命令:用来查看错误的登录
    linux 日志文件系统_日志文件_08

  • 安全日志:tail -f /var/log/secure

日志文件保护、

瑞日志文件加a锁,只能进不能出