我试图使用rex命令从事件日志中提取几个字段,并以表格格式显示这些字段。
这是我的日志:LOG_LEVEL="INFO" MESSAGE="Type_of_Call = Sample Call LOB = F Date/Time_Stamp = 2022-10-10T21:10:53.900129 Policy_Number = 12-AB-1234-5 Requester_Id = A1231301 Last_Name = SAMPLE State = IL City = Chicago Zip 12345" APPLICATION_VERSION="appVersion_IS_UNDEFINED"
我想提取的字段是: Type_of_Call、LOB、Date/Time_Stamp、Policy_Number、Requester_Id、Last_Name、State、City、Zip
这是我的splunk命令:
rex field=_raw "Type_of_Call\s*=\s*(?<Type_Of_Call>\w+)\s+Call\s+LOB\s*=\s*(?<LOB>\w+)\s+Date/Time_Stamp\s*=\s*(?<Date_Time_Stamp>[0-9TZ.:-]+)\s+Policy_Number\s*=\s*(?<Policy_Number>[\w-]+)\s+Requestor_Id\s*=\s*(?<Requestor_Id>\w+)\s+Last_Name\s*=\s*(\w+)\s+State\s*=\s*(?<State>\w+)"
| table msg "Type of Call" "LOB" "Date/Time Stamp" "Policy Number" "Requester Id" "LastName" "State" 我遇到的问题是,只有LOB字段和State字段返回值,State字段出于某种原因正在添加转义字符并拉出最后一个“
结果如下:

有人能帮忙吗?
如果更改日志本身可以是一个修复,那么我也可以这样做。
发布于 2022-10-11 20:06:50
除了@Mads Hansen提供的内容外,"Date/Time_Stamp“中的斜杠也必须逃脱。试试这个正则表达式:
Type_of_Call\s*=\s*(?<Type_Of_Call>\w+)\s+Call\s+LOB\s*=\s*(?<LOB>\w+)\s+Date\/Time_Stamp\s*=\s*(?<Date_Time_Stamp>[0-9TZ.:-]+)\s+Policy_Number\s*=\s*(?<Policy_Number>[\w-]+)\s+Requester_Id\s*=\s*(?<Requestor_Id>\w+)\s+Last_Name\s*=\s*(\w+)\s+State\s*=\s*(?<State>\w+)
https://stackoverflow.com/questions/74031722
复制相似问题