我已正确配置为将syslog消息存储在PostgreSQL中,如下图所示,但是ntseverity,重要性,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="')")
}
您的字段为空,因为在插入语句中,您仅发送两个字段。
尝试类似的东西:
$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