首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在logstash中创建条件字段?

如何在logstash中创建条件字段?
EN

Stack Overflow用户
提问于 2015-10-28 14:47:21
回答 2查看 3.3K关注 0票数 2

我有一个名为"Priority“的字段,它有像1到10这样的整数值,这里1是最低值,10是最高值。如何显示字符串值,而不是数字,以使此字段更容易理解。因此新字段应包含3个值,即

代码语言:javascript
运行
复制
low ---> if priority lies in 1 to 3
Medium---> if priority lies in 4-7
high---->if priority lies in 8-10
EN

回答 2

Stack Overflow用户

发布于 2015-10-28 17:13:34

首先,您需要确保您的优先级值是int类型。在此之后,您可以使用logstash's conditionals将值更改为字符串。

示例配置:

代码语言:javascript
运行
复制
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 }}

请注意,grok filter会将您的数字解析为int类型的字段。

代码语言:javascript
运行
复制
%{NUMBER:priority:int}

这意味着,无论您从何处获取优先级字段,都需要注意它包含一个int。否则,您可以通过比较字符串值来执行此操作。

票数 3
EN

Stack Overflow用户

发布于 2015-10-29 01:00:48

我建议您保留两个字段:数字和字符串(漂亮)版本。这样,您就可以根据数字运行有效的查询,并在图表上显示字符串,等等。

更多信息here

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33384602

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档