Rsyslog服务

日志:记录服务器发生的事件,包括错误情况、用户登录的情况、服务器访问的情况等。

1:历史日志(记录日志的时间、发生的事件详情)

2:日志级别(Loglevel):事件关键性程度

文件记录日志的格式(文本格式):事件日期时间  主机   进程(pid)  事件内容

常见日志文件说明

/var/log/message        包括整体系统信息,包括系统启动期间的日志。此外mail,cron,daemon,kern,auth等内容也记录在此日志中。

/var/log/dmesg           包含一些内核缓冲信息,在系统启动时,会在屏幕上显示许多与硬件相关的信息。

/var/log/auth.log         包含系统授权信息,如用户登录和使用的权限机制等

/var/log/boot.log         包含系统启动的日志

/var/log/kern.log                  包含内核产生的日志,有助于在定制内核时解决问题

/var/log/lastlog           记录所有用户最近信息,不是一个ASCII文件,需要使用lastlog命令查看内容

/var/log/btmp             记录所有失败登录信息。使用last命令可以查看btmp文件

/var/log/cron               每当cron进行开始一个工作时,就会将现相关信息记录在这个文件夹中

/var/log/secure           包含验证和授权方面的信息。sshd会将所有信息记录在这里

/var/log/wtmp /var/log/utmp       包含登录信息。wtmp可以找出谁正在登录进入系统,谁使用命令显示这个文件或信息等

/var/log/sa                            包含每日由sysstat软件包收集的sar文件

/var/log/sssd               用户守护进程安全服务

 

rsyslog(系统日志服务):为帮助很多应用程序记录日志,不必每个应用程序自我实现单独记录日志,分为两个进程:

syslogd:记录用户进程记录日志

klogd:记录内核日志

 

Rsyslog日志分类

facility:把某一类具有相同特性的由各个应用程序产生的日志数据流归类到同一日志管道中,此管道为facility,可简单理解为系统是日志的分类

系统中有诸多facility,从功能或程序上对日志进行分类,例如:auth、authpriv、cron、daemon、kern、lpr、mail、mark、news、security、user、uucp、local0-local7、syslog   

priority(日志级别)

级别:debug   info    notice    warn(warning)    err(error)   crit(critical)      alert     emerg

如:

facility.priority   /var/log/messages    指明日志文件、日志级别,以及记录在哪个路径下的日志文件。

 

指定级别的格式:

*:所有级别           

auth.*

none:没有级别        

mail.none

priority:此级别以及更高级别的日志信息

=priority:此级别

 

总结①类型:

auth    认证系统,即询问用户名和口令

cron    系统执行定时任务时发出的信息

daemon  某些系统的守护程序的日志

kern    内核的syslog信息

lpr     打印机的syslog信息

mail    邮件系统的syslog信息

mark    定时发送消息的时标程序

news    新闻系统的syslog信息

user    本地用户应用程序的syslog信息

uucp    uucp子系统的syslog信息

local0-7 本地类型的syslog信息,这些信息可以由用户来定义

*       代表所有分类

总结②级别:

      emerg   紧急,处于Panic状态。通常应广播到所有用户;

alert   告警,当前状态必须立即进行纠正。例如,系统数据库崩溃;

crit    关键状态的警告。例如,硬件故障;

err     错误;

warn    警告;

notice  注意;非错误状态的报告,但应特别处理;

info    通报信息;

debug   调试程序时的信息;

none   通常调试程序时用,指示带有none级别的类型产生的信息无需送出。如*.debug;mail.none表示调试时除邮件信息外其它信息都送出。

 

rsyslog程序包即为rsyslog

/etc/rsyslog.conf:rsyslog的主配置文件

/usr/sbin/rsyslogd:日志主程序

服务启停脚本:/etc/init.d/rsyslog

主配置文件详解:

1、#### MODULES #### 

指定装载的模块

2、$ModLoad imuxsock

支持本地日志记录的模块

3、$ModLoad imjournal

支持本地系统访问产生日志的功能

4、$ModLoad imklog

支持本地内核产生日志的功能

5、# Provides UDP syslog reception

#$ModLoad imudp

#$UDPServerRun 514

 

# Provides TCP syslog reception

#$ModLoad imtcp

#$InputTCPServerRun 514

基于UDP和TCP方式进行收集日志,以及对应的端口

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

所有facility的priority,以及排除的部分。它们对应日志存储的位置

7、authpriv.*                                              /var/log/secure 

authpriv的所有级别,记录在的位置

8、mail.*                                                  -/var/log/maillog  

-代表异步写入

cron.*                                                  /var/log/cron

9、*.emerg                                                 :omusrmsg:* 

后面的*代表当前登录系统的所有用户

10、uucp,news.crit                                          /var/log/spooler 

表示uucp和news的crit级别

11、local7.*                                                /var/log/boot.log 

local7被boot引导记录日志占用,其他local0-6可以自定义

 

例如:将sshd服务进行单独记录日志

①配置sshd主配置文件,使其单独记录日志

vim /etc/ssh/sshd_config    

 

 

重载sshd服务即可对sshd服务生效

②在rsyslog主配置文件进行配置单独为sshd服务记录日志,并重启rsyslog服务,生效

vim /etc/rsyslog.conf    

service rsyslog restart

 

 

构建单独的rsyslog服务器(扮演成服务器)注意:需要关闭防火墙

两台机器:

(日志服务器server)node1(192.168.1.2)

(client) node 2 (192.168.1.3)

实验目的:将node2上的日志传输到node1上

 

在服务器端node1配置

1)编辑配置文件:vim /etc/rsyslog.conf

注:日志的传输方式有三种:TCP、UDP、RELP

UDP传输, 但信息有损耗

基于TCP明文的传输,只在特定情况下丢失信息,并被广泛使用

RELP传输,不会丢失信息,但只在rsyslogd 3.15.0及以上版本中可用

2)启用三种传输方式

启用UDP传输方式:取消15、16行的注释

启用TCP传输方式:取消19、20行的注释

3)开启传输端口监听

vim /etc/sysconfig/rsyslog

    SYSLOGD_OPTIONS="-r514 -c2"

注:-r:指定监听端口

    -c2:使用兼容模式

4)重启服务:systemctl restart rsyslog

 

客户端配置

1)指定日志传输方式:

vim /etc/rsyslog.conf

在最后添加

使用哪种方式进行日志传输

UDP传输:*.* @192.168.1.2:514

TCP传输:*.* @@192.168.1.2:514

2)客户端重启服务:systemctl restart rsyslog

测试

在客户端生成一条日志,看服务器端是否接受到这个日志

在客户端:logger -t kern -p err "hello,wahaha"

在服务器端:tail -f /var/log/messages

 

 

posted on 2019-11-14 22:17  师傅抓妖  阅读(828)  评论(0)    收藏  举报