That approach would work. although you don't really need the Rsyslog server. Filebeat has a syslog input that can receive logs. Just enable the module and configure it's syslog input to listen on 0.0.0.0 (to receive from the network).
With option one you can install the filebeat es pipeline that will parse the syslog properly. If you go with logstash you have to create your own patterns or just have everything in the message field
Please correct me if I’m wrong
You can also not use filebeat at all and use logstash input to ingest logs and output those to es
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.