datetime:2022-01-08 14:34:00
author:nzb

Linux日志管理

日志管理简介

  • 百度百科简介:系统日志是记录系统中硬件、软件和系统问题的信息,同时还可以监视系统中发生的事件。用户可以通过它来检查错误发生的原因,或者寻找受到攻击时攻击者留下的痕迹。系统日志包括系统日志、应用程序日志和安全日志。

  • 服务器出现问题先查看日志,才能找准原因

  • CentOS7中原来的日志服务syslogd被rsyslogd取代,两者兼容

  • 确认服务是否启动和自启动:

    • ps aux | grep rsyslogd

    • chkconfig --list | grep rsylog

  • 常见的日志的作用

  • RPM包安装的服务日志也会在/var/log/目录下

  • 源码包安装的服务日志在源码包指定目录(一般是/usr/local)中,这些日志不是有rsyslogd服务来管理的,而是由各个服务使用自己的日志管理文档来记录自身日志

    • 你安装了这些服务就会有

rsyslogd日志服务

  • 日志文件格式

    • 事件产生的时间

    • 产生事件的服务器的主机名

    • 产生事件的服务名或程序名

    • 事件的具体信息

  • /etc/rsyslog.conf配置文件

    • 格式

      * authpriv.* /var/log/secure
    
      * 服务名称 [连接符号] 日志等级 日志记录位置
    
        `authpriv:服务名称 .:连接符号 *:日志等级`
    
      * 服务名称,连接符,日志等级,日志记录位置都有多个,内容很多,自行百度。
    
    • 常见的服务

    • 连接符号

      • “*”不是连接符号,是所有日志等级

    • 日志等级

      • 从低等级到高等级(上到下)

    • 日志记录位置

日志轮替

  • 如果日志都记录在一个文件中,那么可能会占据大量存储空间,纯文本文档打开会非常慢,所以日志需要处理:切割(把大日志按天切割成小的)+轮换(删除旧的,保存新的)

  • 日志文件的命名规则

    • 如果配置文件中有“dateext”参数,那么日志会用日期作为后缀,例如:“secure-20200603”,只需要保存指定的日志个数,删除多余的日志文件即可 推荐使用

    • 如果没有“dateext”参数,那么日志文件就需要改名了,当第一次使用日志轮替时,当前的“secure”日志会自动改名为“secure.1”,然后新建“secure”日志。第二次时,1变2,0变1,又新建0,以此类推

  • 配置文件

    • /etc/logrotate.conf

  • 只要是RPM包安装的服务,它默认已经支持轮替,但是源码包安装的服务需要vim /etc/logrotate.conf,然后手动加入轮替

    • 示例

  • logrotate

    logrotate [选项] 配置文件名

    • 如果此命令没有选项,则会按照配置文件中的条件进行日志轮替

    • logrotate -v /etc/logrotate.conf:显示日志轮替过程

    • logrotate -f /etc/logrotate.conf:强制轮替,不管日志轮替的条件是否已经满足

results matching ""

    No results matching ""