我有一个splunk查询(index = sat sourcetype =“ sat_logs” Message =“ 已发布的应用消息发布”),它返回不同应用程序发布的消息列表。我需要提取特定的字段值从消息中获取。请让我知道查询以获取预期结果。谢谢
Splunk查询结果:消息:已发布针对用户ID:12345678,UID:92345678,日期:2019-10-04的Alpha应用程序消息,消息:{“ Application”:“ Alpha”,“ ID”:“ 123”}
[消息:针对UserId发布的Beta应用程序消息:12345670,UID:92345670,日期:2019-10-03,消息:{“ Application”:“ Beta”,“ ID”:“ 623”}
[消息:针对UserId发布的Zeta应用程序消息:12345677,UID:92345677,日期:2019-10-02,消息:{“ Application”:“ Zeta”,“ ID”:“ 523”}
要提取并显示为表格的预期字段
应用程序用户ID UID IDAlpha 12345678 92345678 123
测试版12345670 92345670 623
Zeta 12345677 92345677 523
rex
命令可以为您完成此操作。假设字段始终处于相同顺序,则应该完成此工作。
index=sat sourcetype="sat_logs" Message="application message published for"
| rex field=Message "UserId: (?<UserId>[^,]+), UID: (?<UID>[^,]+).*{"Application":"(?<Application>[^"]+)","ID":"(?<ID>[^"]+)"
| table Application UserId UID ID