HA Proxy Monitoring Extension

AppDynamics HAProxy Monitoring Extension

This extension works only with the standalone machine agent.


Use Case

HAProxy is an open source, high performance TCP/HTTP Load Balancer commonly used to improve the performance of web sites and services by spreading requests across multiple servers. The HAProxy Monitoring extension collects key metrics from HAProxy Load balancer of the underlying proxies/servers and presents them to the AppDynamics Metric Browser.

Notes: Works with HAProxy v 1.3 and above.



1. Download and unzip HAProxyMonitor.zip into <machineagent install dir>/monitors/

2. In monitors/HAProxyMonitor/, open monitor.xml and configure the HAProxy parameters.

 <argument name="host" is-required="true" default-value="localhost" />
<argument name="port" is-required="true" default-value="80" />
<!--URI of the haproxy CSV stats url. See the 'CSV Export' link on your haproxy stats page -->
<argument name="csv-export-uri" is-required="true" default-value=";csv" />

<argument name="username" is-required="false" default-value="" />
<argument name="password" is-required="false" default-value="" />

<!--proxy names you wish to monitor as a comma separated values. If empty all the proxies are monitored -->
<argument name="proxynames" is-required="false" default-value="" />
<!--HA Proxy stats as a comma separated values to be excluded from monitoring -->
<argument name="excludeStats" is-required="false" default-value="pid,iid,sid"/>
<argument name="metric-prefix" is-required="false" default-value="Custom Metrics|HAProxy|" />

3. Restart the Machine Agent.


In the AppDynamics Metric Browser, look for: Application Infrastructure Performance | <Tier> | Custom Metrics | HAProxy


Password Encryption Support

To avoid setting the clear text password in the monitor.xml. Please follow the process to encrypt the password and set the encrypted password and the key in the monitor.xml

  1. Download the util jar to encrypt the password from https://github.com/Appdynamics/maven-repo/raw/master/releases/com/appdynamics/appd-exts-commons/1.1.2/appd-exts-commons-1.1.2.jar
  2. Encrypt password from the commandline java -cp "appd-exts-commons-1.1.2.jar" com.appdynamics.extensions.crypto.Encryptor myKey myPassword
  3. Add the following properties in the monitor.xml substituting the default password argument.
      <argument name="password-encrypted" is-required="true" default-value="<ENCRYPTED_PASSWORD>"/>
    <argument name="encryption-key" is-required="true" default-value="myKey"/>



Note : By default, a Machine agent or a AppServer agent can send a fixed number of metrics to the controller. To change this limit, please follow the instructions mentioned here. For eg.

    java -Dappdynamics.agent.maxMetrics=2500 -jar machineagent.jar

All the HA proxy metrics are shown. For the complete list of metrics please visit http://cbonte.github.io/haproxy-dconv/configuration-1.5.html#9


Custom Dashboard

Custom Dashboard 


Always feel free to fork and contribute any changes directly on GitHub.




For any questions or feature request, please contact AppDynamics Support




3.7 and above

Last Update:



v 1.3 and above


 Changes in versions:
1.1.2: Including all the metrics