In Application Performance Management (APM), the service that is called in an application environment is usually identified by specific properties, such as the host or port properties. However in an environment with a gateway or service proxy, the host and port actually identify a device instead of the ultimate downstream tier that handles the request.

This inaccurate identification of the backend destination causes the system to periodically change the association of the single backend with one of the potential target downstream tiers to which the gateway could route. This results in the joining of incomplete flow maps and inconsistencies between tiers that are included within Business Transaction snapshots, and the corresponding Business Transaction flow map.

The service proxy identification feature enables the system to resolve and identify the correct backend and displays the correct component structure in the flow map. The service proxy detects these changes in the backend association and instructs the upstream agent to identify the affected backend(s) as a service proxy.

As a result, the flow map will show a service proxy (represented by this iconservice proxy icon) between the upstream and downstream tiers, for example:

Service proxy in flow map

The service proxy is also visible in the Remote Services list:

If the upstream agent is an older version than what is currently supported, an event is generated with the following Agent Configuration Error message:

Currently, Java Agent version 20.5.0 and later, is the only Agent supported.

Agent Configuration Error

The service proxy icon is also available on these flow maps:

  • Application Dashboard
  • Tiers and Nodes
  • Drill Down Backend Node
  • Transaction Snapshot (Waterfall View)

Enable Service Proxy Detection

The backend is identified as a service proxy in the Controller.

  • For SaaS customers: To request that your Controller has the service proxy feature enabled, you should work closely with your AppDynamics account representative.
  • For on-premises customers: To enable the service proxy feature:
    1. Access the Controller Administration Console.
    2. Open the admin.jsp page in the Controller from the url:
    3. Access Controller Settings.
    4. Search for these two properties, and set each of them to true:
      • backend.detect.loadbalancer.enabled = true
      • backend.detect.urimisconfig.enabled = true
    5. Save your changes.

Once the Controller resolves the backend, it then sends the configuration information to the agent.

Delete a Service Proxy

If you remove the service proxy from the infrastructure but continue to use the same host and same port for the downstream nodes, then the service proxy will still show on the flow map. You must manually delete the service proxy to directly resolve the upstream and downstream tiers correctly. 

To delete a service proxy for a backend node:

  1. Right-click the service proxy icon from the flow map to open a popup menu.
    Service Proxy Deletion
  2. Select Delete