日志管理系统功能_efk日志分析系统

2022-08-03 09:05:09 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

日志管理系统rsyslogd

一. 什么是rsyslogd

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

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

代码语言:javascript复制
[root@localhost ~]# rpm -qc rsyslog
/etc/logrotate.d/syslog
/etc/rsyslog.conf
/etc/sysconfig/rsyslog

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

/etc/logrotate.d/syslog

和日志轮转相关的文件

/etc/rsyslog.conf

rsyslogd的主配置文件

/etc/sysconfig/rsyslog

rsyslogd的相关文件

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

打开这个文件里面会出现很多配置:

图中写了一些文件的的配置规则和一些模块,我们可以选择开启一些模块,用来帮助我们更好的进行工作。

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

代码语言:javascript复制
#Provides UDP syslog reception
#$ModLoad imudp
#$UDPServerRun 514

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

还有一些规则:

代码语言:javascript复制
*.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等等是服务的名称,后面的*是服务对应的等级,后面的路径是对用日志的存放路径。

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

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

日志的等级划分

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

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

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

二. 日志轮转logrotate

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

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

代码语言:javascript复制
[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的日志轮转规则为例查看:

代码语言:javascript复制
localhost ~]# vim /etc/logrotate.d/yum

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

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

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

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

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/125111.html原文链接:https://javaforall.cn

0 人点赞