Linux日志文件及如何使用rsyslog搭建小型日志服务器
一、日志文件
1、日志作用
2、常用日志
3、日志级别
二、Rsyslog日志处理系统
1、使用Rsyslog创建日志有点
2、Rsyslog配置文件解析
3、使用rsyslog将ssh服务的日志单独设置
4、使用rsyslog搭建日志服务器
①实验背景
②实验目的
③实验环境
③实验步骤
一、日志文件
1、日志作用
将系统和应用发生的事件记录至日志中,以助于排错和分析使用。
记录的内容包括:时间,地点,人物,事件
2、常用日志

3、日志级别
日志级别数字越小越紧急,一般运维过程中出现4级就要进行检查注意了
二、Rsyslog日志处理系统
1、使用Rsyslog创建日志有点
在运维过程中某些服务时自带错误日志和运行日志的,但是有一些服务安装完成后是没有日志的。下面我们以sshd服务为例创建一个日志。
例如sshd本身是有日志的,但是与其他安全服务一样都存放在/var/log/secure/messages文件中不方便我们查看sshd的日志,如果我们将sshd服务的日志单独生成一个日志文件便于我们查看,注意使用Rsyslog创建日志的服务必须支持Rsyslog。
2、Rsyslog配置文件解析
配置文件路径:/etc/rsyslog.conf
分为三大块:
MODULES:相关模块配置
GLOBAL DIRECTIVES:全局配置
RULES:日志记录相关的规则配置
#MODULES //相关模块配置
# Provides UDP syslog reception
#$ModLoad imudp //使用UDP协议传输日志数据
#$UDPServerRun 514 //端口为514端口
# Provides TCP syslog reception
#$ModLoad imtcp //使用TDP协议传输日志数据
#$InputTCPServerRun 514 //端口为514端口
#### GLOBAL DIRECTIVES #### //全局配置不常用省略
#### RULES #### //日志记录相关的规则配置
*.info;mail.none;authpriv.none;cron.none /var/log/messages
//*表示所有*.info表示所有级别,分号隔开none表示没有级别即不记录
//本行中表示不记录mail、authpriv、cron其他所有记录到/var/log/messages文件中
authpriv.* /var/log/secure
//authpriv所有等级日志记录到/var/log/secure文件中,文件可以自定义路径和文件名
//可以使用1个@或者2@加ip的形式将日志传到其他相通的服务器上
mail.* -/var/log/maillog
//mail所有等级日志记录到-/var/log/maillog文件中,文件可以自定义路径和文件名
//可以使用1个@或者2@加ip的形式将日志传到其他相通的服务器上
cron.* /var/log/cron
//cron所有等级日志记录到/var/log/cron文件中,文件可以自定义路径和文件名
//可以使用1个@或者2@加ip的形式将日志传到其他相通的服务器上
local7.* /var/log/boot.log
//local7表示自定义服务,范围为0-7都可以使用,在支持的服务配置文件中也要写对应的local等级
// /var/log/boot.log表示存到此目录下的文件中,文件可以自定义路径和文件名
//可以使用1个@或者2@加ip的形式将日志传到其他相通的服务器上
3、使用rsyslog将ssh服务的日志单独设置
1.vim /etc/ssh/sshd_config
shift+冒号 末行模式敲set nu 显示行号,上下键找到第32行,命令模式yy复制,p粘贴到下一行,将32行开头加上#号,按“i”进入编辑模式,将33行后面那个单词改为LOCAL6,保存退出

2.vim /etc/rsyslog.conf
shift+冒号 末行模式敲set nu 显示行号,上下键找到第73行,命令模式yy复制,p粘贴到下一行,按“i”进入编辑模式,改为如下
③重启sshd服务和rsyslog服务,如下图。

④本机ssh自己并查看实时日志是否生成记录,如下图。

4、使用rsyslog搭建日志服务器
①实验背景
日志服务器更方便管理企业内部日志,将业务服务器的日志都放到日志服务器上更便于运维和管理。
②实验目的
将业务服务器A的内核和公共日志实时传输到日志服务器B上
③实验环境
硬件:2台网络互通的centos7.4服务器
软件:业务服务器A地址为:192.168.30.11/32
业务服务器B地址为:192.168.30.10/32
③实验步骤
第一步将2台服务器的防火墙以及selinux防护关闭,如下图。
第二步在业务服务器A和日志服务器B上配置rsyslog服务开启tcp协议,在业务服务器A上将内核和公共日志实时传输到日志服务器B上(配置文件路径:/etc/rsyslog.conf),如下图。
第三步业务服务器A和日志服务器B上重启rsyslog服务并检查514端口是否开启,如下图。
第四步在业务服务器A上使用logger命令打印内容到日志查看日志服务器B是否能在日志中查看到,如下图。

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?