【问题标题】:Extracting Fields using splunk query使用 splunk 查询提取字段
【发布时间】:2023-09-09 22:44:01
【问题描述】:

如何使用 splunk 查询将所需数据从日志中提取到自定义字段中?

我已经尝试使用 rex 命令进行多个查询,以从登录中提取某些部分数据到某些自定义字段,但我从未在输出中看到 splunk 显示所有输出字段的那些。

例如:如果以下是日志中的数据

student : {"firstName":"Barry", "lastName":"Allen", "city":"Central City", "address":"xyz"}
student : {"firstName":"Oliver", "lastName":"Queen", "city":"Starling City", "address":"abc"}
student : {"firstName":"Wally", "lastName":"West", "city":"Central City", "address":"mno"}

我想将所有城市提取到“StudentCity”字段中。是否可以在输出中仅显示学生姓名和城市列表?

我正在尝试以下方法

"student " | rex field=_raw "StudentCity:(?<city>\"city\"\:.*)"

我希望它输出一个以 StudentCity 作为列名的表。如果我能得到这样的输出,我就可以运行其他统计数据,比如统计属于特定城市的学生等。

请提出建议。

【问题讨论】:

    标签: regex splunk


    【解决方案1】:

    使用这个正则表达式:

    \"city\"\:\"(?<city>[^"]+)\"
    

    【讨论】: