linux 系统日志分析

346 阅读4分钟

日志文件分析

日志文件用于记录linux系统运行中发生的各种类型的消息文件,包括 linux内核消息、用户登录消息、程序运行信息等。

  1. linux系统中日志文件类型主要包括三种:

    • 内核及系统日志 :主要由 系统服务 rsyslog统一管理,根据服务的主配置文件 /etc/rsyslog.conf 中的设置决定 内核和系统程序消息记录的位置。

    • 用户日志 : 记录linux系统中用户的登录和退出等消息:如 用户名、登录的终端、登录时间、使用主机、执行的进程等。

    • 程序日志:记录程序运行时发生的消息事件。

  2. 常见的日志文件及作用

    • /var/log/messages: 记录linux内核消息及各种应用程序的公共日志消息, 如 启动、lo错误、网络错误、程序故障灯。

    • /var/log/cron: 记录cron 计划任务产生的事件消息。

    • /var/log/dmesg:记录linux系统 在引导过程中的事件消息

    • /var/log/maillog:记录进入或发出系统的电子邮件活动

    • /var/log/lastlog:记录每个用户最近的登录事件

    • /var/log/rpmpkgs: 记录系统中安装的各种rpm包列表信息

    • /var/log/secure:记录用户认证相关的安全事件信息

    • /var/log/wtemp: 记录每个用户登录、注销及系统启动和停机事件

    • /var/log/btmp: 记录失败的、错误的登录尝试及验证事件

  3. 日志文件分析

    • 日志文件分析可以帮助我们通过浏览日志查找关键信息, 如 对服务器的调试、判断故障等。

    • 大多数日志文件可以使用 tail 、more、less、cat 等 文本处理工具查看日志内容; 对于 一些二进制的文件需要使用特定的程序进行查看。

    • linux 系统内核和系统日志文件一般由 rsyslog 软件包 提供,目录位置 :/etc/rsyslog.conf

    • 可以通过 命令 : grep -v "^$" /etc/rsyslog.conf 了解到系统中关于日志文件的设置

  4. linux 核心的syslog 将信息分为7个等级

    7 debug 调试时产生的信息数据

    6 info 基本信息说明

    5 notice 是正常信息 ,但比info 还要被注意到的信息内容

    4 warning 警示信息可能有问题 ,不影响系统运行

    3 Error 一些重大的错误信息,如配置文件的某些设置值造成 该服 务无法启动的说明。

    2 crit 比error 严重的错误信息,crit 是 临界点 critical的缩写

    这个错误已经很严重了

    1 alert 警告,已经很有问题的等级,比crit 还严重

    0 emerg 指系统几乎要死机,通常只有硬件出问题,导致整个核心 无法顺利运行,才会出现这样的等级的信息。

  5. rsyslog 管理的日志文件

    没行都表示一条日志记录,每行都分为四段 分为:

    • 时间标签:日志消息的发出的日期和时间

    • 主机名:生成日志消息的主机名称

    • 子系统名称:发出日志消息的应用程序名称

    • 消息:日志消息中的具体的内容

  6. 用户日志:

    • 在linux系统中,wtmp 、btmp、lastlog 等日志文件中,保存系统用户的登录,退出相关信息。都是二进制文件: 需要使用 who 、w、users 、last、lastb等用户查询命令 获取文件中的信息
  7. 程序日志

    • 不由rsyslog服务管理的,一些程序日志文件将由程序自己管理。

    • 如 :http网站服务 由 access_log 和error_log 分别记录客户机的访问和 错误事件

    • 不同的日志文件记录格式有所不同, 没有严格使用统一的格式

  8. 需要注意的一些不符合常规操作的记录

    • 用户在非常规的时间登陆,或者用户登录系统的ip地址和以往不同

    • 用户登录失败的日志记录,尤其是 一在连续尝试进入失败的日志记录

    • 非法使用或不正当使用超级管理用户权限

    • 无故 或者非法重新启动各项网络服务的记录

    • 不正当的日志记录,日志残缺不全,或者是如:wtmp 这样的日志文件少了中间的记录文件。

  9. 注意

    日志文件并不是完全可靠的,一些高明的黑客 在入侵操作系统后会清除痕迹。所以管理员需要合理运行上述提到的命令。