Hi!
I’m working with Filebeat (v8.15.3) to ingest Windows ETW events (provider.name: Microsoft-Windows-DNSServer) and noticed that the keywords
field is represented as a large decimal integer (e.g., "keywords": "9223372036854775808"
). In raw Windows XML events, the same value appears as a hexadecimal mask like <keywords>0x8000000000000000</keywords>
, often mapped to human-readable names (e.g., QUERY_RECEIVED
for DNS events).
Questions:
- Decimal vs. Hexadecimal:
Why does Filebeat convert thekeywords
value to a decimal string instead of preserving the original hex format (0x...
)? Is this intentional for compatibility reasons? - Human-Readable Keywords:
Is there a built-in way in Filebeat or Logstash to map these decimal/hex values back to their human-readable names (e.g.,QUERY_RECEIVED
)? For example:- Could Filebeat’s
translate
processor or a custom script resolve this using Microsoft’s official keyword masks? - Are there plans to add this as a feature?
- Could Filebeat’s
- Workaround Suggestions:
If this isn’t natively supported, would you recommend:- Using a Logstash filter (e.g.,
ruby
ortranslate
) to convert the decimal value to hex and then map it to keywords? - Modifying the Filebeat pipeline to retain the hex format?
- Using a Logstash filter (e.g.,
Example Event Snippet:
"winlog": {
"keywords": "9223372036854775808", // Decimal representation of 0x8000000000000000
}
Desired Output:
"winlog": {
"keywords": "QUERY_RECEIVED", // Human-readable name
"keywords_hex": "0x8000000000000000" // Optional hex format
}
Thanks for your time and insights!