如何在logstash中创建条件字段?
我有一个名为“Priority”的字段,它的整数值为1到 10这里1是最低的,10是最高的。如何显示字符串 值,而不是数字,以使此字段更易于理解。因此,新字段应包含3个值,即如何在logstash中创建条件字段?,logstash,Logstash,我有一个名为“Priority”的字段,它的整数值为1到 10这里1是最低的,10是最高的。如何显示字符串 值,而不是数字,以使此字段更易于理解。因此,新字段应包含3个值,即 low ---> if priority lies in 1 to 3 Medium---> if priority lies in 4-7 high---->if priority lies in 8-10 首先,您需要确保优先级值的类型为int。之后,您可以使用将值更改为字符串 配置示例: inpu
low ---> if priority lies in 1 to 3
Medium---> if priority lies in 4-7
high---->if priority lies in 8-10
首先,您需要确保优先级值的类型为
int
。之后,您可以使用将值更改为字符串
配置示例:
input { stdin {} }
filter {
grok { match => { "message" => [" %{NUMBER:priority:int}" ] } }
if [priority] < 4 {
mutate { replace => { "priority" => "low" } }
} else if [priority] < 8 {
mutate { replace => { "priority" => "medium" } }
} else {
mutate { replace => { "priority" => "high" } }
}
}
output {stdout { codec => rubydebug }}
这意味着,无论从何处获取优先级字段,都需要注意它是否包含int。否则,您可以通过比较字符串值来实现这一点。我建议您保留两个字段:数字和字符串(漂亮)版本。这样,您可以基于数字运行高效查询,并在图表上显示字符串等 更多信息
%{NUMBER:priority:int}