【问题标题】:Logstash replace all json keys on filterLogstash 替换过滤器上的所有 json 键
【发布时间】:2020-07-09 13:11:49
【问题描述】:

我的 logstash 接收带有一些包含“.”的键名的 JSON .我想用所有键名中的其他字符串替换所有点。

我找到了 kv,json,mutate 但似乎没有插件可以遍历每个 JSON 键。

除了在 Ruby 插件中编写代码之外,还有其他插件可以提供帮助吗?

【问题讨论】:

  • 你能分享一个你的 json 样本,这样人们就可以看到你的数据是什么样子的吗?也分享你想要的输出。

标签: logstash elastic-stack logstash-configuration logstash-filter


【解决方案1】:

扫描文档后,我看到的唯一选项是gsub filter plugin。从文档复制的代码

filter {
      mutate {
        gsub => [
          # replace all forward slashes with underscore
          "fieldname", "/", "_",
          # replace backslashes, question marks, hashes, and minuses
          # with a dot "."
          "fieldname2", "[\\?#-]", "."
        ]
      }
    }

【讨论】:

  • 但是即使我不知道字段的名称,是否可以遍历所有字段?在您的示例中,您必须提供字段名称,我想要“for each”之类的内容
  • 不像文档那样。恐怕您唯一的选择似乎是使用 ruby​​ 代码:-\
猜你喜欢
  • 2022-12-05
  • 1970-01-01
  • 1970-01-01
  • 2017-01-21
  • 1970-01-01
  • 1970-01-01
  • 2021-03-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多