I'm trying to use mutate to define the data type of various fields generated in some Windows logs. For example, Remote Desktop Gateway has number fields for user_data.BytesReceived, user_data.BytesTransfered and user_data.SessionDuration. I have the following config file for beats
After restarting Logstash and pushing new data through, I am not getting Mapping conflicts from the change. When I created a similar filter for my NGINX logs, a new filter was created automatically and showed mapping conflicts in Kibana. In the case of NGINX, i was using Filebeat with explicit an document_type in the filter configuration for Logstash but prospectors don't seem to exist for Winlogbeat.
There are no errors in the Logstash logs. Is there anything I'm missing here?
And restarted Logstash. As you can see below, the types are still being detected as strings. A new index wasn't automatically created.
You get mapping conflicts when the index is originally of type string then you change to another type like date, integer, float etc which requires you to re-index old data against the new type.
You can't change the mapping of an existing field. You have to reindex.
That aside, have you verified by looking at the JSON document being stored in ES that the user_data subfields are integers?
You get mapping conflicts when the index is originally of type string then you change to another type like date, integer, float etc which requires you to re-index old data against the new type.
Numerical values can be stored in fields mapped as strings without creating mapping conflicts. The opposite isn't true.
Yes, if you want to change the mapping of a field you need to reindex but that's not a mapping conflict.
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.