CentOS 8 完整实现 Rsyslog 日志写入 MySQL 数据库

目录

[一、安装 Rsyslog 依赖包](#一、安装 Rsyslog 依赖包)

[二、MySQL 端初始化](#二、MySQL 端初始化)

[三、配置 Rsyslog 核心规则(日志写入 MySQL)](#三、配置 Rsyslog 核心规则(日志写入 MySQL))

[1.编辑 rsyslog 配置文件](#1.编辑 rsyslog 配置文件)

2.在文件末尾添加以下完整配置

四、重启服务

五、故障排查

[1.校验 Rsyslog 配置语法(最常用)](#1.校验 Rsyslog 配置语法(最常用))

[2.测试 MySQL 连通性(本地 / 远程)](#2.测试 MySQL 连通性(本地 / 远程))

[3.检查 Rsyslog 模块加载状态](#3.检查 Rsyslog 模块加载状态)

4.手动触发日志,验证写入


一、安装 Rsyslog 依赖包

bash 复制代码
# 安装 rsyslog-mysql(内置 ommysql.so 核心模块)
yum install -y rsyslog rsyslog-mysql mariadb-server mariadb

# 验证模块是否存在(安装成功必返回文件路径)
ls -l /usr/lib64/rsyslog/ommysql.so

二、MySQL 端初始化

执行初始化 SQL

bash 复制代码
# 查询初始化脚本
rpm -ql rsyslog-mysql

# 执行初始化脚本
mysql> source /root/mysql-createDB.sql

三、配置 Rsyslog 核心规则(日志写入 MySQL)

1.编辑 rsyslog 配置文件

bash 复制代码
# 编辑主配置文件(CentOS8 默认配置文件)
vim /etc/rsyslog.conf

2.在文件末尾添加以下完整配置

bash 复制代码
# ========== 1. 显式加载ommysql模块(强制加载,避免自动加载失败) ==========
module(load="ommysql")

# ========== 2. 核心规则:所有日志写入MySQL(修改为你的MySQL信息) ==========
# 格式:*.* :ommysql:数据库IP,数据库名,用户名,密码
*.* :ommysql:127.0.0.1,syslogs,rsyslog_user,Rsyslog@123

四、重启服务

bash 复制代码
# 重启服务+设置开机自启
systemctl restart rsyslog
systemctl enable rsyslog

# 检查服务运行状态
systemctl status rsyslog -l

# 实时监控rsyslog日志,确认无报错
journalctl -u rsyslog -f

# 登录MySQL,查询日志表数据
mysql -uroot -p -e "SELECT *  SystemEvents;"

五、故障排查

1.校验 Rsyslog 配置语法(最常用)

bash 复制代码
# 语法检查,直接定位错误行(-N1 表示仅检查语法)
rsyslogd -N1

2.测试 MySQL 连通性(本地 / 远程)

bash 复制代码
# 本地连通性测试
mysql -ursyslog_user -pRsyslog@123 -h127.0.0.1 -P3306

# 远程连通性测试(替换为你的远程IP)
mysql -ursyslog_user -pRsyslog@123 -h192.168.1.100 -P3306

3.检查 Rsyslog 模块加载状态

bash 复制代码
# 查看已加载的rsyslog模块,确认ommysql已加载
rsyslogd -M | grep ommysql

4.手动触发日志,验证写入

bash 复制代码
# 手动生成一条测试日志
logger "test rsyslog write to mysql - $(date)"

# 查看MySQL是否写入
mysql -uroot -p -e "SELECT * FROM SystemEvents ORDER BY id DESC LIMIT 1;"
相关推荐
imDwAaY5 小时前
MySQL 存储引擎是什么?
android·数据库·mysql
星云低代码开发平台5 小时前
ERP 与 CRM 客户信用核对:业务键、时点和权限验收
大数据·数据库·人工智能
for_ever_love__5 小时前
MySQL 8.0 数据类型选型指南:INT、DECIMAL、VARCHAR 与时间字段怎么选
mysql·adb·数据类型·varchar·长度·字段类型选择
xiaogai_gai5 小时前
销售出库单同步实战:旺店通→金蝶云星空的单一策略深度拆解
大数据·前端·数据库
下页、再停留5 小时前
【C#桌面客户端系列学习-11】将SQLite数据库打包到exe里
数据库·c#·visual studio
下页、再停留5 小时前
【C#桌面客户端系列学习-12】封装SQLite数据库基础操作工具类(CURD)
数据库·c#·visual studio
LYmatch5 小时前
2024年408真题第41~47题汇总解析
数据库
程序员Sunday6 小时前
Redis 缓存穿透、击穿、雪崩怎么区分?从回源压力找原因
数据库·redis·缓存
我科绝伦(Huanhuan Zhou)6 小时前
磐维数据库(PanWeiDB)日常运维命令总结
运维·数据库
guo_wen_qiang6 小时前
redis实现秒杀功能-超卖&库存遗留问题的解决
数据库·redis·缓存