Tips about URL Transformation Rules

Often times, excessive number of Java request types causes burden on the Foglight Management Sever and it affects the FMS performance.

Also, You may not see the new request types from a newly added server to monitor since it reached the configured limit for the request types.

This blog explains how we can successfully manage the high volume of Java Request types and where we need to look at.

 Below indicates that Java request types reached its limit and you need to run the stale object deletion script and URLTransformation Rules to prevent the issue occuring frequently.

  1. The Foglight Management Server (FMS) logs will contain message below:"The configured limit of 50000 instances of type JavaEEAppServerRequestType has been reached."
  2.  You can also confirm in the DiagnosticSnapshot_<datetime>.txt in your FMS Support Bundle.‘Num Effective’ column in the table lists the number of instances of each TopologyType managed by Foglight.Look for the section related to the JavaEERequestType objects;

    Primarily

    JavaEEAppServerRequestType,

    JavaEEDomainRequestType,

    JavaEEClusterRequestType,

    If you see a higher number or if it reached the limit, then it is prime time to look for URL Transformation.

  3.  Another easy approach is to view Latest Log under Management Server | Diagnostic | Log Analyzer | View Latest Log.

     

 

 

Creating URLTransformation Rules will group the requests there by  reduce the number of unique request types created by the FMS.

URL Transformations can be configured under Application Servers Administrations|Nexus Administration|Nexuses

Click on Nexus then Navigate to Edit recording settings or Text edit recording settings.

 There is no restart required for the changes made to this config file.

 

You can  list and review all your requests using the Foglight command : 

./fglcmd.sh -usr foglight -pwd <password> -srv <server> -cmd util:topologyexport -topology_query JavaEERequestType -property_names name -f exportrequests.xml

  

URLTransformation specified in the KB126097  would group all your requests up to to four "/".

You can also handpick specific requests to be grouped in a certain way.

Example 1:

To transform the following url:

/product/checkout/itemid=234

/product/checkout/itemid=456

/product/checkout/itemlist

/product/summary/itemlist

/product/summary/itemdetail

 to

/product/

 

Define the URLTrasformation like below:

URLTransformationRules = { 

/\/product\/.*/ :{

    /\/product\/.*/: "/product/",

},

 };

Or If you want to group like /product/checkout/ and /product/summary

then

URLTransformationRules = { 

 /\/product\/.*/ :{

    /\/product\/checkout\/.*/: "/product/checkout/",

    /\/product\/summary\/.*/: "/product/summary/",

},

};

 

Example 2: 

To transform the following url:

  /calendar/control/timeframe=thisweek&id=1158104250058&view=W

 into the following url:

  /calendar/control/timeframe=thisweek&view=W

Define the following URLPathTransform:  

URLTransformationRules = {

 /\/calendar\/control\/timeframe=.*/ : {

    /&id=[0-9]+/: "",

 },

 };

Example 3:

Also, If you don't want a specific requests to be transformed whereas the rest of them to be grouped

You can achieve this by specifying the below rule before all the rules under URLTransformationRules.

URLTransformationRules = {

/\/docs\/reporting\/index\/.*/:{

},

};

 

Things to remember for URL Transformation, Transformation occurs after Request Separation but before Filtering.

Thus, if Separation Rules have been defined for the URL that is to be transformed, then URL transformation will be performed on the separated URL, which will include the path and separation parameters.

Therefore, By applying the URL Transformation Rules, You can control the number of Request types being created in the FMS, thereby, reducing the frequency of stale objects deletion script, reduce the burden on the FMS and any related performance issues.

For Support questions, Follow us on Twitter @QuestExperts

Anonymous