Linux笔记12_日志管理

Linux_日志管理

        • 一、日志进程rsyslog
          • 简介
          • 关心问题
          • rsyslofd配置
          • 主配置文件
        • 二、日志轮转logrotate
          • 简介
          • 工作原理
          • logrotate日志轮转
          • 日志轮转实战

一、日志进程rsyslog

重要性:内核和系统会产生各种信息错误

简介
  1. 日志管理
关心问题
  1. 那类程序
  2. 产生的什么日志
  3. 放到什么地方

一、日志处理的进程

  • 第一类

    • rrsyslogd:系统专职日志程序
    • 处理绝大部分日志记录
    • 系统操作有关信息,如登录信息,程序启动关闭信息,错误信息
  • 第二类

    • httpd/nginx/mysql:各类应用程序,可以以自己的方式记录日志。
  • 观察rsyslogd程序
    [root@server ~]# ps aux | grep rsyslogd
    在这里插入图片描述

二、常见的日志文件(系统、进程、应用程序)

  • [root@server var]# cd /var/log/
    [root@server log]# ls

Linux笔记12_日志管理_第1张图片

  • [root@server log]# tail -1 /var/log/messages
    Aug 29 09:30:01 server systemd: Started Session 162 of user root.

Linux笔记12_日志管理_第2张图片

注:没必要关注每一行都是什么意思

  • 动态查看日志文件尾部 tail -f /var/log/messages

  • 认证、安全 tailf /var/log/secure 系统用户登陆、权限等

  • yum tailf /var/log/yum.log

  • 跟邮件postfix相关 tailf /var/log/maillog

  • crond、at进程产生的日志 tailf /var/log/cron

  • 和系统启动相关 tailf /var/log/dmesg

rsyslofd配置
  1. 相关程序
    • yum install rsyslog logrotate
  2. 启动程序
    • systemcrl start rsyslog.service
  3. 相关文件
    • [root@server ~]# rpm -qc rsyslog 配置文件
      /etc/logrotate.d/syslog 相关文件(了解)
      /etc/rsyslog.conf 主配置文件
      /etc/sysconfig/rsyslog 日志办轮转切割相关
主配置文件

46 #### RULES #### ——规则(什么程序产生的什么日志放在什么位置)

64 cron.* /var/log/cron

vim /etc/rsyslog.conf

  • 46 #### RULES ####
    • RULES——规则,是一套生成日志、以及存储日志的策略
    • 三部分组成:规则由设备+级别+存放位置组成
    • RULES由ACILITY+LECEL+FILE组成
    • .info;mail.none;authpriv.none;cron.none /var/log/messages
      57 authpriv.
      /var/log/secure ——ssh信息,认证、安全
      60 mail.* -/var/log/maillog ——发邮件
      64 cron.* /var/log/cron ——创建任务
  • 修改配置文件后
    • [root@server ~]# ps aux | grep rsyslog
    • kill -1 进程号
    • 注:没日志就不会创建文件

二、日志轮转logrotate

简介
  1. 日志:记录了程序运行时各种信息
  2. 通过日志可以分析用户行为,记录运行轨迹,查找程序问题
  3. 可惜磁盘空间是有限的
  4. 日志轮转就像飞机里的黑匣子,记录的信息再重要也只能记录最后一段时间发送的事
  5. 为了节约空间和整理方便,日志文件经常需要按时间或大小等维度分成多份,删除时间久的日志文件
工作原理
  • 按照配置进行轮转
    • 配置文件种类
      • 主文件 /etc/logrotate.conf
      • 子文件夹 /etc/logrotate.d/* —— 自定义(好删除)
    • 观察主文件和子文件

Linux笔记12_日志管理_第3张图片

logrotate日志轮转
  • 主配置文件

    • ------------------------------全局设置---------------------------------
    • 3 weekly ——轮转周期,一周轮转
    • 6 rotate 4 ——保留4份
    • 9 create ——轮转后创建新文件
    • 12 dateext ——使用日期作为后缀
    • 15 #compress ——是否压缩(压缩会消耗CPU性能)
    • 18 include /etc/logrotate.d ——包含该目录下的子配置文件
    • ------------------------------------2---------------------------------------
    • /var/log/wtmp { ——对某个日志文件设置轮转的方法
      monthly ——一月轮转一次
      create 0664 root utmp ——创建日志文件,并且设置权限
      minsize 1M ——最小1M才轮转
      rotate 1 ——保留一份
      }
  • 子配置文件(yum为例)

    • [root@server ~]# cat /etc/logrotate.d/yum
      /var/log/yum.log {
      missingok ——丢失不执行
      notifempty ——空文件不轮转
      maxsize 30k ——达到30k轮转
      yearly ——一年轮转一次——daly(缩小周期到1天)

      ​ create 0600 root root ——

日志轮转实战

Linux笔记12_日志管理_第4张图片

[root@server log]# logrotate /etc/logrotate.conf

现在删除不掉message文件

注:a:即Append Only,系统只允许在这个文件之后追加数据,不允许任何进程覆盖或截断这个文件。如果目录具有这个属性,系统将只允许在这个目录下建立和修改文件,而不允许删除任何文件。

你可能感兴趣的:(Linxu)