Collector Type: Agent
Category: Application Monitors
Application Name: HAProxy
Global Template Name: LINUX HAProxy Template
Introduction
HAProxy is a free open source software that provides high availability load balancer and proxy server for TCP and HTTP-based applications that spreads requests across multiple servers. It is written in C and has a reputation for being fast and efficient.
Prerequisites:
The stats module needs to be enabled in HAProxy. Below is the sample block to be placed at the end f haproxy.cfg file
listen stats bind *:8080 stats enable stats realm Haproxy\ Statistics stats uri /
- Add the following to the file path
/etc/haproxy/haproxy.cfg
:
listen stats
bind *:9000
mode http
stats enable
stats hide-version
stats show-node
stats realm Haproxy\ Statistics
stats uri /haproxy_stats
- For Virtual Machines, install the Linux Agent.
Parameters
Name | Default Value |
---|---|
Protocol The protocol to be used. | http |
Host IP Address The host on which haproxy is running. | 127.0.0.1 |
Host IP Address The host on which haproxy is running. | 127.0.0.1 |
Port The port on which Lighttpd is running. | 8080 |
URI The Uri for getting stats of haproxy. | haproxy?stats |
User Name The username of the server, if authentication is enabled. | NA |
Password The password of the server, if authentication is enabled. | NA |
Note: All field attributes are mandatory, use default values wherever applicable.
Collected Metrics
Metric Name | Display Name |
---|---|
haproxy.status Checks the status of the backend servers(UP/DOWN). | HAProxy-Status |
haproxy.requests_queue Number of requests in the server queue. | HAProxy-QueuedRequests |
haproxy.session_current Current number of concurrent connections. | HAProxy-SessionsActive |
haproxy.session_rate Number of sessions per second. | HAProxy-Sessions |
hadoop.jobtracker.reduce.slots.used The rate at which the data is received per server in MB. | HAProxy-DataReceived |
haproxy.mbytes_out_rate The rate at which the data is sent per server in MB. | HAProxy-DataSent |
haproxy.denied_req_rate The rate of denied requests. | HAProxy-DeniedRequests |
haproxy.denied_resp_rate The rate of denied responses. | HAProxy-DeniedResponses |
haproxy.errors_req_rate The rate of request errors. | HAProxy-RequestErrors |
haproxy.errors_rate_conn The rate of connection errors. | HAProxy-ConnectionErrors |
haproxy.errors_rate_resp The rate of response errors. | HAProxy-ResponseErrors |
haproxy.warning.retr_rate The rate of retries (warning). | HAProxy-WarnRetries |
haproxy.warning.redis_rate The rate of dispatches (warning). | HAProxy-WarnRedispatches |
haproxy.requests_rate The rate of received HTTP requests. | HAProxy-Requests |
haproxy.lastchk_time Time taken in ms to finish the last health check. | HAProxy-LastHealthCheckTime |
haproxy.servers_active Number of current active servers (backend). Validates against total active servers. | HAProxy-ActiveServers |
haproxy.servers_backup Number of current backup servers (backend). Validates against total backup servers. | HAProxy-BackupServers |
Note: For HAProxy-ActiveServers, and HAProxy-BackupServers, alerts are triggered when below scenarios occur:
Critical alert: All configured backend servers are down (critical alert).
Warning alert: Few configured backend servers are down.
Info alert: Change in total configured servers count.
Ok alert: All configured servers are up (if previously in different states).