> ## Documentation Index
> Fetch the complete documentation index at: https://otel.fyi/llms.txt
> Use this file to discover all available pages before exploring further.

# Haproxy

> OpenTelemetry receiver for Haproxy

# Haproxy Receiver

![Status](https://img.shields.io/badge/status-beta-yellow)

**Available in:** `contrib`

**Maintainers:** [@atoulme](https://github.com/atoulme), [@MovieStoreGuy](https://github.com/MovieStoreGuy)

**Source:** [opentelemetry-collector-contrib](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/haproxyreceiver)

## Supported Telemetry

![Metrics](https://img.shields.io/badge/metrics-beta-green)

## Overview

## Getting Started

## Configuration

### endpoint (required)

Path to the endpoint exposed by HAProxy for communications. It can be a local file socket or a HTTP URL.

### Collection interval settings (optional)

The scraping collection interval can be configured.

Default: 1 minute

### Initial delay settings (optional)

defines how long this receiver waits before starting.

Default: `1s`

### Example configuration

```yaml theme={null}
haproxy:
  endpoint: file:///var/run/haproxy.ipc
  collection_interval: 1m
  metrics:
    
```

## Enabling metrics.

See [documentation.md](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/haproxyreceiver/documentation.md).

You can enable or disable selective metrics.

Example:

```yaml theme={null}
receivers:
  haproxy:
    endpoint: http://127.0.0.1:8080/stats
    metrics:
      haproxy.connection_rate:
        enabled: false
      haproxy.requests:
        enabled: true
```

## Metrics

| Metric Name                          | Description                                                                                                                                                                  | Unit             | Type    | Attributes   |
| ------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------- | ------- | ------------ |
| ❌ `haproxy.active`                   | Number of active servers (backend) or server is active (server). Corresponds to HAProxy's `act` metric.                                                                      | \{servers}       | Gauge   |              |
| ❌ `haproxy.backup`                   | Number of backup servers (backend) or server is backup (server). Corresponds to HAProxy's `bck` metric.                                                                      | \{servers}       | Gauge   |              |
| ✅ `haproxy.bytes.input`              | Bytes in. Corresponds to HAProxy's `bin` metric.                                                                                                                             | by               | Counter |              |
| ✅ `haproxy.bytes.output`             | Bytes out. Corresponds to HAProxy's `bout` metric.                                                                                                                           | by               | Counter |              |
| ❌ `haproxy.clients.canceled`         | Number of data transfers aborted by the client. Corresponds to HAProxy's `cli_abrt` metric                                                                                   | \{cancellations} | Counter |              |
| ❌ `haproxy.compression.bypass`       | Number of bytes that bypassed the HTTP compressor (CPU/BW limit). Corresponds to HAProxy's `comp_byp` metric.                                                                | by               | Counter |              |
| ❌ `haproxy.compression.count`        | Number of HTTP responses that were compressed. Corresponds to HAProxy's `comp_rsp` metric.                                                                                   | \{responses}     | Counter |              |
| ❌ `haproxy.compression.input`        | Number of HTTP response bytes fed to the compressor. Corresponds to HAProxy's `comp_in` metric.                                                                              | by               | Counter |              |
| ❌ `haproxy.compression.output`       | Number of HTTP response bytes emitted by the compressor. Corresponds to HAProxy's `comp_out` metric.                                                                         | by               | Counter |              |
| ❌ `haproxy.connections.average_time` | Average connect time in ms over the 1024 last requests. Corresponds to HAProxy's `ctime` metric.                                                                             | ms               | Gauge   |              |
| ✅ `haproxy.connections.errors`       | Number of requests that encountered an error trying to connect to a backend server. The backend stat is the sum of the stat. Corresponds to HAProxy's `econ` metric          | \{errors}        | Counter |              |
| ✅ `haproxy.connections.rate`         | Number of connections over the last elapsed second (frontend). Corresponds to HAProxy's `conn_rate` metric.                                                                  | \{connections}   | Gauge   |              |
| ✅ `haproxy.connections.retries`      | Number of times a connection to a server was retried. Corresponds to HAProxy's `wretr` metric.                                                                               | \{retries}       | Counter |              |
| ❌ `haproxy.connections.total`        | Cumulative number of connections (frontend). Corresponds to HAProxy's `conn_tot` metric.                                                                                     | \{connections}   | Counter |              |
| ❌ `haproxy.downtime`                 | Total downtime (in seconds). The value for the backend is the downtime for the whole backend, not the sum of the server downtime. Corresponds to HAProxy's `downtime` metric | s                | Counter |              |
| ❌ `haproxy.failed_checks`            | Number of failed checks. (Only counts checks failed when the server is up). Corresponds to HAProxy's `chkfail` metric.                                                       | \{checks}        | Counter |              |
| ❌ `haproxy.requests.average_time`    | Average queue time in ms over the 1024 last requests. Corresponds to HAProxy's `qtime` metric.                                                                               | ms               | Gauge   |              |
| ✅ `haproxy.requests.denied`          | Requests denied because of security concerns. Corresponds to HAProxy's `dreq` metric                                                                                         | \{requests}      | Counter |              |
| ✅ `haproxy.requests.errors`          | Cumulative number of request errors. Corresponds to HAProxy's `ereq` metric.                                                                                                 | \{errors}        | Counter |              |
| ✅ `haproxy.requests.queued`          | Current queued requests. For the backend this reports the number queued without a server assigned. Corresponds to HAProxy's `qcur` metric.                                   | \{requests}      | Counter |              |
| ✅ `haproxy.requests.rate`            | HTTP requests per second over last elapsed second. Corresponds to HAProxy's `req_rate` metric.                                                                               | \{requests}      | Gauge   |              |
| ✅ `haproxy.requests.redispatched`    | Number of times a request was redispatched to another server. Corresponds to HAProxy's `wredis` metric.                                                                      | \{requests}      | Counter |              |
| ✅ `haproxy.requests.total`           | Total number of HTTP requests received. Corresponds to HAProxy's `req_tot`, `hrsp_1xx`, `hrsp_2xx`, `hrsp_3xx`, `hrsp_4xx`, `hrsp_5xx` and `hrsp_other` metrics.             | \{requests}      | Counter | status\_code |
| ❌ `haproxy.responses.average_time`   | Average response time in ms over the 1024 last requests. Corresponds to HAProxy's `rtime` metric.                                                                            | ms               | Gauge   |              |
| ✅ `haproxy.responses.denied`         | Responses denied because of security concerns. Corresponds to HAProxy's `dresp` metric                                                                                       | \{responses}     | Counter |              |
| ✅ `haproxy.responses.errors`         | Cumulative number of response errors. Corresponds to HAProxy's `eresp` metric, `srv_abrt` will be counted here also.                                                         | \{errors}        | Counter |              |
| ✅ `haproxy.server_selected.total`    | Number of times a server was selected, either for new sessions or when re-dispatching. Corresponds to HAProxy's `lbtot` metric.                                              | \{selections}    | Counter |              |
| ✅ `haproxy.sessions.average`         | Average total session time in ms over the last 1024 requests. Corresponds to HAProxy's `ttime` metric.                                                                       | ms               | Gauge   |              |
| ✅ `haproxy.sessions.count`           | Current sessions. Corresponds to HAProxy's `scur` metric.                                                                                                                    | \{sessions}      | Gauge   |              |
| ❌ `haproxy.sessions.limit`           | Configured session limit. Corresponds to HAProxy's `slim` metric.                                                                                                            | \{sessions}      | Gauge   |              |
| ✅ `haproxy.sessions.rate`            | Number of sessions per second over last elapsed second. Corresponds to HAProxy's `rate` metric.                                                                              | \{sessions}      | Gauge   |              |
| ❌ `haproxy.sessions.total`           | Cumulative number of sessions. Corresponds to HAProxy's `stot` metric.                                                                                                       | \{sessions}      | Counter |              |
| ❌ `haproxy.weight`                   | Total effective weight (backend) or effective weight (server). Corresponds to HAProxy's `weight` metric.                                                                     | 1                | Gauge   |              |

## Attributes

| Attribute Name | Description                                            | Type   | Values                                     |
| -------------- | ------------------------------------------------------ | ------ | ------------------------------------------ |
| `status_code`  | Status code category, 1xx, 2xx, 3xx, 4xx, 5xx or other | string | `1xx`, `2xx`, `3xx`, `4xx`, `5xx`, `other` |

## Resource Attributes

| Attribute Name         | Description                                                                                     | Type   | Enabled |
| ---------------------- | ----------------------------------------------------------------------------------------------- | ------ | ------- |
| `haproxy.addr`         | address:port or "unix". IPv6 has brackets around the address.                                   | string | ✅       |
| `haproxy.proxy_name`   | Proxy name                                                                                      | string | ✅       |
| `haproxy.server.state` | Server status (UP, DOWN, NOLB, MAINT, no check, etc.). Corresponds to HAProxy's `status` field. | string | ❌       |
| `haproxy.service_name` | Service name (FRONTEND for frontend, BACKEND for backend, any name for server/listener)         | string | ✅       |

***

*Last generated: 2026-07-06*
