there are no dedicated APM agent settings for using a proxy but as the agent is using HttpUrlConnection, you can just use the Java system properties http.proxyHost and http.proxyPort.
That's how my set up is, and is necessary if you want to load balance multiple APM Servers. But even a single backend to the proxy works as I have that simplke config for quick testing
APM Agent --> HAProxy --> APM Server --> Elasticsearch
I think the kind of proxy @Wayne_Shen is talking about is one which proxies requests from a DMZ to the outside world and used to restrict access to the internet.
Note that you can configure multiple URLs in server_urls which allows load balancing without a dedicated load balancer like HAProxy (aka client-side load balancing)
(Without intending to hijack this thread) Just a note on why we we used a client-side proxy: it was easier for us to abstract the resultant APM Servers this way. As the server_urls config is not dynamically reloaded, by putting the APM Servers behind HAProxy or BigIP, we can easily scale the APM Servers as well as move the target APM Servers whenever we want without having to reload the instrumented services. I could not find any other way to do this in such a scenario. We're definitely open to suggestions
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.