【问题标题】:SPLUNK : Duplicated json fields on searchHeadSPLUNK:搜索头上的重复 json 字段
【发布时间】:2021-02-12 01:14:37
【问题描述】:

我有集群基础设施(简化)

2 SH(集群)+2 Indexer(集群)+Heavy Forwarder(名称 HF)

在 HF 上,我运行一些返回 JSON 文件的脚本,并将其从 HF 转发到 Indexers (HF -> IndexCluser)

之后,我必须使用该数据在 SH 上进行一些搜索

当我发出搜索请求时,我已经正确解析了 JSON,看起来很完美。但是当我使用 table 或只是扩展结果时,每个 JSON 字段都是重复的。

我在 Heavy Forwarder 上定义了一个自定义源类型(尽管我尝试了一些变体):

[just_json]

INDEXED_EXTRACTIONS = json
KV_MODE = none
AUTO_KV_JSON = false
NO_BINARY_CHECK = true
pulldown_type = true
category = Application

我假设它会乘以 2,因为:

在索引期间解析的 JSON(或从 Heavy 发送?)

在执行搜索期间在 searchHead 上额外解析 JSON

我已经阅读了一些类似的问题(不确定集群案例)但没有成功。

还是想不通。

一些事件示例:

view after query

show raw

expanded view

表格视图: table query

【问题讨论】:

  • 请分享您用于显示 JSON 数据的查询。
  • @RichG 嗨!最简单的查询 - index=someindex sourcetype="fwdjson:some_actions" 在这种情况下我可以看到解析的事件,看起来不错,但是当我展开(> 按钮)时 - 每个字段都加倍。第二个查询index=someindex sourcetype="fwdjson:some_actions" | table subject, action 向我展示了表格视图,并且每个单元格中的值都翻了一番。
  • 我已经看到当INDEXED_EXTRACTIONS=jsonKV_MODE=json 都被指定时会发生这种情况,但这里不是这种情况。我不知道是什么问题。
  • 是的,我也是:(

标签: json logging configuration splunk


【解决方案1】:

您所描述的很可能是 JSON blob 中的 多值字段,而不是“重复”字段。请分享一些示例数据以进行验证。

您在| table 中看到过类似的内容吗?

FieldA | FieldB
^^^^^^^^^^^^^^^
BarA   | FooB
       | FooM
^^^^^^^^^^^^^^^
BarB   | FooA
       | FooG    

如果是这样,那么在您的 JSON blob 中有多个值被塞入其中一个键值“对”

你会想要mvexpand他们在你的表中获得一对一的映射:

<SPL before |table>
| mvexpand FieldB
| table FieldA FieldB
<any other SPL you have>

这将为您生成如下表格:

FieldA | FieldB
^^^^^^^^^^^^^^^
BarA   | FooB
^^^^^^^^^^^^^^^
BarA   | FooM
^^^^^^^^^^^^^^^
BarB   | FooA
^^^^^^^^^^^^^^^
BarB   | FooG    

【讨论】:

  • @SPavel - 单个事件没有显示您所询问的行为:)
  • 确实如此。事件中的每个字段都被复制。请参阅expanded view 链接。原始 json 不包含重复项。在table view,你可以看到它不是关于单一事件,如果它对你来说很重要的话。
猜你喜欢
  • 2021-08-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多