linux日志系统详解rsyslog

概述

日志文件是用于记录 Linux 操作系统中各种运行消息的文件,相当于 Linux 主机的“日记”。
不同的日志文件记载了不同类型的信息,如 Linux 内核消息、用户登录事件、程序错误等。
日志文件对于诊断和解决系统中的问题很有帮助,因为在 Linux 操作系统中运行的程序 通常会把系统消息和错误消息写入相应的日志文件,这样系统一旦出现问题就会“有据可查”。 此外,当主机遭受攻击时,日志文件还可以帮助寻找攻击者留下的痕迹。

本文就将对 Linux 操作系统中的主要日志文件及分析方法进行介绍。

日志进程

处理日志的进程是rsyslogd,是系统的守护进程,一般会一直在后台运行,否则日志功能就没法正常使用,而日志文件默认都放在/var/log下
在这里插入图片描述

日志功能

  • 用于记录系统,程序运行中发生的各种事件
  • 通过阅读日志,有助于诊断和解决系统故障

日志分类

1、内核及系统日志:这种日志数据由系统服务 rsyslog 统一管理,根据其主配置文件/etc/rsyslog.conf中的设置
决定将内核消息及各种系统程序消息记录到什么位置。 系统中有相当一部分程序会把自己的日志文件交由 rsyslog 管理,因而这些程序使用的日志记录也具有相似的格式

  • 软件包:rsyslog-8.24.0-34.el7.x86_64
  • 主要程序:/sbin/rsyslogd

2、用户日志:这种日志数据用于记录 Linux 操作系统用户登录及退出系统的相关信息,
包括用户名、登录的终端、登录时间、来源主机、正在使用的进程操作等。

3、程序日志:有些应用程序会选择由自己独立管理一份日志文件(而不是交给 rsyslog 服务管理),比如httpd、mysql等用于记录本程序运行过程中的各种事件信息。由于这些程序只负责管 理自己的日志文件,因此不同程序所使用的日志记录格式可能会存在较大的差异。

日志管理

  • 及时做好备份和归档
  • 延长日志保存期限
  • 控制日志访问权限
    因为日志中可能存在各类敏感信息,如账户,密码等
  • 集中管理日志
    将服务器的日志文件发到统一的日志文件服务器
    便于日志信息的统一收集,整理和分析
    杜绝日志信息的意外丢失,恶意篡改和删除

日志消息级别

在linux内核中,根据日志消息的重要程度不同,将其分为不同的优先级别,数字等级越小,优先级越高,消息越重要

  • 0 EMERG(紧急):会导致主机系统不可用的情况。
  • 1 ALERT(警告):必须马上采取措施解决的问题。
  • 2 CRIT(严重):比较严重的情况。
  • 3 ERR(错误):运行出现错误
  • 4 WARNING(提醒):可能影响系统功能,需要提醒用户的重要事件
  • 5 NOTICE(注意):不会影响正常功能,但是需要注意的事件。
  • 6 INFO(信息):一般信息。
  • 7 DEBUG(调试):程序或系统调试信息等。

常用日志文件介绍

  • /var/log/messages:记录 Linux 内核消息及各种应用程序的公共日志信息,包括启动、I/0错误、网络错误、程序故障等。对于未使用独立日志文件的应用程序或服 务,一般都可以从该日志文件中获得相关的事件记录信息,linux的主日志文件
  • /var/log/cron:记录 crond 计划任务产生的事件信息
  • /var/log/dmesg:记录 Linux 操作系统在引导过程中的各种事件信息
  • /var/log/maillog:记录进入或发出系统的电子邮件活动
  • /var/log/lastlog:记录每个用户最近的登录事件
  • /var/log/secure:记录用户认证相关的安全事件信息
  • /var/log/wtmp:记录每个用户登录、注销及系统启动和停机事件
  • /var/log/btmp:记录失败的、错误的登录尝试及验证事件
  • /var/log/utmp:记录当前登陆的每个用户的详细信息

日志格式

对于rsyslog服务统一管理的大部分日志文件,使用的日志记录格式基本上都是相同的。以公共日志/var/log/messages文件的记录格式为例,其中每一行表示一条日志消息,每一条消息均包括以下四个字段:

  • 时间标签:消息发出的日期和时间
  • 主机名:生成消息的计算机名称
  • 子系统名称:发出消息的应用程序名称
  • 消息:消息的具体内容

在这里插入图片描述

日志分析

/var/log/secure日志文件在系统中非常重要,是一个安全相关的日志文件,所有登陆相关的都会记录在这日志里面,比如ssh、su等成功的失败的都会记录,所以可以根据自己的实际需求去查看分析

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
yum也是自己独立管理的日志,所以在/var/log下面有一个单独的叫做yum.log的日志文件,里面记录了在什么时间安装了什么软件
在这里插入图片描述
在wtmp、btmp、lastlog等日志文件中,保存了系统用户登陆、退出等相关的事件信息,但是这些文件都是二进制的数据文件,不能直接使用tail、less等命令查看,需要使用uses、who、w、last和lastb等用户查询命令来获取日志信息

users、who、w------>查询当前登录的用户情况
在这里插入图片描述
last、lastb------>查询用户登陆的历史记录
在这里插入图片描述
在这里插入图片描述
登陆的成功的、失败的信息也会记录在/var/log/secure日志文件中

猜你喜欢

转载自blog.csdn.net/shengjie87/article/details/106923790
今日推荐