Collects statistics from an HAProxy instance. To get statistics from HAProxy instance, you need to instruct HAProxy where to host the statistics. Either a filesocket or webpage can be specified.
| OS | Linux | Windows | SmartOS | OS X |
|---|---|---|---|---|
| Supported | v | v | v | v |
| Runtime | lua | Python | Java |
|---|---|---|---|
| Required | + |
The plugin requires either a file socket or a web page to collect HAProxy statistics. The sections below describe configuration for each.
The following snippet of configuration will host the statistics on a file socket.
-
the
modeparameter sets the mode of the file socket. If the relay is running as the same user as haproxy,mode 777can be omitted' -
the
levelparameter limits the commands available from the file socketglobal stats socket /tmp/haproxy mode 777 level operator
The following snippet of configuration will tell haproxy to host a webpage the plugin will scrape (you can view the webpage as well)
-
stats enabletell haproxy to enable the webpage -
stats uri /statstell haproxy to host the webpage at /stats, this needs to be a unique URL not being used in your application. If your website already has a /stats page, change this values to something else -
stats auth username:passwordtell haproxy to password protect the page with the username and password combination -
stats refresh 10tells haproxy to refresh the webpage every 10s if your browser is viewing itdefaults stats enable stats uri /stats stats auth username:password stats refresh 10
Once you make the update, reload your haproxy configuration
sudo service haproxy reload
| Field Name | Description |
|---|---|
| Source | The Source to display in the legend for the haproxy data. It will default to the hostname of the server |
| Statistics URL | The URL endpoint of where the haproxy statistics are hosted. Socket or URL is required |
| Username | If the endpoint is password protected, what username should graphdat use when calling it. |
| Password | If the endpoint is password protected, what password should graphdat use when calling it. |
| Filter | Which Server groups would you like to view |
| Poll Seconds | How often should the plugin poll the Haproxy endpoint |
Tracks the following metrics for haproxy
| Metric Name | Description |
|---|---|
| Haproxy Queued Requests | current queued requests |
| Haproxy Queue Limit | queue Limit |
| Haproxy Handled Requests | total number of HTTP requests handled |
| Haproxy Client Aborts | number of data transfers aborted by the client |
| Haproxy Server aborts | number of data transfers aborted by the server |
| Haproxy Current Sessions | current sessions |
| Haproxy Session Limit | session limit |
| Haproxy Bytes In | bytes in |
| Haproxy Bytes Out | bytes out |
| Haproxy Warnings | retries + redispatched |
| Haproxy Errors | request errors + connection errors + response errors |
| Haproxy Failed Health Checks | the number of failed health checks |
| Haproxy Downtime | the number of seconds haproxy is down |
| Haproxy 1XX Resp | The number of 1XX HTTP responses |
| Haproxy 2XX Resp | the number of 2XX HTTP responses |
| Haproxy 3XX Resp | the number of 3XX HTTP responses |
| Haproxy 4XX Resp | the number of 4XX HTTP responses |
| Haproxy 5XX Resp | the number of 5XX HTTP responses |
| Haproxy Other Resp | http responses with other codes (protocol error) |