如何将文本行分成多个事件

问题描述 投票:0回答:1

我是Splunk的新手,我正在尝试使用源类型及其正则表达式设置...让我将以下事件放入HEC:

curl -k https://utu:8088/services/collector/event/1.0 -H "Authorization: Splunk 21755979-ed43-4a1a-8962-e6e45ccf3ccf" -d '{"event": "splunk splunk splunk dog", "sourcetype": "hec_st"}'

curl -k https://utu:8088/services/collector/event/1.0 -H "Authorization: Splunk 21755979-ed43-4a1a-8962-e6e45ccf3ccf" -d '{"event": "splunk splunk splunk cat", "sourcetype": "hec_st"}'

hec_st是带有正则表达式的源类型:

(splunk)\ s +

with SHOULD_LINEMERGE = false

[为什么提到的设置不会将字符串“ splunk splunk splunk cat”分解为多个事件

splunk散弹散弹猫

我总是可以将此字符串作为一个事件来查找。在此先感谢

T。

splunk
1个回答
0
投票

首先,您需要的正确正则表达式是

([\s]+)

以下是为Define event boundaries for incoming data的源类型创建正则表达式时要遵循的准则。

  • 指定一个正则表达式,该正则表达式确定在合并行之前如何将原始文本流分解为初始事件。*这会将SHOULD_LINEMERGE = false和LINE_BREAKER设置为用户提供的正则表达式。
  • 默认为([\ r \ n] +),这意味着每行数据都会分解为一个事件,并由任意数量的回车符或换行符分隔。
  • 正则表达式必须包含捕获组-一对圆括号,用于定义匹配的已识别子组件。
  • 无论正则表达式是否匹配,Splunk都将第一个捕获组的开始视为上一个事件的结束,并将第一个捕获组的结束视为下一个事件的开始。
  • 第一个捕获组的内容将被丢弃,在任何情况下都不会出现。您是在告诉Splunk这段文字在行之间。

输入数据:

我叫SV。

输出数据:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.