HAProxy Server Monitoring
Overview
HAProxy is an open source solution for load balancing and reverse proxying both TCP and HTTP requests and, in keeping with the abbreviation in its name, it is high availability. HAProxy can continue to operate in the presence of failed backend servers, handling crossover reliably and seamlessly. It also has built-in health checks that will remove a backend if it fails several health checks in a row. With dynamic routing, you can transfer incoming traffic to a variety of backend servers, fully configurable with Access Control Lists (ACLs).
It is a fundamental element in the architecture of many high-profile websites such as GitHub, Instagram, Twitter, Stack Overflow, Reddit, Tumblr, Yelp, and many more.
Like other load balancers or proxies, HAProxy is very flexible and largely protocol-agnostic it can handle anything sent over TCP.
Graph Description
HAProxy Frontend Stats
Metric | Metric Description |
---|---|
Requests/Sec | Number of requests per second. |
Sessions/Sec | Number of session created per second. Session is created to serve all requests of same session by same backend. |
Current Session Count | Current number of sessions. |
Request Errors/Sec | Number of requests errors per second. Request errors could be as – client terminates before sending request, read error from client, client timeout, client terminated connection etc. |
Denied Requests/Sec | Number of requests denied per second due to security concerns. |
Denied Responses/Sec | Number of responses denied per second due to security concerns. For http this is because of a matched http-request rule, or “option checkcache”. |
1xx Requests/Sec | Number of requests per second with HTTP status code of 1xx series. |
2xx Requests/Sec | Number of requests per second with HTTP status code of 2xx series. |
3xx Requests/Sec | Number of requests per second with HTTP status code of 3xx series. |
4xx Requests/Sec | Number of requests per second with HTTP status code of 4xx series. |
5xx Requests/Sec | Number of requests per second with HTTP status code of 5xx series. |
Others Requests/Sec | Number of requests per second with status other than 1xx, 2xx, 3xx, 4xx and 5xx. |
Received Throughput (Kbps) | Received throughput in kilo bits per second. |
Transmitted Throughput (Kbps) | Transmitted throughput in kilo bits per second. |
Server Status | .Status of server. Status is 1 = DOWN, 2 = UP and Others = 3 (for example as open, maintenance etc). |
HAProxy Backend Stats
Metric | Metric Description |
---|---|
Requests/Sec | Number of requests per second. |
Sessions/Sec | Number of sessions per second. |
Current Session Count | Current number of sessions. |
Request Errors/Sec | Number of requests errors per second. Request errors includes failed backend requests and general backend errors. |
Denied Requests/Sec | Number of requests denied per second. Request denied due to security concerns. |
Response Errors/Sec | Number of response errors per second. This includes errors caused by data transfers aborted by the servers as well as write errors on the client socket and failures due to ACLs. |
Denied Responses/Sec | Number of responses denied per second. Response denied due to security concerns. |
1xx Requests/Sec | Number of requests per second with HTTP status code of 1xx series. |
2xx Requests/Sec | Number of requests per second with HTTP status code of 2xx series. |
3xx Requests/Sec | Number of requests per second with HTTP status code of 3xx series. |
4xx Requests/Sec | Number of requests per second with HTTP status code of 4xx series. |
5xx Requests/Sec | Number of requests per second with HTTP status code of 5xx series. |
Others Requests/Sec | Number of requests per second with status other than 1xx, 2xx, 3xx, 4xx and 5xx. |
Received Throughput (Kbps) | Received throughput in kilo bits per second. |
Transmitted Throughput (Kbps) | Transmitted throughput in kilo bits per second. |
Queued Requests | Number of request awaiting assignment to a backend server. |
Redispatched Requests/Sec | Number of redispatch request per second. Requests that was unable to reach its original target, and was subsequently sent to a different server. |
Connection Retry/Sec | Number of times a connection to a server was retried per second. |
Server Status | Status of server. Status is 1 = DOWN, 2 = UP and Others = 3 (for example as open, maintenance etc). |
Server Response Time (ms) | Average backend response time in ms for the last 1,024 requests. |