Logstash 条件截断消息长度
Logstash conditional truncate on message length
我是 logstash 配置的新手,我尝试在截断插件上添加条件。
我的目标是仅当我的消息长度大于 n 字节时才使用此插件,然后添加标签。
为什么要使用条件?因为即使消息没有被截断,插件也会添加标签。
这是我的会议:[=12=]
truncate {
fields => "message"
length_bytes => 2000
add_tag => [ "truncated_msg" ]
}
我尝试了不同的条件
像这样:
if event['message'].length > 2000 {
truncate {
fields => "message"
length_bytes => 2000
add_tag => [ "truncated_msg" ]
}
}
if field['message'].length > 2000 {
truncate {
fields => "message"
length_bytes => 2000
add_tag => [ "truncated_msg" ]
}
}
但是他们在使用 logstash 时让我出错。
因此,如果有人对我如何调整休假有解决方案,我将不胜感激。
感谢baudsp回答,有条件的工作。
这里是更正后的 conf 的一个简短片段:
if [message] =~ /.{4000,}/ {
truncate {
fields => "message"
length_bytes => 4000
add_tag => [ "truncated_msg" ]
}
}
我是 logstash 配置的新手,我尝试在截断插件上添加条件。
我的目标是仅当我的消息长度大于 n 字节时才使用此插件,然后添加标签。
为什么要使用条件?因为即使消息没有被截断,插件也会添加标签。
这是我的会议:[=12=]
truncate {
fields => "message"
length_bytes => 2000
add_tag => [ "truncated_msg" ]
}
我尝试了不同的条件 像这样:
if event['message'].length > 2000 {
truncate {
fields => "message"
length_bytes => 2000
add_tag => [ "truncated_msg" ]
}
}
if field['message'].length > 2000 {
truncate {
fields => "message"
length_bytes => 2000
add_tag => [ "truncated_msg" ]
}
}
但是他们在使用 logstash 时让我出错。
因此,如果有人对我如何调整休假有解决方案,我将不胜感激。
感谢baudsp回答,有条件的工作。 这里是更正后的 conf 的一个简短片段:
if [message] =~ /.{4000,}/ {
truncate {
fields => "message"
length_bytes => 4000
add_tag => [ "truncated_msg" ]
}
}