Di luar kotak rsyslog akan membuang semuanya ke dalam SystemEvents
tabel di dalam `Syslog database (jika Anda menggunakan skema default yang disediakan). Saya ingin menggunakan ekspresi reguler untuk memfilter pesan masuk ke tabel database terpisah.
Saya sudah bermain dengan ini, tapi saya kesulitan menemukan cara terbaik untuk mencapai ini (atau bahkan cara yang berfungsi).
Di rsyslog.conf saya:
$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
Ini adalah upaya terakhir saya, tetapi saya mandek.
(tabel RogueAPs hanyalah tiruan dari tabel SystemEvents default yang dikirimkan dengan rsyslog)
Informasi versi:
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.