Linux基础_系统日志管理rsyslog

    系统日志是程序在运行时自己产生的,而rsyslog只是将这些日志采集下来,进行管理,系统日志是非常重要的,可以通过对日志的分析进行排错。在实际生产中,如果需要对日志进行操作,最好还是先将日志进行备份。本篇文章讲解的是rsyslog这个软件采集日志的格式,及其配置,希望可以对你有用。

1.日志格式

通常系统产生的日志记录在/var/log这个目录中,常见的有以下五个文件:

[root@node2 mnt]# cat /var/log/messages     #常规信息的日志,日志级别info
[root@node2 mnt]# cat /var/log/secure     #认证信息的日志
[root@node2 mnt]# cat /var/log/cron     #定时信息日志
[root@node2 mnt]# cat /var/log/maillog     #邮件服务信息日志
[root@node2 mnt]# cat /var/log/boot.log     #系统启动信息日志

可以通过编辑rsyslog的配置文件/etc/rsyslog.conf,控制文件的采集方式,如下图:

Linux基础_系统日志管理rsyslog_第1张图片

    在/etc/rsyslog.conf文件中添加了红框中的内容,其中包含三部分内容,“.”之前表示日志的内容,“.”之后表示日志的级别,“*”表示所有,后面的/var/log/westos表示记录日志的文件。所以,所添加的内容表示所有类型的所有级别的日志都记录在/var/log/westos文件中。

日志类型:

auth    ##pam产生的日志
authpriv    #ssh,ftp等登陆信息的验证信息
cron        #时间任务相关
kern        #内核
lpr        #打印
mail        #邮件
mark(syslog)-rsyslog    #服务内部的信息,时间标示
news        #新闻组
user        #用户程序产生的相关信息
uucp        #unix to unix copy,unix主机之间相关的通讯
local 1~7    #自定义的日志设备


日志级别:(从上到下,级别从低到高,记录的信息越少):
debug    ##有调式信息的,日志信息最多
info    #一般信息的日志,最常用
notice    #最具有重要性的普通条件信息
warning    #警告级别
err    #错误级别,阻止某个功能或模块不能正常工作的信息
crit    #严重级别,阻止整个系统或者整个软件不能正常工作的信息
alert    #需要立刻修改的信息
emerg    #内核崩溃等严重信息
none    #什么都不记录

重启rsyslog服务之后,就会产生/var/log/westos文件,如下图:

westos文件中就记录了所有的日志信息,用其他的主机ssh连接node2主机,westos就会产生相应的日志,如下图:

Linux基础_系统日志管理rsyslog_第2张图片

> /var/log/westos是清空该文件,为了查看方便,所以将日志清空。如果现在不让rsyslog采集认证信息的日志,可以在/var/rsyslog.conf文件中继续编辑,如下:

Linux基础_系统日志管理rsyslog_第3张图片

“;”后面的内容就是除了认证信息,其他类型的日志都采集到/var/log/westos文件中,重启服务后,再次用其他主机ssh连接node2,westos文件中就不会记录此次认证日志,如下:

Linux基础_系统日志管理rsyslog_第4张图片

2.日志的远程发送

    在生产环境中,可能会出现一个管理员需要对多台主机上的日志进行分析,为了高效就要将多台主机的日志发送到一台主机上进行分析。现在有两台主机node1和node2,需要将node2主机上产生的日志发送到node1主机上,所以就需要对两台主机的rsyslog进行配置。

    node2作为发送端,编辑resyslog的主配置文件,重启服务。如下:

    表示将自己产生的所有日志通过udp协议发送给172.25.254.160(node1)这台主机,“@”表示使用UDP协议,“@@”表示使用TCP协议。

  node1作为接收端,要对rsyslog的主配置文件进行配置,如下图:

Linux基础_系统日志管理rsyslog_第5张图片

如果发送端使用的是UDP协议发送日志,去掉15,16行的“#”,如果发送端是TCP协议发送日志,去掉19,20行的日志,然后重启服务关闭火墙,也可以对火墙进行配置,如下:

在node2端使用以下命令产生日志:

在node1端对/var/log/messages文件进行监控,会显示node2端的日志:

3.定义日志采集格式

上面的图中日志显示的格式都是固定的,我们可以自己定义日志的采集格式,编辑rsyslog的主配置文件,如下图:
Linux基础_系统日志管理rsyslog_第6张图片

重启服务后,日志的采集格式就和定义的格式相同,如下:

你可能感兴趣的:(运维,linux_server)