I am using the transaction command in Splunk to group the events of an identical log file across two hosts. Essentially, the field=value pairs across both hosts should be identical at all times. From time to time, issues can issue that cause the two hosts to become out of sync. I'd like to have a search that only identifies transactions where the field=value pairs do not match exactly. What would be the best way to accomplish this?
For instance, using the search below groups the log files from multiple hosts into a single transaction by second.
"searchterm" source="mylog.log" | transaction field maxspan=1s
I want to only return events with the below pattern (mismatches)
2020-01-10 17:30:00,348 INFO field=true
2020-01-10 17:30:00,351 INFO field=false
But ignore events with this pattern (identical)
2020-01-10 17:30:00,348 INFO field=true
2020-01-10 17:30:00,351 INFO field=true
Or this pattern (identical)
2020-01-10 17:30:00,348 INFO field=false
2020-01-10 17:30:00,351 INFO field=false
"searchterm" source="mylog.log"
| streamstats time_window=1s dc(field) as flag
| where flag >1
how about this?