zoukankan      html  css  js  c++  java
  • Linux 日志系统及分析

    简介

    在Centos 7.x / RHEL 7.x 的版本,系统日志是由一个名为 rsyslog的服务管理的,默认的日志守护进程为 rsyslog , rsyslog 是 syslog 的升级版本,默认安装,随机启动。

    主配置文件:

    /etc/rsyslog.conf

    Linux系统日志的重要性无需多言,日志对管理员来说,是了解系统运行的主要途径,因此需要对 Linux 日志系统有个详细的了解。

    Linux 系统内核和许多程序会产生各种错误信息、告警信息和其他的提示信息,这些各种信息都应该记录到日志文件中,完成这个过程的程序就是 rsyslog,rsyslog 可以根据日志的类别和优先级将日志保存到不同的文件中。

    日志类型

    常见的日志类型:

    日志的优先级

    常见的日志优先级:

     常见的日志文件

    系统日志一般存储于 /var/log 目录下,查看 rsyslog.conf:

    通过查看 rsyslog.conf 可以总结出部分日志文件记录的信息。

    /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命令查看

    /var/log/message

    记录了系统日常的一些操作,内核态和用户态的信息都有,对于这个文件,我们日常只需要关注一些错误和告警信息:

    [root@192.168.118.15 ~]#egrep -ri 'error|warn' /var/log/messages

    这里有必要记录下最近查看 messsage 遇到的问题:

    查看 message 时,发现了大量 类似 开启 session 会话的东西,一看是 root 立刻提高警惕。查看时间,发现规律:每 10 分钟执行一次,因此怀疑是 crond 计划任务,转而查看 /var/log/cron 日志:


    查看后,发现时间刚好能匹配上。分析:

    1. cron 每小时默认每小时执行的任务在 /etc/cron.hourly/ 目录下
    2. 每十分钟执行的命令: /usr/lib64/sa/sa1 1 1

    归根到底,我们发现原来是 sysstat 包生成的这个计划任务,每10分钟就会去执行一次,这个命令是为了收集系统运行数据,以供 sar 命令使用。

    该疑问解除,又产生了疑问:

    1.   为什么会产生这样的 session 日志?
    2.   如果正常登录系统,会怎么记录 session

    第一个问题:

       经过测试,这种会话的产生是系统执行了一个 bash脚本,查看了一个新的bash环境。执行完毕就退出了,关键字(starting、started)

    如下的日志,表示运行了一个shell脚本,starting开启一个shell,started的时候结束一个shell

     

    而真正登录一个会话,会有一个 logind 的过程记录:

    因此不要胡乱猜测是谁在不停的扫描或者在不停的通过 root 登录。

    /var/log/boot.log

    该日志记录的是系统启动的过程

    可以通过该日志,查看某些服务启动成功或者失败。

     /var/log/lastlog

    不用直接查看该日志文件,通过命令:lastlog 查看:

    查看的某系统用户最后一次登录的记录,一些系统用户从来不登录最后一次就是 **Never logged in**

    通过 last 可以查看那些会话在线,什么时候重启。记录了登录会话的时间,但是无法查看是哪个用户执行了重启的操作。

    /var/log/secure

    主要记录用户登录认证。

    如果出现大量: authentication failure;   就表示有程序或者人为在尝试登录。可以通过加强 ssh 或者 iptables 来管控登录次数。

    /var/log/btmp

    记录Linux登陆失败的用户、时间以及远程IP地址

    该文件是一个二进制保存的文件,直接使用 lastb 命令查看。如果该日志文件过大,可以清空该文件。

    上图所有记录的信息都是尝试登录失败的记录。

    /var/log/wtmp

    该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件,使用last命令查看

    直接使用 last 命令查看:

  • 相关阅读:
    程序相关概念
    C/C++程序语言概念
    详解QT5.10.0搭载OpenCV3.4.0环境配置步骤说明
    微信小程序支付结果 c#后台回调
    信小程序支付(C#后台+前台)
    微信小程序知识集锦
    WPF获取读取电脑指定文件夹中的指定文件的地址
    WPF后台动画DoubleAnimation讲解
    wpf datagrid 的单元格内容超出列宽度
    WPF实现3D翻转的动画效果
  • 原文地址:https://www.cnblogs.com/hukey/p/10108811.html
Copyright © 2011-2022 走看看