红帽认证知识储备-日志相关

日志

日志的分类

  • 系统日志

    rsyslogd,记录系统相关的内容

  • 各类应用程序日志

    应用程序是自己安装的,例如httpd/nginx/mysql等

  • 软件安装日志:

    yum history info命令可以查看安装的日志

  • 邮件日志

    /var/log/maillog

日志存储的位置

下面的命令直接tail -f 即可

  • /var/log/message:系统主日志

  • /var/log/secure:与安全相关的日志

  • /var/log/maillog:与邮箱相关的

  • /var/log/cron:与定时任务相关的

日志位置配置

用到的服务是rsyslogd

  1. 安装

    yum install rsyslog

  2. 启动

    systemctl start rsyslog.service

  3. 查找并打开该日志管理程序的配置文件(红帽分支才有rpm这个命令)

    rpm -qc rsyslog 命令用于查询安装的 rsyslog 软件包中的配置文件。具体来说:

    • -q 选项表示查询软件包。
    • -c 选项表示查询软件包的配置文件。

    因此,rpm -qc rsyslog 将列出 rsyslog 软件包中的所有配置文件的路径。这可以帮助你找到 rsyslog 的配置文件,并了解它们的位置。

  4. 给各种应用程序配置日志规则

    1. 给应用程序指定Facility

      如果想要将某个应用程序的日志通过rsyslogd进行配置,首先在应用程序配置文件中,给日志指定某个facility,之后在rsyslogd的配置文件中对这个facility的日志位置进行配置即可。

    2. 对facility进行配置

      1. 规则类似:

      cron.* /var/log/cron:设备+级别+存放位置

      1. 规则解释:

        • cron是设备,就是要配置的软件

        • *是日志级别,如果是none,代表什么都不记录

        • /var/log/cron是要存放的日志位置

        • 存放位置前面如果有个-,代表是异步记录日志

日志轮转

  1. 服务:logrotate

    yum install logrotate

  2. 配置文件位置:

    • 主配置:logrotate.conf

    • 子配置:/etc/logrotate.d/*

    注:很多软件都是有两个配置文件的,一个是在/etc下的有个以.conf结尾的文件,这个是配置一些影响程序运行的内容,还有个文件是/etc/logrotate.d/*这种,是自定义配置。

  3. 配置轮转

    logrotate这个程序就是针对某个目录进行操作的,它不会管这个目录是被谁接管,只是按照配置文件中的内容对这个目录进行轮转。

    以系统主日志作为例子,系统主日志是:/var/log/message这个文件

    1. 清理掉之前已经定义好的系统主日志轮转配置,

      系统主日志默认记录到了/var/log/message文件中,当前是由/etc/logrotate.d/rsyslog这个文件配置了轮转。既然要针对系统主日志进行自定义轮转,就从这个文件中取出,删掉messages(这个就是主日志)

      当前这个配置文件中配置了很多日志文件的轮转,如cronmaillogmessagessecurespooler

    2. 新建一个文件,给主日志专门弄个轮转文件。

      vim /etc/logrotate.d/messages

      在这个文件中,进行如下配置

      /var/log/messages
      {
          missingok //丢失不执行
          #notifempty //空文件不论转
          #maxsize 30k //达到30k才轮转
          #yearly
          daily
          rotate 3 //轮转保留3次
          create 0660 root root
      }
      

      logrotate -s /var/lib/logrotate/logrotate.status /etc/logrotate.conf

      这是一个 logrotate 工具的命令,它的作用是根据指定的配置文件 /etc/logrotate.conf 进行日志文件的轮转管理,并使用 /var/lib/logrotate/logrotate.status 文件来记录 logrotate 的状态信息。通常情况下,logrotate 命令不需要手动执行,而是由系统的定时任务自动执行。Linux 系统通常会配置一个 cron 任务来定期执行 logrotate 命令,以实现日志文件的自动轮转管理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值