Attached is a picture of what the SIEM app sees. (and my goal is to get it so I can see what users are logging in and out and also to follow ElasticSearch's best practices)
What's not working? I see you enabled the Security module in Winlogbeat.
There's one enhancement in progress to add some additional event IDs into the Security module. These are mostly related to account management events. https://github.com/elastic/beats/pull/13530
You don't need to specifically include the ECS field definitions for any Beat, starting with 7.0, unless you want to make an older Beat (e.g. 7.0 which was ECS 1.0.0) forward-compatible with a later version of ECS (e.g. ECS 1.2.0). But in general, each Beat already defines all ECS fields.
Second note on leveraging the ECS generated files. If you have other more custom pipelines (not this Winlogbeat situation), you should not use files from the master branch of the ECS repo. You should make sure to pick the correct Git tag that matches the ECS release you're targeting.
The destination of your reverse DNS lookup should go to client.domain and server.domain, there's no .hostname field in client/server nor source/destination.
The IP addresses are indeed inside event_data, however your Logstash config should look for them at "[winlog][event_data][IpAddress]" (you're missing the winlog nesting). Adjusting this should get you most of the IP addresses.
Note also that depending on the providers / event IDs you consume, I've seen typos in some IpAddress fields. Sometimes it's Ip Address, or other small typos. So adjusting to "[winlog][event_data][IpAddress]" will get you most of the way there. If you still see it missing from time to time, look for a typo, and add that as a fallback to your pipeline, to correctly capture those as well.
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.