The proxy was dropping requests. The external load balancer was slow to respond. Somewhere between the client and the backend, packets vanished. It wasn’t guesswork. It was right there, in the logs — if you knew where to look and what to collect.
Logs are the map. Access logs from a proxy layer give you exact timings, IP origins, request paths, and HTTP status codes. When you stitch them with logs from your external load balancer, patterns emerge. You can trace latency spikes. You can spot sudden request floods. You can prove — with data — when the bottleneck is the load balancer itself, when it’s the proxy, or when it’s upstream services.
At scale, a proxy in front of your services isn’t just routing. It’s your first point of truth. Every hit, every reject, every redirect gets recorded. Pairing it with detailed logging from the external load balancer is the only way to see the complete request journey. Without both, you’re blind to half the problem.
The key is to unify the logs. Different formats? Normalize them. Different timezones? Align them. Different verbosity levels? Set a baseline so you don’t miss the events that matter. Detailed access logs on the proxy are worthless if your load balancer logs only connection counts. The reverse is also true.