我正确配置了将syslog消息存储在PostgreSQL中,如下图所示,但but严重性、重要性、eventsource等为空:

这是我到现在为止的配置:
## Configuration file for rsyslog-pgsql
### Changes are preserved
module (load="ompgsql")
*.* action(type="ompgsql" server="localhost" db="syslog" uid="rsyslogu" pwd="*********")似乎必须创建一个模板,如下所示:https://www.rsyslog.com/doc/v8-stable/configuration/modules/ompgsql.html
如何为那些要填充的额外列设置模板?是否有人在模板中保留了剩余的列?
template(name="sql-syslog" type="list" option.sql="on") {
constant(value="INSERT INTO SystemEvents (message, timereported) values ('")
property(name="msg")
constant(value="','")
property(name="timereported" dateformat="pgsql" date.inUTC="on")
constant(value="')")
}发布于 2020-02-19 20:06:39
您的字段是空的,因为在insert语句中您只发送了两个字段。
试试这样的东西:
$template SQLWithProcessID,"insert into SystemEvents (Message, Facility, FromHost, Priority, DeviceReportedTime, ReceivedAt, InfoUnitID, SysLogTag) values ('%msg:R,ERE,1,FIELD:([a-zA-Z\/]+)(\[[0-9]{1,5}\])*:--end%', %syslogfacility%, '%HOSTNAME%', %syslogpriority%, '%timereported:::date-pgsql%', '%timegenerated:::date-pgsql%', %iut%, '%syslogtag:R,ERE,1,FIELD:([a-zA-Z\/]+)(\[[0-9]{1,5}\])*:--end%')",sql
module(load="ompgsql")
*.* :ompgsql:10.40.30.10,rsyslog,rsyslog,rsyslog;SQLWithProcessID https://stackoverflow.com/questions/59862547
复制相似问题