在rsyslog.conf输入如下配置 module(load="ommysql") action(type="ommysql" server="10.99.200.253" serverport="3306" db="Syslog" uid="rsyslog" pwd="@lise4923JL" sql="INSERT INTO SystemEvents(timegenerated, fromhost, programname, message) VALUES (FROM_UNIXTIME(:timegenerated), :fromhost-ip, :programname, :msg)") 保存之后,运行 systemctl restart rsyslog ,显示如下错误 error during parsing file /etc/rsyslog.conf parameter 'sql' not known -- typo in config file? [v8.2102.0-13.el8 try https://www.rsyslog.c> 要如何修改上述配置
时间: 2024-03-30 20:35:32 浏览: 124
nginx配置日志输出到rsyslog.docx
根据错误提示,似乎是 `sql` 这个参数不被识别。可以尝试使用 `template` 模块来定义插入语句,然后在 `action` 中引用这个模板,具体操作如下:
1. 在配置文件中添加以下内容来定义模板:
```
$template mySQLtemplate,"INSERT INTO SystemEvents(timegenerated, fromhost, programname, message) VALUES (FROM_UNIXTIME(%timegenerated%), '%fromhost-ip%', '%programname%', '%msg%')", SQL
```
2. 在 `action` 中引用这个模板,修改 `action` 配置为:
```
action(type="ommysql"
server="10.99.200.253"
serverport="3306"
db="Syslog"
uid="rsyslog"
pwd="@lise4923JL"
template="mySQLtemplate")
```
3. 保存配置文件并重启 rsyslog 服务,命令如下:
```
systemctl restart rsyslog
```
这样就可以将日志数据插入到 MySQL 数据库中了。需要注意的是,这里使用的是自定义模板,如果需要修改插入语句,只需要修改模板即可。
阅读全文