Splunk Rex 表达式
Splunk Rex Expression
不知是否有人可以帮助我。
首先,对于这个看似简单的问题,我深表歉意,但我真的很难解决这个问题。
我正在尝试从 Splunk 中的原始数据中提取 nino 字段,格式如下 "nino\":\"AB123456A\"
。
今天早上我看了很多教程,但我仍然找不到 'Rex' 表达式。我只是想知道是否有人可以就 'Rex' 表达式的作用提供一些指导。
rex
search command 是正则表达式(也称为 regex 或 regexp)的缩写。
您可以执行类似于以下查询的查询,它会查看原始偶数并尝试解析出 nino
的值:
index=foo | rex field=_raw "^\"\w+\\\":\\\"(?P<nino>[^\\]+)"
附加 | table nino
如果您真的想确定该字段是否已提取,您可以在 table
中轻松验证
index=foo | rex field=_raw "^\"\w+\\\":\\\"(?P<nino>[^\\]+)" | table nino
我使用 field extractor 生成了正则表达式,这非常直观。您可能希望自己进行字段提取,因为您的数据与您添加的示例并不完全相同。理想情况下,您只需要定义一个带有字段提取的源类型,这样您就不需要使用 rex
搜索命令。
不知是否有人可以帮助我。
首先,对于这个看似简单的问题,我深表歉意,但我真的很难解决这个问题。
我正在尝试从 Splunk 中的原始数据中提取 nino 字段,格式如下 "nino\":\"AB123456A\"
。
今天早上我看了很多教程,但我仍然找不到 'Rex' 表达式。我只是想知道是否有人可以就 'Rex' 表达式的作用提供一些指导。
rex
search command 是正则表达式(也称为 regex 或 regexp)的缩写。
您可以执行类似于以下查询的查询,它会查看原始偶数并尝试解析出 nino
的值:
index=foo | rex field=_raw "^\"\w+\\\":\\\"(?P<nino>[^\\]+)"
附加 | table nino
如果您真的想确定该字段是否已提取,您可以在 table
index=foo | rex field=_raw "^\"\w+\\\":\\\"(?P<nino>[^\\]+)" | table nino
我使用 field extractor 生成了正则表达式,这非常直观。您可能希望自己进行字段提取,因为您的数据与您添加的示例并不完全相同。理想情况下,您只需要定义一个带有字段提取的源类型,这样您就不需要使用 rex
搜索命令。