【发布时间】:2020-09-19 14:52:01
【问题描述】:
我使用的是 fluentd 0.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"}
现在,我使用正则表达式将日志划分为几个字段 - 时间 | LOG_LEVEL |留言|版本| TRAFFIC_TO|来自
现在,我的要求是,当 fluentd 遇到字段 TRAFFIC_TO 的值“blue-connectorprocess”时,它应该添加新字段 NEW_TRAFFIC,并且该字段的值应该是 webconnector。
同样,如果在 TRAFFIC_TO 中遇到值“httpRetrievedata”,那么 NEW_TRAFFIC 字段应该具有值 uiconnector。如果我遇到值“PromptConnector”,那么 NEW_TRAFFIC 的值应该是 checkconnector。
我在下面的代码中尝试了 TRAFFIC_TO 值之一,但没有成功。
<filter sla.**>
@type record_transformer
<record>
NEW_TRAFFIC ${if record["TRAFFIC_TO"] == "PromptConnector" then record["NEW_TRAFFIC"] = "checkconnector"; end;}
</record>
</filter>
有人可以帮忙吗?
【问题讨论】:
-
请显示您的过滤器日志。
标签: elasticsearch plugins fluentd td-agent