I am actually new to splunk and trying to learn . Is there a way to group by the results based on a particular string. Although i found some of the answers here already, but its confusing for me. It will be really helpful if someone can answer based on my use case.
Below is the sample log that i am getting:
[2022-01-19T13:30:15.664+00:00] [odi] [ERROR] [ODI-1134] [oracle.odi.agent] [tid: 304720] [ecid: 0000NtmXuVIC^qqMwMmZMG1XqvzZ000cRu,0:68:129:176:208:135] [oracle.odi.runtime.MrepExtId: 1501670917734] [oracle.odi.runtime.AgentName: OracleDIAgent2] [oracle.odi.runtime.ExecPhase: ExecuteTask] [oracle.odi.runtime.OdiUser: _odi] [oracle.odi.runtime.WrepName: WORKREP] [oracle.odi.runtime.ScenarioName: WEB_BOOKINGS_MV] [oracle.odi.runtime.ScenarioVer: 001] [oracle.odi.runtime.LoadPlanName: wfl_WebDataSet_MV_Refresh_2TimesAD]
I want to group the results based on oracle.odi.runtime.LoadPlanName and find the latest log of it. Could someone please assist.
You could try something like this
| rex "\[oracle\.odi\.runtime\.LoadPlanNam: (?<LoadPlanName>[^\]]*)\]"
| stats latest(_raw) as _raw by LoadPlanName
No, the field is not extracted. what i meant by grouping is based on oracle.odi.runtime.LoadPlanName string i want to filter the results. So consider that , i have 3 results as mentioned above which had [oracle.odi.runtime.LoadPlanName : "abc"] and for [oracle.odi.runtime.LoadPlanName : "cde"] i have another 3 results. In this case, i want to fetch only the latest log for each of them.
You could try something like this
| rex "\[oracle\.odi\.runtime\.LoadPlanNam: (?<LoadPlanName>[^\]]*)\]"
| stats latest(_raw) as _raw by LoadPlanName
Has this field already been extracted?
What do you mean by group?