Out of the box rsyslog wird alles in die Dump - SystemEvents
Tabelle in der `Syslog - Datenbank (wenn Sie das Standardschema bereitgestellt verwenden). Ich möchte einen regulären Ausdruck verwenden, um eingehende Nachrichten in separate Datenbanktabellen zu filtern.
Ich habe damit gespielt, aber es fällt mir schwer, den besten Weg zu finden, um dies zu erreichen (oder sogar einen Weg, der funktioniert).
In meiner rsyslog.conf:
$template wireless, \
"insert into RogueAPs \
(ReceivedAt, DeviceReportedTime, Facility, Priority, FromHost, Message) \
VALUES('%timegenerated%', '%timereported%', '%syslogfacility%', '%syslogpriority%', '%fromhost-ip%', '%msg%');", \
stdsql
if $msg contains 'subtype=wireless' then :ommysql:127.0.0.1,Syslog,dbusername,dbpassword;wireless
*.* :ommysql:127.0.0.1,Syslog,dbusername,dbpassword
Dies war mein letzter Versuch, aber ich stecke fest.
(Die RogueAPs-Tabelle ist nur ein Klon der Standard-SystemEvents-Tabelle, die mit rsyslog geliefert wird.)
Versions Information:
shell# /usr/local/sbin/rsyslogd -v
rsyslogd 5.5.5, compiled with:
FEATURE_REGEXP: Yes
FEATURE_LARGEFILE: No
FEATURE_NETZIP (message compression): Yes
GSSAPI Kerberos 5 support: No
FEATURE_DEBUG (debug build, slow code): No
Atomic operations supported: Yes
Runtime Instrumentation (slow code): No
See http://www.rsyslog.com for more information.