【问题标题】:Logstash conditional truncate on message lengthLogstash 条件截断消息长度
【发布时间】:2022-01-07 22:11:25
【问题描述】:

我是 logstash 配置的新手,我尝试在 truncate 插件上添加条件。

我的目标是仅当我的消息长度大于 n 字节时才使用此插件,然后添加标签。

为什么要使用条件?因为即使消息没有被截断,插件也会添加标签。

这里是我的会议:

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 时让我出错。

因此,如果有人对我如何调节 trucate 有一个解决方案,我将非常感激。

【问题讨论】:

  • 我不确定这是否是最佳解决方案,但您可以使用正则表达式检查字段的长度:if [message] =~ /.{2000,}/ { ...}

标签: logstash logstash-configuration


【解决方案1】:

感谢baudsp 的回答,有条件的工作。 这里是更正后的 conf 中的快速 sn-p:

if [message] =~ /.{4000,}/ {
    truncate {
        fields => "message"
        length_bytes => 4000
        add_tag => [ "truncated_msg" ]
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-23
    • 1970-01-01
    • 2017-02-24
    • 1970-01-01
    相关资源
    最近更新 更多