【问题标题】:How remove date from field? (Logstash)如何从字段中删除日期? (日志存储)
【发布时间】:2017-04-22 23:15:04
【问题描述】:

我有这个字段:

"log" => "2016-08-03 14:00:54,448 [DEBUG] 客户的地区 ID 过滤器:161943\r",

如何从中删除日期?我的代码不起作用:

mutate {
  gsub => ["log", "%{TIMESTAMP_ISO8601}", ""]
}

【问题讨论】:

    标签: elasticsearch logstash kibana


    【解决方案1】:

    不是最好的解决方案,但您可以尝试使用ruby 过滤器:

    filter {
      ruby {
        code => "event['log'] = event['log'].split(' ')[2..-1].join(' ')"
      }
    }
    

    【讨论】:

    • 我不知道它是如何工作的,但是可以工作:) 谢谢。安全吗?或者你可以告诉我如何从日志中删除前 24 个字符。因为我的日志总是以日期开头。
    • 该代码按空格分割字符串,删除前 2 个元素并通过与空格连接从数组中重新创建字符串。只需删除 24 个字符,您可以将其更改为 code => "event['log'] = event['log'][24..-1]"。但是你确定 14:00:54,448 总是 3 个字符吗?
    • 我认为是的,但我不确定。
    • 那么答案就可以使用了。
    • 所以如果我确定这个代码是 24 个字符 => "event['log'] = event['log'][24..-1]" 更好?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-17
    • 1970-01-01
    相关资源
    最近更新 更多