I need some help to configure a software service.
The application traffic is as follow:
The content type is specific and we configured to capture all content type. We want to rename the operations with a value contained in the request body. The initial request actually contains the backend request in its body. That is the information we want to use as operation/page name.
Request Body: GET Action1?$select=Create
Request Body: GET Action2?$select=SomethingElse
So far, I succeeded in renaming the operation with the Action1 or Action2 name. However, we have two exceptions to that global rule. In case of Action1?$select=Create, we don't want to report Action1 as is but rename it as Action1_Special.
How could we achieve that?
Current configuration working for global reporting but not the specific ones we want to rename:
Monitored URL Rule with no page name renaming rule in Dimensions, Metrics, Attributes
- URL Parameter group with a regex on Action1?$select=Create and hard-coded page name Action1_Special (Not matching)
- URL Parameter group with a regex on Action2?$select=Create and hard-coded page name Action2_Special (Not matching)
- URL Parameter group with a regex on ActionX, + data mining regex to report that action name as is (Working fine)
Solved! Go to Solution.
HTTP on AMD HS is so flexible that for sure we will configure this 🙂
Let me make sure I get your situation correctly. You want to configure Page name for some URLs and put there some strings from HTTP body request?
Is so please show us a little more of the body where the desired strings are and we will show you how to cofnigure it.
Here is an example of request (i have used * to remove customer information and ... to shorten the post):
"url": "https://********.*******.com:26001/******/dev/o2c/kpi.xsodata;o=*****/$batch", "httpVersion": "HTTP/1.1",
"text": "\r\n--batch_7a7f-8fab-9e82\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\n\r\nGET Command?$select=CreationWeek....&$orderby=CreationWeek%20asc&$format=json HTTP/1.1\r\nAccept-Language: en-US\r\nAccept: application/atomsvc+xml;q=0.8, application/json;odata=fullmetadata;q=0.7, application/json;q=0.5, */*;q=0.1\r\nMaxDataServiceVersion: 3.0\r\n\r\n\r\n--batch_7a7f-8fab-9e82--\r\n"
As a result, the DMI report would display the following operations:
MyCommandA_SLA (when GET MyCommandA?$select=CreationWeek is in postData)
MyCommandB_SLA (when GET MyCommandB?$select=CreationWeek is in postData)
Command (when GET Command?$select=Anything is in postData)
I'll post screenshot of the current configuration shortly.
you can configure multiple parameter rules, configre the first to match your special case Action1=create, and name it appropriately, configure the second parameter rule to match a wild card, and name using the parameter itself.
Software service > Monitored URLs
I have highlighted the one I'm interested in. We have three parameter groups rules defined, two for the special cases and 1 global.
The Monitored URL rule has data mining rules at its level. Same rules are applied for each parameter groups:
The parameter group rules for special cases are configured as the following:
I have a doubt on the custom regex as it doesnt seem to match (Test match works). It was prepopulated with the SWS Config wizard. The page name is hardcoded, I tried the two options of page name generation.
The third parameter group for the generic case has the following data mining rules:
It is using the same Regex, GET ([^\?]+) to populate the page name, with search on request body.
So the current state is the third URL parameter group does the job. The others don't match any traffic. I think I tried all possible configuration. My last doubt is on the regex itself but it passes the test...