在Logstash过滤器中将字段评估为表达式

莫列休克

我在Logstash事件中有一个自定义字段,定义为表达式:

{ "customIndex" => "my-service-%{+YYYY.MM}" }

并为elasticsearch输出插件计算索引名称的过滤器:

filter {
  if [customIndex] {
    mutate {
      add_field => { "indexName" => "custom-%{customIndex}" }
    } 
  } else {
    mutate {
      add_field => { "indexName" => "common-%{+YYYY.MM.dd}" }
    }
  }
}

但是对于自定义索引,它将创建无效的名称custom-my-service-%{+YYYY.MM},并且不对%{+YYYY.MM}表达式求值

有可能评估领域并得到custom-my-service-2016.11吗?

仙女

如果可以将创建的字段重新格式化为:

{ "customIndex" => "my-service-%Y.%m" }

然后,这个Ruby过滤器就能解决问题:

ruby {
    init => "require 'date'"
    code => "event['indexName'] = 'custom-' + Date.today.strftime(event['customIndex'])"
}

是您可以使用的占位符的文档。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

TOP 榜单

热门标签

归档