Proxy architectures--eg ADCs/LBs, content filters, L7 firewalls--break transactions and flows, which can obscure performance issues and other key wire data metrics. The attached bundle can monitor any type of proxy (forward, reverse, and open) without modifying the proxy or surrounding environment! By taking advantage of the x-forwarded-for header, this bundle unifies HTTP flows into full sessions and builds unique session fingerprints.
How it works:
To build transactions into the corresponding flow across the proxy, the trigger builds a unique flow fingerprint for the request flow (1-3) and the response flow (4-6). Requests across the proxy (2) are tied together using a hash of the client IP (pulled from x-forwarded-for on the (2-3) transaction), requested URI, and user agent. On the response flow (4-6), a unique fingerprint is made using a hash of the uri, proxy IP, ETag header, Set-Cookie header, and Expires header.
What You Get:
Proxy Processing Time
Custom Pages (1):
Proxy Process Breakdown
Quick Start Deployment:
Download, import, and apply the bundle to your ExtraHop system. The trigger Proxy Processing Time has several fields that are user configurable, denoted by the comment "USER_SET", though the trigger will work out of the box. Associate the trigger to the proxy-to-be-monitored, and assign the custom page to the Proxy App.
- Download the bundle file
- Upload the bundle file using the file explorer
- Apply the bundle
- Upload the bundle to your ExtraHop appliance. (Settings -> Bundles -> Upload)
- Click Apply. You should see "Ok: bundle applied successfully"
- Assign trigger Proxy Processing Time to the proxy-to-be-monitored
- Assign the custom page Proxy Process Breakdown to the application Proxy
- (Optional) Customize the application by modifying variables denoted with "USER_SET" in the comments. The fields to be modified are: -customer1 – Breakout customer-specific metrics. Customer defined by IP -SlowProcessThreshold – Breakout process times that are greater than a set threshold -Trace(Request|Response) – Output request and response metrics to the runtime log. Must also enable debugging. -URI's to ignore – If there are specific URIs you do not want to monitor, configure them here