日志管理

日志进程rsyslog

日志管理

rsyslog系统日志管理
哪类程序->产生的什么日志->放到什么地方

处理日志的进程

第一类

rsyslogd:系统专职日志程序,处理绝大多数日志记录,系统操作有关信息,如登录信息,程序启动关闭信息,错误信息。

第二类

httpd/nginx/mysql:各类应用程序,可以以自己的方式记录日志。

常见的日志文件

系统、进程、应用程序
/var/log/messages系统主日志文件
tail -f /var/log/messages动态查看日志文件的尾部
tail -f /var/log/secure认证、安全
yum.log/maillog跟邮箱postfix有关/cron crond、at进程产生/dmesg和系统进程有关
在这里插入图片描述

rsyslogd配置

  1. 相关程序yum list rsyslog logrotate查询是否已安装
  2. 启动程序systemctl start rsyslog.service
  3. 相关文件rpm -qc rsyslog
    /etc/rsyslog.confrsyslogd主配置文件(关键)
    /etc/sysconfig/rsyslogrsyslogd相关文件,定义级别
    /etc/logrotate.d/syslog日志办轮转(切割)相关

主配置文件

告诉rsyslogd进程什么日志,应该存到哪里
位置vim /etc/rsyslog.conf
带#的是注释或者是开关,后面有$的应该是开关

RULES

规则,是一套生成日志,以及存储日志的策略
#### RULES ####下面的是程序日志
RULES即规则:设备+级别+存放位置(FACILITY+LEVEL+FILE)

authpriv.*                                              /var/log/secure
mail.*                                                  -/var/log/maillog
//这里有一个-符号,表示是使用异步的方式记录,因为日志一般会比较大

facility设备

level级别

等级名称说明
debug一般的调试信息说明
info基本的通知信息
notice普通信息,但是有一定的重要性
warning警告信息,但是还不会影响到服务或系统的运行
err错误信息,一般达到err等级的信息以及可以影响到服务或系统的运行了
crit临界状况信息,比err等级还要严重
alert警告状态信息,比crit还要严重。必须立即采取行动
emerg疼痛等级信息,系统已经无法使用了
*表示任何级别

总结

  1. 什么是日志,为什么要管理日志?
    程序产生的文字类和数字类信息。
    为了统计信息,为了排查错误。
  2. 日志从哪里来?哪些程序产生了日志?
    Linux系统中rsyslog程序
    未来安装的大型程序,如httpd程序,/var/log/httpd/access.log
  3. rsyslog是一个程序。是一个进程。有配置文件
    没有的话可以装置yum install -y rsyslogd
    systemctl start rsyslogd /etc/rsyslog.conf
  4. rsyslog配置文件规则
    规则:设备+级别+文件
    设备:同种应用程序,设计程序是已经制定
    级别:记录信息的类型
    文件:存储信息的位置

日志轮转logrotate

简介

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

工作原理

按照配置进行轮转

配置文件种类

主文件: /etc/logrotate.conf(决定每个日志文件如何轮转)
子文件夹:/etc/logrotate.d/*

主配置文件介绍

/etc/logrotate.conf

#see "man logrotate" for details//详细的日志轮转规则看"man logrotate"
# rotate log files weekly//按周轮转
weekly//轮转的周期,一周轮转

rotate 4//保留4份

create//轮转后创建新文件

# use date as a suffix of the rotated file
dateext//使用日期作为后缀

#compress//是否压缩,性能强要压缩,空间大可以选择不要

# RPM packages drop log rotation information into this directory
include /etc/logrotate.d//包含该目录下的子配置文件

//这里为什么出现了用户登录日志文件wtmp。在配置文件中,书写日志的名字和大括号。就可以独立的设定该日志的轮转规则,优先级高
# no packages own wtmp and btmp -- we'll rotate them here
/var/log/wtmp {           //对某日志文件设置轮转的方法 
    monthly               //一月轮转一次
    create 0664 root utmp //轮转后创建新文件,并设置权限 创建日志文件 权限 属主 属组
        minsize 1M        //最小达到1M才轮转,monthly and minsize
    rotate 1              //保留一份
}
  
/var/log/btmp {
    missingok              //丢失不提示
    monthly                //每月轮转一次
    create 0600 root utmp  //轮转后创建新文件,并设置权限
    rotate 1               //保留一份
}
 
# system-specific logs may be also be configured here.

yum日志轮转实例

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

配置日志轮转规则

按周轮转 weekly
保留4份 rotate4
创建新文件 create
日期做文件扩展名 dateext
采用压缩 compress
丢失不提示 missingok

示例

让yum日志文件每天轮转一次

/var/log/yum.log {
    missingok//丢失不轮转
    #notifempty//空文件不轮转
    #maxsize 30k//达到30k轮转 daily or size
    #yearly//一年一转
    daily//缩小周期到一天,为了测试
    rotate 3//保留三份
    create 0600 root root
}
错误示范

/usr/sbin/logrotate /etc/logortate.conf//手动轮转,只能有一次反应,因为还在同一天
ls /var/log/yum*
/var/log/yum.log /var/log/yum.log-20210208

正确示范

先修改时间,再手动触发轮转
date 02090110//修改时间为后一天
/usr/sbin/logrotate -s /var/lib/logrotate/logrotate.status /etc/logrotate.comf
命令 -s 时间戳 配置
ls /var/log/yum*
/var/log/yum.log /var/log/yum.log-20210208 var/log/yum.log-20210209
第一个和第三个才是被手动创建出来的,是rwx。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值