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
浙公网安备 33010602011771号