在 logstash 中使用按位比较
Using bitwise comparation in logstash
如何使用 if 条件来检查按位是否存在?
我有一个 Flag 的枚举(在 c# 中),我想根据它的值在 logstash 中做不同的操作。
logstash 不直接支持按位条件。您可以使用 ruby 过滤器将枚举转换为字符串
ruby { code => 'flag = event.get("Flags"); if flag { event.set("[@metadata][flags]", flag.to_i.to_s(2)) }' }
然后使用 grok 将其分开 select 每个位,然后使用条件语句测试它们中的每一个。在 ruby.
中 do the whole thing 可能更容易
如何使用 if 条件来检查按位是否存在? 我有一个 Flag 的枚举(在 c# 中),我想根据它的值在 logstash 中做不同的操作。
logstash 不直接支持按位条件。您可以使用 ruby 过滤器将枚举转换为字符串
ruby { code => 'flag = event.get("Flags"); if flag { event.set("[@metadata][flags]", flag.to_i.to_s(2)) }' }
然后使用 grok 将其分开 select 每个位,然后使用条件语句测试它们中的每一个。在 ruby.
中 do the whole thing 可能更容易