使用Logstash translate过滤器 enrich JSON时,country字段始终返回Unknown的问题求助
Logstash translate过滤器 enrich JSON时,country字段始终返回Unknown的问题求助
嘿,我看了你的配置和遇到的问题,核心问题出在字典文件的格式上!Logstash的translate过滤器要求字典文件是直接的键值对结构——也就是键必须是你要匹配的remote_addr字段的值,值就是对应的country内容。
你现在的ip_list.json是一个包含ip和country字段的对象,translate根本没法识别这种结构去匹配remote_addr的值,所以才会一直触发fallback返回"Unknown"。
你只需要把ip_list.json改成下面的格式就行:
{"7.7.7.7": "sweden"}
如果有多个IP需要匹配,就按这个格式扩展:
{ "7.7.7.7": "sweden", "8.8.8.8": "usa", "9.9.9.9": "japan" }
修改完字典文件后,重启Logstash再测试,应该就能正确把country字段匹配成"sweden"啦!
备注:内容来源于stack exchange,提问作者J Ed




