Liunx 系统—第11章—日志管理

一 简介

1.任务一:

rsyslog 系统日志管理
关心问题:哪类程序---》产生的什么日志----》放到什么地方

2.任务二:

logrotate日志轮转
将大量的日志,分割管理,删除旧日志。

二 任务一详情

1.处理日志的进程

1.第一类:
    rsyslogd: 系统专职日志程序。
    处理绝大部分日志记录,
    系统操作有关的信息,如登录信息,程序启动关闭信息,错误信息

2.第二类:
    httpd/nginx/mysql: 各类应用程序,可以以自己的方式记录日志.
    讲解对应程序时会逐步介绍

3. 观察 rsyslogd程序

 [root@localhost ~]# ps aux |grep rsyslogd

      root 717 0.0 0.0 219752 3880 ? Ssl 09:05 0:00 /usr/sbin/rsyslogd -n

2.常见的日志文件(系统,进程,应用程序)

   

 

3.rsyslogd设备

1.相关程序

 yum install rsyslog   logrotate

   默认已安装

2.启动程序

systemctl  start    rsyslog.service

3.相关文件

rpm -qc rsyslog    

    /etc/rsyslog.conf
          rsyslogd的主配置文件(关键)
    /etc/sysconfig/rsyslog
          rsyslogd相关文件,定义级别(了解一下)
    /etc/logrotate.d/syslog
          和日志办轮转(切割)相关(任务二)
    //观察日志程序的配置文件

4.主配置文件

==告诉rsyslogd  进程什么日志,应该存到哪里==

# vim /etc/rsyslog.conf     进入配置文件的编译模式

1.RULES
        RULES:即规则,是一套生成日志,以及存储日志的策略。
        RULES即规则,有三部分组成(由设备+级别+存放位置)
                                  由(FACILITY+LEVEL+FILE)组成。
        authpriv.*        /var/log/secure(SSH信息)
        mail.*             -/var/log/maillog(发邮件)
        cron.*              /var/log/cron(创建任务)
        这里有一个-符号, 表示是使用异步(硬盘存好不立即占用内存)的方式记录, 因为日志一般会比较大
        *.info;mail.none;authpriv.none;cron.none                /var/log/messages   
       系统日志排除了邮件,认证,计划日志。
2.FACILITY&LEVEL(设备,优先级)
     --facility设备--

            facility 是系统对某种类型APP事件的定义。如AUTHPRIV(认证)是安全事件,CRON是计划任务事件

            用来收集同类程序日志。

       # man 3 syslog

            设备类型
                LOG_SYSLOG         syslogd自身产生的日志 
                LOG_AUTHPRIV        安全认证
                LOG_CRON           调度程序(cron and at)
                LOG_MAIL             邮件系统mail subsystem
                LOG_USER (default)         用户相关
                LOG_DAEMON           后台进程
                LOG_FTP       文件服务器ftp daemon
                LOG_KERN         内核设备kernel messages
                LOG_LPR       打印机设备
                    printer subsystem
                LOG_LOCAL0 through LOG_LOCAL7        用户自定义设备
      -- level级别--
            LOG_EMERG         紧急,致命,服务无法继续运行,如配置文件丢失
            LOG_ALERT         报警,需要立即处理,如磁盘空使用95%
            LOG_CRIT         致命行为
            LOG_ERR         错误行为
            LOG_WARNING     警告信息
            LOG_NOTICE     普通,重要的标准信息
            LOG_INFO         标准信息
            LOG_DEBUG         调试信息,排错所需,一般不建议使用
            从下到上,级别从低到高,记录的信息越来越少
   3.规则示意图

          
        目的:通过绘图形式来理解日志工作机制。

==程序类型示例==
    关于程序和设备的联系问题,程序自身会决定将日志交给哪类设备。如SSH程序会选择安全类设备。这一点由开发者定义。     

 #grep  Facility    /etc/ssh/sshd_config

    
     SyslogFacility AUTHPRIV      认证设备

 如果SSH程序会选择安全类设备。这一点有开发者定义。

---修改ssh程序的设备类型---

vim    /etc/ssh/sshd_config 

  #SyslogFacility AUTHPRIV   // 认证设备系统日志
  SyslogFacility LOCAL5     //  名称修改为local5

---修改rsyslog程序的规则---

 vim /etc/rsyslog.conf

   local5.*                                        /var/log/serverzz    

  //  添加名称改为local5的 认证设备日志 并给他添存放地址 在此我自定义该名称serverzz

---重启rsyslog程序和ssh程序---

    systemctl restart rsyslog.service    sshd

   修改完需要重新启动才能生效

---使用其他终端,登录服务器,观察新日志文件---

  再次登陆的时候就用新地址查看

 在终端窗口一输入  :tailf   /var/log/serverzz    动态查看认证类信息

 在终端窗口二输入 :本机id进项登录  窗口一可以查看到登录信息。说明更改成功。

三 . 任务二详情   logrotate 日志轮转

1.简介
 日志  记录了程序运行时各种信息。
 通过日志可以分析用户行为,记录运行轨迹,查找程序问题。
 可惜磁盘的空间是有限的
 日志轮转就像飞机里的黑匣子,记录的信息再重要也只能记录最后一段时间发生的事。
 为了节省空间和整理方便,日志文件经常需要按!时间或!大小等维度分成多份,删除时间久远的日志文件。

2.工作原理 —按照配置进行轮转

==配置文件种类==

   
    主配置文件:/etc/logrotate.conf
         (决定每个日志文件如何轮转)
    子配置文件夹:/etc/logrotate.d/*
        自定义配置  (优先级高,在此修改,就不再使用主配置的默认设置)
        便于管理

==观察主文件和子文件==

 [root@localhost ~]# ls   /etc/logrotate.conf   /etc/logrotate.d/

   

 /etc/logrotate.conf

 /etc/logrotate.d/:
   acpid cups iscsiuiolog ppp rpm subscription-manager up2date wpa_supplicant
   conman httpd mgetty psacct setroubleshoot syslog vsftpd.log yum

主文件里有子文件,子文件下有......

3.主配置文件介绍

打开系统设置: [root@localhost ~]# vim /etc/logrotate.conf 

   

4.yum 日志轮转实例

轮转的目标文件    /var/log/yum.log

==配置轮转规则==

打开 yum 配置子文件进行编译

 # vim /etc/logrotate.d/yum 

 /var/log/yum.log {
    missingok        //丢失不执行
    # notifempty        //空文件不论转   带# 是不选中的意思
    # maxsize 30k        //达到30k轮转, daily or  size
    # yearly        //或者一年一轮转
    daily        //缩小周期到1天
    rotate 3        //轮转保留3次
    create 0777 root root   (生成日志的权限)
    }

  // 每天轮转(剪切)一次,保留3天记录,在第四天是第一天记录被删除

==测试==

1.错误示范
    # /usr/sbin/logrotate /etc/logrotate.conf //手动轮转
    # ls /var/log/yum*
    /var/log/yum.log
   文件只有一个。因为日期没变

2.正确示范
    修改时间,手动触发轮转

# date 04011000

   date  月日时分
   把时间向未来推移

 # /usr/sbin/logrotate   -s   /var/lib/logrotate/logrotate.status   /etc/logrotate.conf

   手动触发转轮

 # ls /var/log/yum*

  查看 ,日志文件已经出现多个

3.关于时间
    # grep 'yum' /var/lib/logrotate/logrotate.status

   //记录所有日志文件最近轮转的时间
   "/var/log/yum.log" 2019-3-31-10:0:23
   //如果没有轮转过,第一次只有记录

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值