Some Tips on Using URL Grouping

Document ID : KB000095405
Last Modified Date : 11/05/2018
Show Technical Document Details
Introduction:
Trying to setup URL grouping and not seeing expected URLs as Frontends in the Investigator?

Here are a few tips on things to try to figure out why they are not appearing.
Instructions:
The first recommendation is to simplify your URL grouping to two groups - Default, and a test one (Default should always be last). If you have other groups created, comment them out by adding a "#" sign in front of the lines.
e.g.:
introscope.agent.urlgroup.keys=test, complex, default

introscope.agent.urlgroup.group.test.pathprefix=/path/current 
introscope.agent.urlgroup.group.test.format={path_delimited:/:0:12} 

#introscope.agent.urlgroup.group.complex.pathprefix=/path/*/optional/*/test
#introscope.agent.urlgroup.group.complex.format= {path_delimited:/:14:16} instance of  {path_delimited:/:0:12}

introscope.agent.urlgroup.group.default.pathprefix=*
introscope.agent.urlgroup.group.default.format=Default

There are three parts to a url group - the key name, which must be entered in the top urlgroup.keys entry, the pathprefix - which should be the complete path (eg - test.com/one/two/three would be /one/two/three), and the format - which is the name that it will appear under in the Investigator Frontends view.

One important note - this is a hot property - if you make a change, it will show in the investigator within a minute without any need to restart the agent. If it does not appear, there are two main causes:
-You are modifying the wrong agent profile
-There is no load (activity) on the urls. The agent only discovers URLs when end users are loading them in their browsers.

============================

Is the frontend from your test group appearing as you expected? If so, add another - one at a time - until you are complete.
Is the frontend appearing, but not as you expect? The most likely reason is that the format is incorrect.

The format accepts two types of input - variables, enclosed in {}s, and strings (any other character not enclosed in a {}). These can even be combined - as in the "complex" example above - which extracts two parts of the path for the display name, with some text in between. Usually when there are problems, its because of a misunderstanding of how the variable is being used. Review the URL and if using a path delimiter, carefully count how often it appears - frequently a character is missed while reading through a complex URL by hand. Try experimenting with slightly different values, and see how it appears in the investigator.

For more details on variables that can be accepted - review the url grouping documentation for your version of APM, such as this doc for v10.0:
https://docops.ca.com/ca-apm/10/en/implementing-agents/java-agent/configure-java-monitoring/configure-url-groups/#ConfigureURLGroups-(Optional)AdvancedNamingTechniquesforURLGroups

Finally - keep in mind that anything outside of a {} will show up "as is" - including spaces. So if there is a frustrating space that you can't get rid of, keep in mind that it may be picking up a space you left in the format field to keep it readable.

==============

What if no entry appears for a frontend - or no frontends appear? There are two reasons this could happen:
-it could be being picked up by an earlier url group definition. An overly broad definition might be picking up more specific definitions. Always try to list the most specific definitions first in the list, then move out to broader ones, with finally default catching anything that was missed.

-the definition (pathprefix) may be wrong. It may he helpful to setup a catch-all statement such as:
introscope.agent.urlgroup.group.default.pathprefix=*
introscope.agent.urlgroup.group.default.format={path_delimited:/:0:50} 

Which will catch and display all found paths - APM may be picking up the path differently than you expect. If it still doesn't appear, then APM may not be picking up the URL at all - make sure that is is being actively used by someone or APM may not be able to see it. If it does appear, note the path, and adjust the pathprefix accordingly.