我正在尝试将数据提取到Splunk Data Model
Regex属性中。我试图从事件中提取的数据以几种方式记录。
2014-07-17 21:29:43,620 UTC [http-apr-8080-exec-143] ERROR c.s.b.b.s.impl.HttpRequestLogFilter - Apps="UNKNOWN" ReqIP="1.1.1.1" ReqProt="https" | FAILED: 500 POST /something/v1/something/v1/group elapsed:14
2014-07-17 21:29:42,797 UTC [persistentScheduler_Worker-6] INFO c.s.b.s.b.svc.impl.DocumentIndexJob - data source UNKNOWN\_163\_2 (Customer Information), customer 1, institution 1 is still indexing
如果正则表达式会从两行返回以下值,我会很喜欢它:
c.s.b.b.s.impl.HttpRequestLogFilter - FAILED: 500 POST /something/v1/something/v1/group elapsed:14
c.s.b.s.b.svc.impl.DocumentIndexJob - data source UNKNOWN\_163\_2 (Customer Information), customer 1, institution 1 is still indexing
我已经提出了分别处理每种情况的正则表达式,但没有能够处理这两种情况并将它们放入同一字段的正则表达式。
拉出竖线字符后的所有内容:
\S* \S* \S* \[.*\]\s+[A-Z]+\s+.*\|(?<message>.\*)
在没有竖线字符的情况下拉出所有内容:
\S* \S* \S* \[.*\]\s+[A-Z]+\s+(.*\||(?<message>.\*))
我正在研究的最新想法是做一个否定预测并提取管道角色之前没有的数据。
\S* \S* \S* \[.*\]\s+[A-Z]+\s+(?<message>.*(?!\|))
我尝试的每一种组合都符合我想要的一切,没有,或一半。所以希望一些正则表达式大师可以帮助我。我已经尝试找到一个在线工作的答案,但我还没有到目前为止。
答案 0 :(得分:0)