Logstash筛选器:从一个聚合值获取Map值,并将其设置为另一个的另一task_id

问题描述

在此情况下:我的日志很少,可以汇总traceID,并且可以正常工作。但是,我也想基于以上汇总之一中的customerid进行汇总。

在以下代码段中,我基于traceid进行了汇总,并且可以正常工作。我在这里保存customerid

aggregate {
       task_id => "%{traceid}"
       code => "
            map['customerid'] = event.get('customerid')
            map['channelid'] = event.get('channelid')"
       map_action => "create"
     }
    }

在另一个日志行处理中,我想使用此映射的customerId创建一个新的aggregate

可能是这样的:

aggregate {
       task_id => "%{map['customerid']}"
       code => "map['it_works'] = 'true'"
       map_action => "create"
     }

但是它失败了:

An unexpected error occurred! {:error=>java.lang.IllegalStateException: org.logstash.FieldReference$IllegalSyntaxException: Invalid FieldReference: `map['customerid']`

有没有办法解决这个问题?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)