It really depends on the format of your stored message files. If any information is missing, then you can't expect to recreate the original source messages. We store the messages in a format defined as template("<$PRI>$ISODATE $FULLHOST $FACILITY.$LEVEL $MSGHDR$MESSAGE\n"); which looks like 2023-04-13T06:15:01.613-07:00 my.host.name cron.info CROND[662460]: (root) CMD (/usr/local/sbin/fscheck) These messages can be read back with a no-parse option from a named pipe source s_replay { pipe("/var/log/syslog.pipes/replay" log_iw_size(100000) log_fetch_limit(5000) flags(no-parse) ); }; and parsed with a pattern database (attached) with parser p_rawsyslog { db_parser( file("/usr/local/etc/syslog-ng/patterndb.d/reprocess.xml") inject_mode(internal) ); }; log { source(s_replay); parser(p_rawsyslog); ... }; Then sent to any destination with templated values from the parsing. template t_replay { template("<$pri>$parsedate $parsehost $parsemessage\n"); template_escape(no); }; message files can be fed into this by the command cat log.file.name >> /var/log/syslog.pipes/replay Hope that helps as a starting point. Evan On 2023-04-13 04:45, Dragan Zecevic wrote:
Hi, we have syslog-ng Open Source Edition 3.33 and we are storing syslog messages from some systems into log files locally on a partition on syslog-ng server. Each day those log files are compressed. In order to better analyze some logs if needed we would like to extract some log files and ingest them to SIEM.
Is it possible to make some forwarder that will read these RAW syslog messages from a log file and send them via syslog to SIEM?
Thank you.
Br, Dragan