Splunk 中的简单串联 json 换行符

Simple concatenated json line breaker in Splunk

我知道这可能很简单,但出于某种原因,我能够在 Splunk 中使用线路断路器。我正在从 AWS S3 获取数据源,并且 JSON 格式的多个事件被串联起来。例如

{"key":"value", {"composite":"result"}}{"something":"else"}

所以 LINE_BREAKER 应该匹配 }{ 并包含左括号。

我有 SHOULD_LINEMERGE=false,然后是 LINE_BREAKER=(\{.+\})\{,但我松了右括号。 }{ 之间没有任何字符(甚至没有换行符),拆分它们的最佳方法是什么?

LINE_BREAKER 属性需要捕获组,但会丢弃与捕获组匹配的文本。解决方案是使用正则表达式更有创意。

LINE_BREAKER=\}()\{

允许空捕获组。

你的评论把事情弄糊涂了。事件是由 }{ 还是 {"key" 分隔的? LINE_BREAKER 的值应设置为任何分隔事件的值。确定后,您就可以解决 TRUNCATE 设置。