日志管理系统rsyslogd

日志管理系统rsyslogd

一. 什么是rsyslogd

rsyslog是一个开源的软件程序,它负责写入日志。
它记录绝大部分的日志记录,和系统有关的、安全、认证ssh,su、计划任务at,cron等日志。

rsyslogd是一个进程,是一个日志服务,我们可以通过rpm -qc查询软件包的方式来查看

[root@localhost ~]# rpm -qc rsyslog
/etc/logrotate.d/syslog
/etc/rsyslog.conf
/etc/sysconfig/rsyslog

查询结果会出现三个文件:

/etc/logrotate.d/syslog和日志轮转相关的文件
/etc/rsyslog.confrsyslogd的主配置文件
/etc/sysconfig/rsyslogrsyslogd的相关文件

我们比较关心的一般是/etc/rsyslog.conf 文件,也就是rsyslogd的主配置文件

打开这个文件里面会出现很多配置:
在这里插入图片描述  在这里插入图片描述
图中写了一些文件的的配置规则和一些模块,我们可以选择开启一些模块,用来帮助我们更好的进行工作。

例如:开启UDP和TCP服务模块,可以让我们把日志放到指定的服务器上,便于我们的管理

#Provides UDP syslog reception
#$ModLoad imudp
#$UDPServerRun 514

# Provides TCP syslog reception
#$ModLoad imtcp
#$InputTCPServerRun 514

还有一些规则:

*.info;mail.none;authpriv.none;cron.none                /var/log/messages

# The authpriv file has restricted access.
authpriv.*                                              /var/log/secure

# Log all the mail messages in one place.
mail.*                                                  -/var/log/maillog


# Log cron stuff
cron.*                                                  /var/log/cron

像代码块中authpriv、mail、cron等等是服务的名称,后面的*是服务对应的等级,后面的路径是对用日志的存放路径。

常见的服务(设备)名称及其作用

auth 				//安全和认证相关信息
authpriv 			//安全和认证相关信息(私有的)
cron 				//系统定时任务cront和at产生的日志
daemon 				//个各个守护进程相关的日志
ftp 				//ftp守护进程产生的日志
kern 				//内核产生相关的日志
local0-local7 		//为本地服务使用预留的服务
mail 				//邮件收发信息
user 				//用户等级类别的日志信息

日志的等级划分

debug 			//调试信息的日志,日志信息最多
info 			//一般信息的日志,最常用
notice 			//最具有重要性的普通条件的信息
warning 		//警告级别
error 			//错误级别,阻止某个功能或者模块不能正常工作的信息
crit 			//严重级别,阻止整个系统或者整个软件不能正常工作的信息
alert 			//需要立刻修改的信息
emerg 			//内核崩溃等严重信息 

通俗来说,规则就是告诉了rsyslogd进程哪个设备、那个级别的信息、记录在什么位置、如何处理。

关于日志的存放位置,不一定非要放在本地,我们还可以通过UDP或TCP来存放日志到日志服务器上。

二. 日志轮转logrotate

logrotate针对的是所有的日志文件

关于日志轮转:
1.日志轮转可以切割日志,将最近产生的日志保留下来,时间久远的删除,防止日志随着时间变得越来越大。
2.丢弃系统中的旧的日志文件,节省空间。
3.logrotate不是系统守护进程,它通过计划任务crond每天执行。
通过命令查看计划任务:

[root@localhost ~]# cat /etc/cron.daily/logrotate 
#!/bin/sh

/usr/sbin/logrotate -s /var/lib/logrotate/logrotate.status /etc/logrotate.conf
EXITVALUE=$?
if [ $EXITVALUE != 0 ]; then
    /usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"
fi
exit 0 

logrotate配置文件:
logrotate主配置文件:/etc/logrotate.conf
logrotate子配置文件:/etc/logrotate.d/*
某些程序可以配置自己的日志轮转规则,在/etc/logrotate.d下。

我们以yum的日志轮转规则为例查看:

localhost ~]# vim /etc/logrotate.d/yum

/var/log/yum.log {
    missingok
    notifempty
    maxsize 30k
    yearly
    create 0600 root root
}

下面是日志轮转的一些规则解释:

weekly			//按周轮转
rotate 4		//保留4份 
create			//创建新文件
dateext			//日期做文件扩展名
compress		//采用压缩 
missingok		//丢失不提示
include			//包含该目录下的文件

我们可以根据需求改变日志的轮转规则。帮助我们更好的管理系统,有不完善的地方欢迎各位大神补充。

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值