一、rsyslog介绍
rsyslog是一个在Linux系统中广泛使用的系统日志管理工具。具有以下几个重要特点和功能:
1、强大的日志收集能力:能够从各种来源收集日志信息,包括系统内核、应用程序、服务等。
2、灵活的配置选项:允许管理员根据具体需求设置日志的处理方式和存储位置。
3、高效的存储和处理:通过优化的算法和数据结构,能够快速处理大量的日志数据,确保系统性能不受太大影响。
4、支持多种输出方式:除了本地存储,还可以将日志发送到远程服务器、通过邮件通知管理员等。
当系统启动时,服务管理工具会按照配置来启动rsyslog.service,以确保系统能够及时收集和处理日志信息。
配置文件:/etc/rsyslog.conf,这个文件包含了一系列的规则和设置,用于决定如何处理系统产生的各种日志信息。
日志存放:
/var/log/messages #系统服务日志,常规信息,服务报错
/var/log/secure #系统认证信息日志
/var/log/maillog #系统邮件日志信息
/var/log/cron #系统定时任务信息
/var/log/boot.log #系统启动日志信息
二、自定义日志采集路径
在配置文件/etc/rsyslog.conf中修改
日志类型.日志级别 日志存放路径
*.* /var/log/westos #把系统中所有级别的日志文件放到westos中
*.*;authpriv.none /var/log/westos #把系统中所有级别的日志文件放到westos中
#但是authpriv.none不存放到westos中
日志类型:
auth #用户认证
authpriv #服务认证
cron #时间任务
kern #内核类型
mail #邮件
news #系统更新信息
user #用户
日志级别:
debug #程序排错信息
info #程序常规运行信息
notice #重要信息的普通日志
waring #程序警告
err #程序报错
crit #严重级别会导致系统软件不能正常工作
alert #系统中立即要更改的信息
emerg #系统的严重问题日志
none #不采集
三、日志同步
1、发送端配置
vim /etc/rsyslog.conf
进入配置文件,设置把所有类型、所有级别的日志文件发给另一台主机。
@表示使用UDP方式
@@表示使用TCP方式
2、接收端配置
vim /etc/rsyslog.conf
module(load="imudp")表示加载imudp模块,imudp模块用于处理通过UDP协议接收的日志数据。
input(type="imudp")port="514" 指定输入类型和监听端口。
如果使用tcp方式:
3、测试
在日志接收方查看日志,在日志生成测试日志,在测试之前,可以先清空一下日志,以方便观察。
发送端:
接收端:
三、更改日志采集格式
定义日志采集格式:
$template WESTOS_FORMAT, "%FROMHOST-IP% %timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n"
#WESTOS_FORMAT: 格式名称
#%FROMHOST-IP%: 日志来源主机IP
#%timegenerated%: 日志生成时间
#%syslogtag%: 日志生成服务
#%msg%: 日志内容
#\n: 换行
在接收端,修改配置文件Template:日志默认格式指定
也可以单独制定:
测试: