Linux学习9—日志管理

文章目录

  • 一.日志进程rsyslog
    • 1.1 rsyslog关心的问题
  • 二. 日志轮转logrotate
    • 2.1 简介
    • 2.2 工作原理

一.日志进程rsyslog

1.1 rsyslog关心的问题

  • 处理日志进程
    第一类:
      rsyslogd:系统专职日志程序
      处理绝大部分日志记录
      系统操作有关的信息,如登录信息,程序启动关闭信息,错误信息
    第二类:
      各类应用程序,可以以自己的方式记录日志、讲解对应程序时会逐步介绍
    观察 rsyslogd程序:ps aux |grep rsyslogd
    在这里插入图片描述
  • 常见的日志文件(系统、进程、应用程序 )
    了解
      audit.log:系统审计日志
      mysqld.log:Mysql日志
      xferlog:和访问FTP服务器相关
      wtmp:当前登录的用户
      btmp:最近登录的用户
      lastlog:所有用户的登录情况
  • rsylogd(产生日志的软件)配置:
    相关程序
      yum install rsyslog logrotate (默认已经安装)
    启动程序:
      systemctl start rsylog.service
    相关文件
      rpm -qc rsyslog(查询软件包的安装情况):q_查询 all_查看所有 l_list列出该包产生的所有文件 c_config配置文件
        /elt/rsyslog.conf rsyslogd的主配置文件(关键)
        /etc/sysconfig/rsyslog rsyslogd相关文件,定义级别
        /etc/logrotate/syslog 和日志办轮转(切割)相关
  • 主配置文件
    告诉rsyslogd进程什么日志,应该存放在哪里
    vim /etc/rsyslog.conf
    告诉rsyslogd进程什么日志,应该存到哪里
    Rules:即规则,是一套生成日志,以及存储日志的策略
    规则由设备+级别+存放位置组成
    Rules由FACILITY+LEVEL+FILE组成
      authpriv.* /var/log/secure(SSH发送信息)
      mail.* -/var/log/mailog (发邮件)
      cron.* /var/log/cron(创建任务)
    FACILITY&level
      facility设备
        facility
        设备类型
        程序类型示例
      level级别
man rpm #查看rpm的使用手册
tail -10 /var/log/messages #查看系统主日志文件最后10行
tail -f /var/log/messages #动态查看日志文件的尾部,让主日志文件的最后一行的实时变化显示在终端上(tailf也可以 )
tail /var/log/secure    #认证和安全日志
tail /var/log/yum.log #yum日志 
tail /var/log/mailog  #邮件postfix日志 
tail /var/log/cron  #crond、at进程产生的日志
tail /var/log/dmesg #和系统启动相关的日志
systemclt stop firewalld #关闭防火墙
systemctl restart firewalld #重新启动防火墙

二. 日志轮转logrotate

2.1 简介

  • 日志记录了程序运行时的各种信息
  • 通过日志可以分析用户的行为,记录运动轨迹,查找程序问题
  • 但磁盘的容量是有限的
  • 日志轮转就像飞机里面的黑盒子,记录的信息也只能记录最后一段时间发生的事情
  • 为了节省空间和管理方便,日志文件经常需要按照!时间或!大小等维度分为多份,删除时间久远的日志文件

2.2 工作原理

  • 按照配置进行轮转
    配置文件的种类:
      主配置文件夹:/etc/logrotate.conf(决定每个日志文件如何轮转)
      子配置文件夹:/etc/logrotate.d/*(.d常表示一个程序的子配置文件,用户可以在里面进行自己的配置)
    观察主配置文件和子配置文件(ls命令)
    Linux学习9—日志管理_第1张图片
  • 观察主配置文件
    weekly :表示日志的轮转周期为1周
    rotate 4 :保留4份备份好的日志文件
    create:轮转后创造新的记录日志的文件
    dateext:使用日期作为轮转后备份日志文件的后缀
    #compress:文件在轮转后压缩一下
    include /etc/logrotate.d:子配置文件的包含位置
    /var/log/wtmp{ :对日志文件设置轮转的方法(当前用户)
      monthly:一个月轮转一次
      minsize:最小达到1M才轮转,monthly and minsize
      create 0600 root utmp:轮转后创建新文件,并设置权限,root属主 utmp属组
      rotate1:保留备份文件的份数
      missingok}:文件丢失就不用备份了
  • yum日志轮转实例
    轮转目标文件/var/log/yum.log
    配置轮转规则
      在子配置文件下创建 yum.log
    Linux学习9—日志管理_第2张图片
      missingok:丢失不轮转
      #notifempty:空 文件不轮转
      #maxsize 30K:达到30K轮转,daily or size
      #yearly:或则每年轮转一次
      daily:缩小周期为每天轮转一次
      rotate3:轮转保留3次
    -测试
    错误示范
      /usr/sbin/logrotate /etc/logrotate.conf 手动轮转
      ls /var/log/yum* 发现没有增加文件(原因是日期和文件大小没有发生变化)
    正确示范:
      修改系统时间
      手动轮转日志
w  #看当前登录用户的信息
/usr/sbin/logrotate /etc/logrotate.conf #调用日志轮转工具
date #查询系统时间
date 02280100 #修改系统时间为2月28号1:00
grep 'yum' /var/lib/logrotate/logrotate.status #记录所有日志文件最近轮转的时间

你可能感兴趣的:(Linux,linux,学习,服务器)