Just wanted to report my progress on this subject, and say thanks for your input.
I'm pretty happy with this setup so far I'll try to keep it short but wanted to share.
tl;dnr
HOWTO send Windows log data through syslog-ng and get it perfectly parsed in splunk and elasticsearch.
Purpose:
Funnel Windows events from enterprise or dmz zones through an remote aggregation relay into syslog-ng, allowing syslog-ng to replicate and broker log data based on business needs.
Components:
Beats- Winlogbeat is one of the beats agents by Elastic.co (Elasticsearch) that run on windows hosts to offload events to Logstash in this case.
Logstash: Like beats it is able to take plugin based input and convert it to a plugin based output. I use it like a syslog relay but for compressed json streams.
syslog-ng: Primary data aggregation and rule based distribution to SPLUNK,ES and Archive file.
Beats support plugin based outputs, the primary two are es and logstash. This solution uses a logstash instance running on the same VM as my rsyslog relay. The output from winlogbeat, running on all windows servers, is a compressed json data stream to its designated logstash relay IP:PORT.