Hi Brian,
there are multiple options here:
1.- Have Wazuh server syslog daemon (Rsyslog), write to a log file, and configure logcollector component to parse that file.
This option is pretty good, as it allows you to use Rsyslog templates to modify your logs format if needed. It also allows you to use Rsyslog filters to decide what you want to write to the file.
On the other hand, this option can be expensive for the hard drive. Because it needs to write logs to a file it is actually making use of read and write operations. This can be avoided using some other options below.
2.- Have Wazuh remote daemon (remoted) listening directly for incoming Syslog data.
You can configure a Remote daemon socket to listen for incoming Syslog data. This data will be processed and analyzed by decoders and rules too.
To do so you would need to add another configuration stanza like this:
<remote>
<connection>syslog</connection>
<port>1513</port>
</remote>
This way you don't need to use Rsyslog, and you can have your network devices pointing directly to Remoted socket (listening on port 1513/udp in this case).
This option does not require to write/read events from a log file so it does not make use of the hard disk (saving disk resources). On the contrary it does not give you the opportunity to use custom filters or templates (which are features provided by Rsyslog).
3.- Use Wazuh server syslog daemon (Rsyslog), writing the output locally to Remoted syslog socket.
This is my preferred choice, as you can make use of all Rsyslog features and still not write events to a file. You can add a Syslog rule for example to /etc/rsyslog.d/wazuh.conf like this one:
if ($fromhost-ip == '10.10.10.1' or $fromhost-ip == '10.10.10.2') then @
127.0.0.1:1513
This rule would redirect data from source IPs 10.10.10.1 and 10.10.10.2 to the local Remoted socket (filtering out everything else). In this scenario those IPs could be your network devices.
4.- Collecting Syslog using a Wazuh agent.
There is scenarios where you may want to use an agent to collect syslog data. You can do that too, using Rsyslog and redirecting the output to a file, read by the agent.
I hope it helps,
Santiago.