如何使用fluentd 0.12中的if条件

jm81lzqq  于 2021-06-10  发布在  ElasticSearch
关注(0)|答案(0)|浏览(451)

我用的是fluentd0.12。
我有下面的日志-

{"log":"2020-09-18 19:44:41 | INFO  | timeleft| 5a |  364 - core - 1.0.0.SNAPSHOT | TrafficTo:blue-connectorprocess from: blue-connectorprocess"}
{"log":"2020-09-18 19:44:41 | INFO  | timeleft| 6a |  351 - core - 1.0.0.SNAPSHOT | TrafficTo:httpRetrievedata from: retrieveSlaById"}
{"log":"2020-09-18 19:44:41 | INFO  | timeleft| 7a |  381 - core - 1.0.0.SNAPSHOT | TrafficTo:PromptConnector from: blue-connectorprocess"}

现在,我使用regex将日志分为几个字段:time | log | level | message | version | traffic | to | from
现在,我有一个要求,每当fluentd遇到值为“blue connectorprocess”的字段traffic\u to时,它应该添加新字段new\u traffic,并且该字段的值应该是webconnector。
类似地,如果在通信量\u to中遇到值“httpretrievedata”,则新的\u通信量字段应具有值uiconnector。如果我遇到值“promptconnector”,那么新的\u通信量的值应该是checkconnector。
我试着用下面的代码计算一个流量值,但没有成功。

<filter sla.**>
  @type record_transformer
  <record>
    NEW_TRAFFIC ${if record["TRAFFIC_TO"] == "PromptConnector" then record["NEW_TRAFFIC"] = "checkconnector"; end;}
  </record>
</filter>

有人能帮忙吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题