Hello everyone i have been trying to ingest and parse Exchange message tracking logs via filebeat dissect processor to generate fields i need from the log rather than the beat dumping the entire log into the message field and so far i had no luck with it.as an example this is how the log file looks like:
#Software: Microsoft Exchange Server
#Version: 15.01.2176.014
#Log-type: Message Tracking Log
#Date: 2021-11-28T15:44:24.950Z
#Fields: date-time,client-ip,client-hostname,server-ip,server-hostname,source-context,connector-id,source,event-id,internal-message-id,message-id,network-message-id,recipient-address,recipient-status,total-bytes,recipient-count,related-recipient-address,reference,message-subject,sender-address,return-path,message-info,directionality,tenant-id,original-client-ip,original-server-ip,custom-data,transport-traffic-type,log-id,schema-version
2021-11-28T15:44:24.950Z,172.172.254.41,EXCHANGE01,172.172.31.30,,Recipient Filter Agent,,SMTP,FAIL,,,,,,,,,,,,,,,,,,S:ToEntity=Unknown;S:FromEntity=Unknown,,86b9db72-80a9-4d15-f9b6-08d9b285f458,15.01.2176.014
2021-11-28T15:44:24.959Z,172.172.254.41,EXCHANGE01,172.172.31.30,,Recipient Filter Agent,,SMTP,FAIL,,,,,,,,,,,,,,,,,,S:ToEntity=Unknown;S:FromEntity=Unknown,,d149c2e5-09d6-474d-5170-08d9b285f45a,15.01.2176.014
2021-11-28T15:44:29.828Z,172.172.254.41,EXCHANGE01,172.172.31.30,,Recipient Filter Agent,,SMTP,FAIL,,,,,,,,,,,,,,,,,,S:ToEntity=Unknown;S:FromEntity=Unknown,,32b7c2a6-6dfe-4a5f-49ff-08d9b285f741,15.01.2176.014
2021-11-28T15:44:35.913Z,172.172.254.41,EXCHANGE01,172.172.31.30,,Recipient Filter Agent,,SMTP,FAIL,,,,,,,,,,,,,,,,,,S:ToEntity=Unknown;S:FromEntity=Unknown,,19fc7985-b9bf-41fb-c927-08d9b285fae1,15.01.2176.014
I have been trying to create fields in elasticsearch of of the #Fields column in the log only and have it split the message into those fields
this it the processor i have been trying to use:
processors:
- dissect:
tokenizer: "%{date-time} %{client-ip} %{client-hostname} %{server-ip} %{server-hostname} %{source-context} %{connector-id} %{source} %{event-id} %{internal-message-id} , %{message-id} , %{network-message-id} , %{recipient-address} %{recipient-status} %{total-bytes|integer} %{recipient-count|integer} %{related-recipient-address} %{reference} %{message-subject} %{sender-address} %{return-path} %{message-info} %{directionality} %{tenant-id} %{original-client-ip} %{original-server-ip} %{custom-data} %{transport-traffic-type} %{log-id} %{schema-version}"
field: "message"
target_prefix: ""
ignore_failure: "true"
overwrite_keys: "true"
but when ingesting im only getting
log.flags: dissect_parsing_error
Any help would be appreciated as i am relatively new with using processors and data enrichment.