Supported OS Linux Windows Mac OS

インテグレーションバージョン7.0.0

HAProxy 付属のダッシュボード

概要

Datadog で HAProxy のアクティビティをキャプチャして、以下のことができます。

  • HAProxy の負荷分散パフォーマンスを視覚化できます。
  • サーバーがダウンしたときに気付くことができます。
  • HAProxy のパフォーマンスを他のアプリケーションと関連付けることができます。

セットアップ

このインテグレーションでは、Prometheus エンドポイント (推奨) または stats エンドポイントを介したソケットベースのインテグレーション (非推奨) からメトリクスを収集できます。Prometheus エンドポイントを使用するには、HAProxy バージョン 2 (エンタープライズバージョン 1.9rc1) 以降が必要です。

Prometheus エンドポイントを使用する場合、バージョン 1.10.0 以降、この OpenMetrics ベースのインテグレーションには、最新モード (use_openmetrics: true) とレガシーモード (use_openmetrics: false および use_prometheus: true) があります。すべての最新機能を利用するために、Datadog は最新モードを有効にすることを推奨します。詳しくは、OpenMetrics ベースのインテグレーションにおける最新バージョニングとレガシーバージョニングを参照してください。

ソケットベースのインテグレーションを使用するには、use_openmetricsuse_prometheus を false に設定し、構成セクションの対応する手順に従ってください。

use_openmetrics オプションは、最新の OpenMetrics モードを使用し、Agent v7.35 以降が必要です。または、メトリクス収集のために Agent v6.35 以降で Python 3 を有効にする必要があります。Python 3 を使用できないホストや、Agent v7.34 以前のホストでは、OpenMetrics のレガシーモードまたはソケットベースのレガシーインテグレーションを使用してください。

[OpenMetrics V1] または [OpenMetrics V2] とマークされたメトリクスは、HAProxy インテグレーションの対応するモードを使用してのみ利用可能です。[OpenMetrics V1 and V2] とマークされたメトリクスは、どちらのモードでも収集されます。

インストール

HAProxy チェックは Datadog Agent パッケージに含まれています。HAProxy サーバーには何もインストールする必要がありません。

構成

Prometheus の使用

このインテグレーションを設定するための推奨される方法は、HAProxy で Prometheus エンドポイントを有効にすることです。このエンドポイントは、バージョン 2 (エンタープライズバージョン 1.9rc1) 以降の HAProxy に組み込まれています。古いバージョンを使用している場合は、HAProxy Prometheus エクスポーターを設定するか、次のセクションで説明するレガシーソケットベースのインテグレーションを設定することを検討してください。

最新の OpenMetrics モードではなく、従来の OpenMetrics モードを使用するには、use_openmetrics オプションを use_prometheus に変更し、openmetrics_endpoint オプションを prometheus_url に変更してください。詳細については、ホストからの Prometheus および OpenMetrics メトリクス収集のドキュメントを参照してください。

HAProxy の準備

  1. 公式ガイドを使用して haproxy.conf を構成します。
  2. HAProxy を再起動して、Prometheus エンドポイントを有効にします

Agent の構成

ホスト

メトリクスの収集

ホストで実行中の Agent に対してこのチェックを構成するには

  1. HAProxy メトリクスの収集を開始するには、Agent のコンフィギュレーションディレクトリのルートにある conf.d/ フォルダーの haproxy.d/conf.yaml ファイルを編集します。使用可能なすべてのコンフィギュレーションオプションの詳細については、サンプル haproxy.d/conf.yaml を参照してください。

    instances:
    
      ## @param use_openmetrics - boolean - optional - default: false
      ## Enable to preview the new version of the check which supports HAProxy version 2 or later
      ## or environments using the HAProxy exporter.
      ##
      ## OpenMetrics-related options take effect only when this is set to `true`. 
      ##
      ## Uses the latest OpenMetrics V2 implementation for more features and better performance.
      ## Note: To see the configuration options for the OpenMetrics V1 implementation (Agent v7.33 or earlier),
      ## https://github.com/DataDog/integrations-core/blob/7.33.x/haproxy/datadog_checks/haproxy/data/conf.yaml.example
      #
    - use_openmetrics: true  # Enables OpenMetrics V2
    
      ## @param openmetrics_endpoint - string - optional
      ## The URL exposing metrics in the OpenMetrics format.
      #
      openmetrics_endpoint: http://localhost:<PORT>/metrics
    

    レガシー実装の構成オプションを表示するには、Agent v7.34 以前のサンプル haproxy.d/conf.yaml ファイルをご覧ください。

  2. Agent を再起動します

コンテナ化

コンテナ環境の場合は、オートディスカバリーのインテグレーションテンプレートのガイドを参照して、次のパラメーターを適用してください。

メトリクスの収集
パラメーター
<INTEGRATION_NAME>haproxy
<INIT_CONFIG>空白または {}
<INSTANCE_CONFIG>{"openmetrics_endpoint": "http://%%host%%:<PORT>/metrics", "use_openmetrics": "true"}
Kubernetes のデプロイメント例

デプロイメントの .spec.template.metadata の下にポッドアノテーションを追加します。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: haproxy
spec:
  template:
    metadata:
      labels:
        name: haproxy
      annotations:
        ad.datadoghq.com/haproxy.check_names: '["haproxy"]'
        ad.datadoghq.com/haproxy.init_configs: '[{}]'
        ad.datadoghq.com/haproxy.instances: |
          [
            {
              "openmetrics_endpoint": "http://%%host%%:<PORT>/metrics", "use_openmetrics": "true"
            }
          ]          
    spec:
      containers:
        - name: haproxy

統計エンドポイントの使用

この構成戦略は、レガシーユーザー向けのリファレンスとして提供されています。初めてインテグレーションを設定する場合は、前のセクションで説明した Prometheus ベースの戦略の使用を検討してください。

Agent は、メトリクスを統計エンドポイントを使って収集します。

  1. haproxy.conf で統計エンドポイントを構成します。

      listen stats # Define a listen section called "stats"
      bind :9000 # Listen on localhost:9000
      mode http
      stats enable  # Enable stats page
      stats hide-version  # Hide HAProxy version
      stats realm Haproxy\ Statistics  # Title text for popup window
      stats uri /haproxy_stats  # Stats URI
      stats auth Username:Password  # Authentication credentials
    
  2. HAProxy を再起動して、統計エンドポイントを有効にします

ホスト

ホストで実行中の Agent に対してこのチェックを構成するには

Agent のコンフィギュレーションディレクトリのルートにある conf.d/ フォルダーの haproxy.d/conf.yaml ファイルを編集し、HAProxy のメトリクスログの収集を開始します。使用可能なすべてのコンフィギュレーションオプションについては、haproxy.d/conf.yaml のサンプルを参照してください。

メトリクスの収集
  1. HAProxy のメトリクスの収集を開始するには、haproxy.d/conf.yaml ファイルに次の構成ブロックを追加します。

    init_config:
    
    instances:
      ## @param url - string - required
      ## Haproxy URL to connect to gather metrics.
      ## Set the according <USERNAME> and <PASSWORD> or use directly a unix stats
      ## or admin socket: unix:///var/run/haproxy.sock
      #
      - url: http://localhost/admin?stats
    
  2. Agent を再起動します

ログ収集

デフォルトで、Haproxy はログを UDP 経由で 514 ポートに送信します。Agent はこのポートでログをリッスンできますが、1024 よりも下のポート番号にバインディングするため、管理者特権が必要になります。以下ではこの設定方法について説明します。別のポートを使用することも可能で、その場合は手順 3 をスキップしてください。

  1. Datadog Agent で、ログの収集はデフォルトで無効になっています。以下のように、datadog.yaml ファイルでこれを有効にします。

    logs_enabled: true
    
  2. Haproxy のログの収集を開始するには、次の構成ブロックを haproxy.d/conf.yaml ファイルに追加します。

    logs:
      - type: udp
        port: 514
        service: <SERVICE_NAME>
        source: haproxy
    

    環境に合わせて、service パラメーターの値を変更して構成してください。使用可能なすべてのコンフィギュレーションオプションの詳細については、サンプル haproxy.d/conf.yaml を参照してください。

  3. setcap コマンドを使用して、514 ポートへのアクセスを許可します。

    sudo setcap CAP_NET_BIND_SERVICE=+ep /opt/datadog-agent/bin/agent/agent
    

    セットアップが正しいか確認するために、getcap コマンドを実行します。

    sudo getcap /opt/datadog-agent/bin/agent/agent
    

    正しければ、次のように出力されます。

    /opt/datadog-agent/bin/agent/agent = cap_net_bind_service+ep
    

    注: この setcap コマンドを、Agent をアップグレードするたびに実行してください。

  4. Agent を再起動します

Docker

コンテナで実行中の Agent に対してこのチェックを構成するには:

メトリクスの収集

アプリケーションのコンテナで、オートディスカバリーのインテグレーションテンプレートを Docker ラベルとして設定します。

LABEL "com.datadoghq.ad.check_names"='["haproxy"]'
LABEL "com.datadoghq.ad.init_configs"='[{}]'
LABEL "com.datadoghq.ad.instances"='[{"url": "https://%%host%%/admin?stats"}]'
ログ収集

Datadog Agent で、ログの収集はデフォルトで無効になっています。有効にする方法については、Docker ログ収集を参照してください。

次に、ログインテグレーションを Docker ラベルとして設定します。

LABEL "com.datadoghq.ad.logs"='[{"source":"haproxy","service":"<SERVICE_NAME>"}]'

Kubernetes

このチェックを、Kubernetes で実行している Agent に構成します。

メトリクスの収集

アプリケーションのコンテナで、オートディスカバリーのインテグレーションテンプレートをポッドアノテーションとして設定します。他にも、ファイル、ConfigMap、または key-value ストアを使用してテンプレートを構成できます。

Annotations v1 (Datadog Agent v7.36 以前向け)

apiVersion: v1
kind: Pod
metadata:
  name: haproxy
  annotations:
    ad.datadoghq.com/haproxy.check_names: '["haproxy"]'
    ad.datadoghq.com/haproxy.init_configs: '[{}]'
    ad.datadoghq.com/haproxy.instances: |
      [
        {
          "url": "https://%%host%%/admin?stats"
        }
      ]      
spec:
  containers:
    - name: haproxy

Annotations v2 (Datadog Agent v7.36 以降向け)

apiVersion: v1
kind: Pod
metadata:
  name: haproxy
  annotations:
    ad.datadoghq.com/haproxy.checks: |
      {
        "haproxy": {
          "init_config": {},
          "instances": [
            {
              "url": "https://%%host%%/admin?stats"
            }
          ]
        }
      }      
spec:
  containers:
    - name: haproxy
ログ収集

Agent バージョン 6.0 以降で利用可能

Datadog Agent で、ログの収集はデフォルトで無効になっています。有効にする方法については、Kubernetes ログ収集を参照してください。

次に、ログのインテグレーションをポッドアノテーションとして設定します。これは、ファイル、ConfigMap、または key-value ストアを使用して構成することも可能です。

Annotations v1/v2

apiVersion: v1
kind: Pod
metadata:
  name: haproxy
  annotations:
    ad.datadoghq.com/haproxy.logs: '[{"source":"haproxy","service":"<SERVICE_NAME>"}]'
spec:
  containers:
    - name: haproxy

ECS

このチェックを、ECS で実行している Agent に構成するには:

メトリクスの収集

アプリケーションのコンテナで、オートディスカバリーのインテグレーションテンプレートを Docker ラベルとして設定します。

{
  "containerDefinitions": [{
    "name": "haproxy",
    "image": "haproxy:latest",
    "dockerLabels": {
      "com.datadoghq.ad.check_names": "[\"haproxy\"]",
      "com.datadoghq.ad.init_configs": "[{}]",
      "com.datadoghq.ad.instances": "[{\"url\": \"https://%%host%%/admin?stats\"}]"
    }
  }]
}
ログ収集

Agent バージョン 6.0 以降で利用可能

Datadog Agent で、ログの収集はデフォルトで無効になっています。有効にする方法については、ECS ログ収集を参照してください。

次に、ログインテグレーションを Docker ラベルとして設定します。

{
  "containerDefinitions": [{
    "name": "haproxy",
    "image": "haproxy:latest",
    "dockerLabels": {
      "com.datadoghq.ad.logs": "[{\"source\":\"haproxy\",\"service\":\"<SERVICE_NAME>\"}]"
    }
  }]
}

検証

Agent の status サブコマンドを実行し、Checks セクションで haproxy を探します。

収集データ

メトリクス

haproxy.backend.active.servers
(gauge)
[OpenMetrics V1 and V2] Current number of active servers.
haproxy.backend.agg.check.status
(gauge)
[OpenMetrics V1 and V2] Backend's aggregated gauge of servers' state check status (since >= 2.4).
haproxy.backend.agg.server.check.status
(gauge)
[OpenMetrics V1 and V2] Backend's aggregated gauge of servers' state check status (deprecated).
haproxy.backend.agg.server.status
(gauge)
[OpenMetrics V1 and V2] Backend's aggregated gauge of servers' status (since >= 2.4).
haproxy.backend.backup.servers
(gauge)
[OpenMetrics V1 and V2] Current number of backup servers.
haproxy.backend.bytes.in.count
(count)
[OpenMetrics V2] Current total of incoming bytes. By default, submitted as count if using Prometheus.
Shown as byte
haproxy.backend.bytes.in.total
(count)
[OpenMetrics V1] Current total of incoming bytes. By default, submitted as count if using Prometheus.
Shown as byte
haproxy.backend.bytes.in_rate
(gauge)
[Legacy] Rate of bytes in on backend hosts.
Shown as byte
haproxy.backend.bytes.out.count
(count)
[OpenMetrics V2] Current total of outgoing bytes. By default, submitted as count if using Prometheus.
Shown as byte
haproxy.backend.bytes.out.total
(count)
[OpenMetrics V1] Current total of outgoing bytes. By default, submitted as count if using Prometheus.
Shown as byte
haproxy.backend.bytes.out_rate
(gauge)
[Legacy] Rate of bytes out on backend hosts.
Shown as byte
haproxy.backend.check.last.change.seconds
(gauge)
[OpenMetrics V1 and V2] Number of seconds since the last UP<->DOWN transition.
haproxy.backend.check.up.down.count
(count)
[OpenMetrics V2] Total number of UP->DOWN transitions.
haproxy.backend.check.up.down.total
(count)
[OpenMetrics V1] Total number of UP->DOWN transitions.
haproxy.backend.client.aborts.count
(count)
[OpenMetrics V2] Total number of data transfers aborted by the client.
haproxy.backend.client.aborts.total
(count)
[OpenMetrics V1] Total number of data transfers aborted by the client.
haproxy.backend.connect.time
(gauge)
[Legacy] Average connect time over the last 1024 backend requests.
Shown as millisecond
haproxy.backend.connect.time.average.seconds
(gauge)
[OpenMetrics V1 and V2] Avg. connect time for last 1024 successful connections.
haproxy.backend.connection.attempts.count
(count)
[OpenMetrics V2] Total number of connection establishment attempts.
haproxy.backend.connection.attempts.total
(count)
[OpenMetrics V1] Total number of connection establishment attempts.
haproxy.backend.connection.errors.count
(count)
[OpenMetrics V2] Total number of connection errors.
haproxy.backend.connection.errors.total
(count)
[OpenMetrics V1] Total number of connection errors.
haproxy.backend.connection.reuses.count
(count)
[OpenMetrics V2] Total number of connection reuses.
haproxy.backend.connection.reuses.total
(count)
[OpenMetrics V1] Total number of connection reuses.
haproxy.backend.count.time.average.seconds
(gauge)
[OpenMetrics V1 and V2] Avg. total time for last 1024 successful connections.
haproxy.backend.current.queue
(gauge)
[OpenMetrics V1 and V2] Current number of queued requests.
haproxy.backend.current.sessions
(gauge)
[OpenMetrics V1 and V2] Current number of active sessions.
haproxy.backend.denied.req_rate
(gauge)
[Legacy] Number of backend requests denied due to security concerns.
Shown as request
haproxy.backend.denied.resp_rate
(gauge)
[Legacy] Number of backend responses denied due to security concerns.
Shown as response
haproxy.backend.downtime.seconds.count
(count)
[OpenMetrics V2] Total downtime (in seconds) for the service.
haproxy.backend.downtime.seconds.total
(count)
[OpenMetrics V1] Total downtime (in seconds) for the service.
haproxy.backend.errors.con_rate
(gauge)
[Legacy] Rate of backend requests that encountered an error trying to connect to a backend server.
Shown as error
haproxy.backend.errors.resp_rate
(gauge)
[Legacy] Rate of backend responses aborted due to error.
Shown as error
haproxy.backend.failed.header.rewriting.count
(count)
[OpenMetrics V2] Total number of failed header rewriting warnings.
haproxy.backend.failed.header.rewriting.total
(count)
[OpenMetrics V1] Total number of failed header rewriting warnings.
haproxy.backend.http.cache.hits.count
(count)
[OpenMetrics V2] Total number of HTTP cache hits.
haproxy.backend.http.cache.hits.total
(count)
[OpenMetrics V1] Total number of HTTP cache hits.
haproxy.backend.http.cache.lookups.count
(count)
[OpenMetrics V2] Total number of HTTP cache lookups.
haproxy.backend.http.cache.lookups.total
(count)
[OpenMetrics V1] Total number of HTTP cache lookups.
haproxy.backend.http.comp.bytes.bypassed.count
(count)
[OpenMetrics V2] Total number of bytes that bypassed the HTTP compressor (CPU/BW limit).
Shown as byte
haproxy.backend.http.comp.bytes.bypassed.total
(count)
[OpenMetrics V1] Total number of bytes that bypassed the HTTP compressor (CPU/BW limit).
Shown as byte
haproxy.backend.http.comp.bytes.in.count
(count)
[OpenMetrics V2] Total number of HTTP response bytes fed to the compressor.
Shown as byte
haproxy.backend.http.comp.bytes.in.total
(count)
[OpenMetrics V1] Total number of HTTP response bytes fed to the compressor.
Shown as byte
haproxy.backend.http.comp.bytes.out.count
(count)
[OpenMetrics V2] Total number of HTTP response bytes emitted by the compressor.
Shown as byte
haproxy.backend.http.comp.bytes.out.total
(count)
[OpenMetrics V1] Total number of HTTP response bytes emitted by the compressor.
Shown as byte
haproxy.backend.http.comp.responses.count
(count)
[OpenMetrics V2] Total number of HTTP responses that were compressed.
haproxy.backend.http.comp.responses.total
(count)
[OpenMetrics V1] Total number of HTTP responses that were compressed.
haproxy.backend.http.requests.count
(count)
[OpenMetrics V2] Total number of HTTP requests received.
haproxy.backend.http.requests.total
(count)
[OpenMetrics V1] Total number of HTTP requests received.
haproxy.backend.http.responses.count
(count)
[OpenMetrics V2] Total number of HTTP responses.
haproxy.backend.http.responses.total
(count)
[OpenMetrics V1] Total number of HTTP responses.
haproxy.backend.internal.errors.count
(count)
[OpenMetrics V2] Total number of internal errors since process started (since >= 2.2).
haproxy.backend.internal.errors.total
(count)
[OpenMetrics V1] Total number of internal errors since process started (since >= 2.2).
haproxy.backend.last.session.seconds
(gauge)
[OpenMetrics V1 and V2] Number of seconds since last session assigned to server/backend.
haproxy.backend.limit.sessions
(gauge)
[OpenMetrics V1 and V2] Configured session limit.
haproxy.backend.loadbalanced.count
(count)
[OpenMetrics V2] Total number of times a service was selected, either for new sessions, or when redispatching.
haproxy.backend.loadbalanced.total
(count)
[OpenMetrics V1] Total number of times a service was selected, either for new sessions, or when redispatching.
haproxy.backend.max.connect.time.seconds
(gauge)
[OpenMetrics V1 and V2] Maximum observed time spent waiting for a connection to complete
haproxy.backend.max.count.time.seconds
(gauge)
[OpenMetrics V1 and V2] Maximum observed total request+response time (request+queue+connect+response+processing)
haproxy.backend.max.queue
(gauge)
[OpenMetrics V1 and V2] Maximum observed number of queued requests.
haproxy.backend.max.queue.time.seconds
(gauge)
[OpenMetrics V1 and V2] Maximum observed time spent in the queue
haproxy.backend.max.response.time.seconds
(gauge)
[OpenMetrics V1 and V2] Maximum observed time spent waiting for a server response
haproxy.backend.max.session.rate
(gauge)
[OpenMetrics V1 and V2] Maximum observed number of sessions per second.
haproxy.backend.max.sessions
(gauge)
[OpenMetrics V1 and V2] Maximum observed number of active sessions.
haproxy.backend.max.total.time.seconds
(gauge)
[OpenMetrics V1 and V2] Maximum observed total request+response time (request+queue+connect+response+processing)
haproxy.backend.queue.current
(gauge)
[Legacy] Number of backend requests without an assigned backend.
Shown as request
haproxy.backend.queue.time
(gauge)
[Legacy] Average queue time over the last 1024 backend requests.
Shown as millisecond
haproxy.backend.queue.time.average.seconds
(gauge)
[OpenMetrics V1 and V2] Avg. queue time for last 1024 successful connections.
haproxy.backend.redispatch.warnings.count
(count)
[OpenMetrics V2] Total number of redispatch warnings.
haproxy.backend.redispatch.warnings.total
(count)
[OpenMetrics V1] Total number of redispatch warnings.
haproxy.backend.requests.denied.count
(count)
[OpenMetrics V2] Total number of denied requests.
haproxy.backend.requests.denied.total
(count)
[OpenMetrics V1] Total number of denied requests.
haproxy.backend.requests.tot_rate
(gauge)
[Legacy] Rate of total number of backend HTTP requests.
Shown as request
haproxy.backend.response.1xx
(gauge)
[Legacy] Backend HTTP responses with 1xx code per second.
Shown as response
haproxy.backend.response.2xx
(gauge)
[Legacy] Backend HTTP responses with 2xx code per second.
Shown as response
haproxy.backend.response.3xx
(gauge)
[Legacy] Backend HTTP responses with 3xx code per second.
Shown as response
haproxy.backend.response.4xx
(gauge)
[Legacy] Backend HTTP responses with 4xx code per second.
Shown as response
haproxy.backend.response.5xx
(gauge)
[Legacy] Backend HTTP responses with 5xx code per second.
Shown as response
haproxy.backend.response.errors.count
(count)
[OpenMetrics V2] Total number of response errors.
haproxy.backend.response.errors.total
(count)
[OpenMetrics V1] Total number of response errors.
haproxy.backend.response.other
(gauge)
[Legacy] Backend HTTP responses with other code (protocol error).
Shown as response
haproxy.backend.response.time
(gauge)
[Legacy] Average response time over the last 1024 backend requests (0 for TCP).
Shown as millisecond
haproxy.backend.response.time.average.seconds
(gauge)
[OpenMetrics V1 and V2] Avg. response time for last 1024 successful connections.
haproxy.backend.responses.denied.count
(count)
[OpenMetrics V2] Total number of denied responses.
haproxy.backend.responses.denied.total
(count)
[OpenMetrics V1] Total number of denied responses.
haproxy.backend.retry.warnings.count
(count)
[OpenMetrics V2] Total number of retry warnings.
haproxy.backend.retry.warnings.total
(count)
[OpenMetrics V1] Total number of retry warnings.
haproxy.backend.server.aborts.count
(count)
[OpenMetrics V2] Total number of data transfers aborted by the server.
haproxy.backend.server.aborts.total
(count)
[OpenMetrics V1] Total number of data transfers aborted by the server.
haproxy.backend.session.current
(gauge)
[Legacy] Number of active backend sessions.
Shown as connection
haproxy.backend.session.limit
(gauge)
[Legacy] Configured backend session limit.
Shown as connection
haproxy.backend.session.pct
(gauge)
[Legacy] Percentage of sessions in use (backend.session.current/backend.session.limit * 100).
Shown as percent
haproxy.backend.session.rate
(gauge)
[Legacy] Number of backend sessions created per second.
Shown as connection
haproxy.backend.session.time
(gauge)
[Legacy] Average total session time over the last 1024 requests.
Shown as millisecond
haproxy.backend.sessions.count
(count)
[OpenMetrics V2] Total number of sessions.
haproxy.backend.sessions.total
(count)
[OpenMetrics V1] Total number of sessions.
haproxy.backend.status
(gauge)
[OpenMetrics V1 and V2] Current status of the service. <= 2.3: gauge value determines state (frontend: 0=STOP, 1=UP, 2=FULL - backend: 0=DOWN, 1=UP - server: 0=DOWN, 1=UP, 2=MAINT, 3=DRAIN, 4=NOLB). >= 2.4 per state label value.
haproxy.backend.total.time.average.seconds
(gauge)
[OpenMetrics V1 and V2] Avg. total time for last 1024 successful connections.
haproxy.backend.uptime
(gauge)
[Legacy] Number of seconds since the last UP<->DOWN transition
Shown as second
haproxy.backend.uweight
(gauge)
[OpenMetrics V1 and V2] Server's user weight or sum of active servers' user weights for a backend (>= 2.4).
haproxy.backend.warnings.redis_rate
(gauge)
[Legacy] Number of times a request was redispatched to another server.
Shown as error
haproxy.backend.warnings.retr_rate
(gauge)
[Legacy] Number of times a connection to a server was retried.
Shown as error
haproxy.backend.weight
(gauge)
[OpenMetrics V1 and V2] Service weight.
haproxy.backend_hosts
(gauge)
[Legacy] Number of backend hosts.
Shown as host
haproxy.count_per_status
(gauge)
[Legacy] Number of hosts by status (UP/DOWN/NOLB/MAINT).
Shown as host
haproxy.frontend.bytes.in.count
(count)
[OpenMetrics V2] Current total of incoming bytes. By default, submitted as count if using Prometheus.
Shown as byte
haproxy.frontend.bytes.in.total
(count)
[OpenMetrics V1] Current total of incoming bytes. By default, submitted as count if using Prometheus.
Shown as byte
haproxy.frontend.bytes.in_rate
(gauge)
[Legacy] Rate of bytes in on frontend hosts.
Shown as byte
haproxy.frontend.bytes.out.count
(count)
[OpenMetrics V2] Current total of outgoing bytes. By default, submitted as count if using Prometheus.
Shown as byte
haproxy.frontend.bytes.out.total
(count)
[OpenMetrics V1] Current total of outgoing bytes. By default, submitted as count if using Prometheus.
Shown as byte
haproxy.frontend.bytes.out_rate
(gauge)
[Legacy] Rate of bytes out on frontend hosts.
Shown as byte
haproxy.frontend.connections.count
(count)
[OpenMetrics V2] Total number of connections.
haproxy.frontend.connections.rate
(gauge)
[Legacy] Number of connections per second.
Shown as connection
haproxy.frontend.connections.rate.max
(gauge)
[OpenMetrics V1 and V2] Maximum observed number of connections per second.
haproxy.frontend.connections.tot_rate
(gauge)
[Legacy] Rate of total number of frontend connections.
Shown as connection
haproxy.frontend.connections.total
(count)
[OpenMetrics V1] Total number of connections.
haproxy.frontend.current.sessions
(gauge)
[OpenMetrics V1 and V2] Current number of active sessions.
haproxy.frontend.denied.connections.count
(count)
[OpenMetrics V2] Total number of requests denied by 'tcp-request connection' rules.
haproxy.frontend.denied.connections.total
(count)
[OpenMetrics V1] Total number of requests denied by 'tcp-request connection' rules.
haproxy.frontend.denied.req_rate
(gauge)
[Legacy] Number of frontend requests denied due to security concerns.
Shown as request
haproxy.frontend.denied.resp_rate
(gauge)
[Legacy] Number of frontend responses denied due to security concerns.
Shown as response
haproxy.frontend.denied.sessions.count
(count)
[OpenMetrics V2] Total number of requests denied by 'tcp-request session' rules.
haproxy.frontend.denied.sessions.total
(count)
[OpenMetrics V1] Total number of requests denied by 'tcp-request session' rules.
haproxy.frontend.errors.req_rate
(gauge)
[Legacy] Rate of frontend request errors.
Shown as error
haproxy.frontend.failed.header.rewriting.count
(count)
[OpenMetrics V2] Total number of failed header rewriting warnings.
haproxy.frontend.failed.header.rewriting.total
(count)
[OpenMetrics V1] Total number of failed header rewriting warnings.
haproxy.frontend.http.cache.hits.count
(count)
[OpenMetrics V2] Total number of HTTP cache hits.
haproxy.frontend.http.cache.hits.total
(count)
[OpenMetrics V1] Total number of HTTP cache hits.
haproxy.frontend.http.cache.lookups.count
(count)
[OpenMetrics V2] Total number of HTTP cache lookups.
haproxy.frontend.http.cache.lookups.total
(count)
[OpenMetrics V1] Total number of HTTP cache lookups.
haproxy.frontend.http.comp.bytes.bypassed.count
(count)
[OpenMetrics V2] Total number of bytes that bypassed the HTTP compressor (CPU/BW limit).
Shown as byte
haproxy.frontend.http.comp.bytes.bypassed.total
(count)
[OpenMetrics V1] Total number of bytes that bypassed the HTTP compressor (CPU/BW limit).
Shown as byte
haproxy.frontend.http.comp.bytes.in.count
(count)
[OpenMetrics V2] Total number of HTTP response bytes fed to the compressor.
Shown as byte
haproxy.frontend.http.comp.bytes.in.total
(count)
[OpenMetrics V1] Total number of HTTP response bytes fed to the compressor.
Shown as byte
haproxy.frontend.http.comp.bytes.out.count
(count)
[OpenMetrics V2] Total number of HTTP response bytes emitted by the compressor.
Shown as byte
haproxy.frontend.http.comp.bytes.out.total
(count)
[OpenMetrics V1] Total number of HTTP response bytes emitted by the compressor.
Shown as byte
haproxy.frontend.http.comp.responses.count
(count)
[OpenMetrics V2] Total number of HTTP responses that were compressed.
haproxy.frontend.http.comp.responses.total
(count)
[OpenMetrics V1] Total number of HTTP responses that were compressed.
haproxy.frontend.http.requests.count
(count)
[OpenMetrics V2] Total number of HTTP requests received.
haproxy.frontend.http.requests.rate.max
(gauge)
[OpenMetrics V1 and V2] Maximum observed number of HTTP requests per second.
haproxy.frontend.http.requests.total
(count)
[OpenMetrics V1] Total number of HTTP requests received.
haproxy.frontend.http.responses.count
(count)
[OpenMetrics V2] Total number of HTTP responses.
haproxy.frontend.http.responses.total
(count)
[OpenMetrics V1] Total number of HTTP responses.
haproxy.frontend.intercepted.requests.count
(count)
[OpenMetrics V2] Total number of intercepted HTTP requests.
haproxy.frontend.intercepted.requests.total
(count)
[OpenMetrics V1] Total number of intercepted HTTP requests.
haproxy.frontend.internal.errors.count
(count)
[OpenMetrics V2] Total number of internal errors since process started (since >= 2.2).
haproxy.frontend.internal.errors.total
(count)
[OpenMetrics V1] Total number of internal errors since process started (since >= 2.2).
haproxy.frontend.limit.session.rate
(gauge)
[OpenMetrics V1 and V2] Configured limit on new sessions per second.
haproxy.frontend.limit.sessions
(gauge)
[OpenMetrics V1 and V2] Configured session limit.
haproxy.frontend.max.session.rate
(gauge)
[OpenMetrics V1 and V2] Maximum observed number of sessions per second.
haproxy.frontend.max.sessions
(gauge)
[OpenMetrics V1 and V2] Maximum observed number of active sessions.
haproxy.frontend.request.errors.count
(count)
[OpenMetrics V2] Total number of request errors.
haproxy.frontend.request.errors.total
(count)
[OpenMetrics V1] Total number of request errors.
haproxy.frontend.requests.denied.count
(count)
[OpenMetrics V2] Total number of denied requests.
haproxy.frontend.requests.denied.total
(count)
[OpenMetrics V1] Total number of denied requests.
haproxy.frontend.requests.intercepted
(gauge)
[Legacy] Number of intercepted frontend requests per second.
Shown as request
haproxy.frontend.requests.rate
(gauge)
[Legacy] Number of frontend HTTP requests per second.
Shown as request
haproxy.frontend.requests.tot_rate
(gauge)
[Legacy] Rate of total number of frontend HTTP requests.
Shown as request
haproxy.frontend.response.1xx
(gauge)
[Legacy] Frontend HTTP responses with 1xx code.
Shown as response
haproxy.frontend.response.2xx
(gauge)
[Legacy] Frontend HTTP responses with 2xx code.
Shown as response
haproxy.frontend.response.3xx
(gauge)
[Legacy] Frontend HTTP responses with 3xx code.
Shown as response
haproxy.frontend.response.4xx
(gauge)
[Legacy] Frontend HTTP responses with 4xx code.
Shown as response
haproxy.frontend.response.5xx
(gauge)
[Legacy] Frontend HTTP responses with 5xx code.
Shown as response
haproxy.frontend.response.other
(gauge)
[Legacy] Frontend HTTP responses with other code (protocol error).
Shown as response
haproxy.frontend.responses.denied.count
(count)
[OpenMetrics V2] Total number of denied responses.
haproxy.frontend.responses.denied.total
(count)
[OpenMetrics V1] Total number of denied responses.
haproxy.frontend.session.current
(gauge)
[Legacy] Number of active frontend sessions.
Shown as connection
haproxy.frontend.session.limit
(gauge)
[Legacy] Configured frontend session limit.
Shown as connection
haproxy.frontend.session.pct
(gauge)
[Legacy] Percentage of sessions in use (frontend.session.current/frontend.session.limit * 100.
Shown as percent
haproxy.frontend.session.rate
(gauge)
[Legacy] Number of frontend sessions created per second.
Shown as connection
haproxy.frontend.sessions.count
(count)
[OpenMetrics V2] Total number of sessions.
haproxy.frontend.sessions.total
(count)
[OpenMetrics V1] Total number of sessions.
haproxy.frontend.status
(gauge)
[OpenMetrics V1 and V2] Current status of the service. <= 2.3: gauge value determines state (frontend: 0=STOP, 1=UP, 2=FULL - backend: 0=DOWN, 1=UP - server: 0=DOWN, 1=UP, 2=MAINT, 3=DRAIN, 4=NOLB). >= 2.4 per state label value.
haproxy.listener.bytes.in.count
(count)
[OpenMetrics V2] Total number of request bytes since process started (>= 2.4).
haproxy.listener.bytes.in.total
(count)
[OpenMetrics V1] Total number of request bytes since process started (>= 2.4).
haproxy.listener.bytes.out.count
(count)
[OpenMetrics V2] Total number of response bytes since process started (>= 2.4).
haproxy.listener.bytes.out.total
(count)
[OpenMetrics V1] Total number of response bytes since process started (>= 2.4).
haproxy.listener.current.sessions
(gauge)
[OpenMetrics V1 and V2] Number of current sessions on the frontend, backend or server (>= 2.4).
haproxy.listener.denied.connections.count
(count)
[OpenMetrics V2] Total number of incoming connections blocked on a listener/frontend by a tcp-request connection rule since the worker process started (>= 2.4).
haproxy.listener.denied.connections.total
(count)
[OpenMetrics V1] Total number of incoming connections blocked on a listener/frontend by a tcp-request connection rule since the worker process started (>= 2.4).
haproxy.listener.denied.sessions.count
(count)
[OpenMetrics V2] Total number of incoming sessions blocked on a listener/frontend by a tcp-request connection rule since the worker process started
haproxy.listener.denied.sessions.total
(count)
[OpenMetrics V1] Total number of incoming sessions blocked on a listener/frontend by a tcp-request connection rule since the worker process started
haproxy.listener.failed.header.rewriting.count
(count)
[OpenMetrics V2] Total number of failed HTTP header rewrites since the worker process started (>= 2.4).
haproxy.listener.failed.header.rewriting.total
(count)
[OpenMetrics V1] Total number of failed HTTP header rewrites since the worker process started (>= 2.4).
haproxy.listener.internal.errors.count
(count)
[OpenMetrics V2] Total number of internal errors since process started (>= 2.4).
haproxy.listener.internal.errors.total
(count)
[OpenMetrics V1] Total number of internal errors since process started (>= 2.4).
haproxy.listener.limit.sessions
(gauge)
[OpenMetrics V1 and V2] Frontend/listener/server's maxconn, backend's fullconn (>= 2.4).
haproxy.listener.max.sessions
(gauge)
[OpenMetrics V1 and V2] Highest value of current sessions encountered since process started (>= 2.4).
haproxy.listener.request.errors.count
(count)
[OpenMetrics V2] Total number of invalid requests since process started (>= 2.4).
haproxy.listener.request.errors.total
(count)
[OpenMetrics V1] Total number of invalid requests since process started (>= 2.4).
haproxy.listener.requests.denied.count
(count)
[OpenMetrics V2] Total number of denied requests since process started (>= 2.4).
haproxy.listener.requests.denied.total
(count)
[OpenMetrics V1] Total number of denied requests since process started (>= 2.4).
haproxy.listener.responses.denied.count
(count)
[OpenMetrics V2] Total number of denied responses since process started (>= 2.4).
haproxy.listener.responses.denied.total
(count)
[OpenMetrics V1] Total number of denied responses since process started (>= 2.4).
haproxy.listener.sessions.count
(count)
[OpenMetrics V2] Total number of sessions since process started (>= 2.4).
haproxy.listener.sessions.total
(count)
[OpenMetrics V1] Total number of sessions since process started (>= 2.4).
haproxy.listener.status
(gauge)
[OpenMetrics V1 and V2] Current status of the service, per state label value (>= 2.4).
haproxy.process.active.peers
(gauge)
[OpenMetrics V1 and V2] Current number of active peers.
haproxy.process.build_info
(gauge)
[OpenMetrics V1 and V2] Build info.
haproxy.process.busy.polling.enabled
(gauge)
[OpenMetrics V1 and V2] Non zero if the busy polling is enabled.
haproxy.process.bytes.out.count
(count)
[OpenMetrics V2] Total number of bytes emitted by current worker process since started (>= 2.3).
haproxy.process.bytes.out.rate
(gauge)
[OpenMetrics V1 and V2] Number of bytes emitted by current worker process over the last second (>= 2.3).
haproxy.process.bytes.out.total
(count)
[OpenMetrics V1] Total number of bytes emitted by current worker process since started (>= 2.3).
haproxy.process.connected.peers
(gauge)
[OpenMetrics V1 and V2] Current number of connected peers.
haproxy.process.connections.count
(count)
[OpenMetrics V2] Total number of created sessions.
haproxy.process.connections.total
(count)
[OpenMetrics V1] Total number of created sessions.
haproxy.process.current.backend.ssl.key.rate
(gauge)
[OpenMetrics V1 and V2] Current backend SSL Key computation per second over last elapsed second.
haproxy.process.current.connection.rate
(gauge)
[OpenMetrics V1 and V2] Current number of connections per second over last elapsed second.
haproxy.process.current.connections
(gauge)
[OpenMetrics V1 and V2] Number of active sessions.
haproxy.process.current.frontend.ssl.key.rate
(gauge)
[OpenMetrics V1 and V2] Current frontend SSL Key computation per second over last elapsed second.
haproxy.process.current.run.queue
(gauge)
[OpenMetrics V1 and V2] Current number of tasks in the run-queue.
haproxy.process.current.session.rate
(gauge)
[OpenMetrics V1 and V2] Current number of sessions per second over last elapsed second.
haproxy.process.current.ssl.connections
(gauge)
[OpenMetrics V1 and V2] Number of opened SSL connections.
haproxy.process.current.ssl.rate
(gauge)
[OpenMetrics V1 and V2] Current number of SSL sessions per second over last elapsed second.
haproxy.process.current.tasks
(gauge)
[OpenMetrics V1 and V2] Current number of tasks.
haproxy.process.current.zlib.memory
(gauge)
[OpenMetrics V1 and V2] Current memory used for zlib in bytes (zlib is no longer the default since >= 2.4).
haproxy.process.dropped.logs.count
(count)
[OpenMetrics V2] Total number of dropped logs.
haproxy.process.dropped.logs.total
(count)
[OpenMetrics V1] Total number of dropped logs.
haproxy.process.failed.resolutions
(count)
[OpenMetrics V1] Total number of failed DNS resolutions in current worker process since started (>= 2.3).
haproxy.process.failed.resolutions.count
(count)
[OpenMetrics V2] Total number of failed DNS resolutions in current worker process since started (>= 2.3).
haproxy.process.frontend.ssl.reuse
(gauge)
[OpenMetrics V1 and V2] SSL session reuse ratio (percent).
haproxy.process.hard.max.connections
(gauge)
[OpenMetrics V1 and V2] Initial Maximum number of concurrent connections.
haproxy.process.http.comp.bytes.in.count
(count)
[OpenMetrics V2] Number of bytes per second over last elapsed second, before http compression.
Shown as byte
haproxy.process.http.comp.bytes.in.total
(count)
[OpenMetrics V1] Number of bytes per second over last elapsed second, before http compression.
Shown as byte
haproxy.process.http.comp.bytes.out.count
(count)
[OpenMetrics V2] Number of bytes per second over last elapsed second, after http compression.
Shown as byte
haproxy.process.http.comp.bytes.out.total
(count)
[OpenMetrics V1] Number of bytes per second over last elapsed second, after http compression.
Shown as byte
haproxy.process.idle.time.percent
(gauge)
[OpenMetrics V1 and V2] Idle to total ratio over last sample (percent).
haproxy.process.jobs
(gauge)
[OpenMetrics V1 and V2] Current number of active jobs (listeners, sessions, open devices).
haproxy.process.limit.connection.rate
(gauge)
[OpenMetrics V1 and V2] Configured maximum number of connections per second.
haproxy.process.limit.http.comp
(gauge)
[OpenMetrics V1 and V2] Configured maximum input compression rate in bytes.
haproxy.process.limit.session.rate
(gauge)
[OpenMetrics V1 and V2] Configured maximum number of sessions per second.
haproxy.process.limit.ssl.rate
(gauge)
[OpenMetrics V1 and V2] Configured maximum number of SSL sessions per second.
haproxy.process.listeners
(gauge)
[OpenMetrics V1 and V2] Current number of active listeners.
haproxy.process.max.backend.ssl.key.rate
(gauge)
[OpenMetrics V1 and V2] Maximum observed backend SSL Key computation per second.
haproxy.process.max.connection.rate
(gauge)
[OpenMetrics V1 and V2] Maximum observed number of connections per second.
haproxy.process.max.connections
(gauge)
[OpenMetrics V1 and V2] Maximum number of concurrent connections.
haproxy.process.max.fds
(gauge)
[OpenMetrics V1 and V2] Maximum number of open file descriptors; 0=unset.
haproxy.process.max.frontend.ssl.key.rate
(gauge)
[OpenMetrics V1 and V2] Maximum observed frontend SSL Key computation per second.
haproxy.process.max.memory.bytes
(gauge)
[OpenMetrics V1 and V2] Per-process memory limit (in bytes); 0=unset.
haproxy.process.max.pipes
(gauge)
[OpenMetrics V1 and V2] Configured maximum number of pipes.
haproxy.process.max.session.rate
(gauge)
[OpenMetrics V1 and V2] Maximum observed number of sessions per second.
haproxy.process.max.sockets
(gauge)
[OpenMetrics V1 and V2] Maximum number of open sockets.
haproxy.process.max.ssl.connections
(gauge)
[OpenMetrics V1 and V2] Configured maximum number of concurrent SSL connections.
haproxy.process.max.ssl.rate
(gauge)
[OpenMetrics V1 and V2] Maximum observed number of SSL sessions per second.
haproxy.process.max.zlib.memory
(gauge)
[OpenMetrics V1 and V2] Configured maximum amount of memory for zlib in bytes (zlib is no longer the default since >= 2.4).
haproxy.process.nbproc
(gauge)
[OpenMetrics V1 and V2] Configured number of processes.
haproxy.process.nbthread
(gauge)
[OpenMetrics V1 and V2] Configured number of threads.
haproxy.process.pipes.free.count
(count)
[OpenMetrics V2] Number of pipes unused.
haproxy.process.pipes.free.total
(count)
[OpenMetrics V1] Number of pipes unused.
haproxy.process.pipes.used.count
(count)
[OpenMetrics V2] Number of pipes in used.
haproxy.process.pipes.used.total
(count)
[OpenMetrics V1] Number of pipes in used.
haproxy.process.pool.allocated.bytes
(gauge)
[OpenMetrics V1 and V2] Total amount of memory allocated in pools (in bytes).
haproxy.process.pool.failures.count
(count)
[OpenMetrics V2] Total number of failed pool allocations.
haproxy.process.pool.failures.total
(count)
[OpenMetrics V1] Total number of failed pool allocations.
haproxy.process.pool.used.bytes
(gauge)
[OpenMetrics V1 and V2] Total amount of memory used in pools (in bytes).
haproxy.process.recv.logs.count
(count)
[OpenMetrics V2] Total number of log messages received by log-forwarding listeners on this worker process since started (>= 2.4).
haproxy.process.recv.logs.total
(count)
[OpenMetrics V1] Total number of log messages received by log-forwarding listeners on this worker process since started (>= 2.4).
haproxy.process.relative.process.id
(gauge)
[OpenMetrics V1 and V2] Relative process id, starting at 1.
haproxy.process.requests.count
(count)
[OpenMetrics V2] Total number of requests (TCP or HTTP).
haproxy.process.requests.total
(count)
[OpenMetrics V1] Total number of requests (TCP or HTTP).
haproxy.process.spliced.bytes.out.count
(count)
[OpenMetrics V2] Total number of bytes emitted by current worker process through a kernel pipe since started (>= 2.3).
haproxy.process.spliced.bytes.out.total
(count)
[OpenMetrics V1] Total number of bytes emitted by current worker process through a kernel pipe since started (>= 2.3).
haproxy.process.ssl.cache.lookups.count
(count)
[OpenMetrics V2] Total number of SSL session cache lookups.
haproxy.process.ssl.cache.lookups.total
(count)
[OpenMetrics V1] Total number of SSL session cache lookups.
haproxy.process.ssl.cache.misses.count
(count)
[OpenMetrics V2] Total number of SSL session cache misses.
haproxy.process.ssl.cache.misses.total
(count)
[OpenMetrics V1] Total number of SSL session cache misses.
haproxy.process.ssl.connections.count
(count)
[OpenMetrics V2] Total number of opened SSL connections.
haproxy.process.ssl.connections.total
(count)
[OpenMetrics V1] Total number of opened SSL connections.
haproxy.process.start.time.seconds
(gauge)
[OpenMetrics V1 and V2] Start time in seconds.
haproxy.process.stopping
(gauge)
[OpenMetrics V1 and V2] Non zero means stopping in progress.
haproxy.process.unstoppable.jobs
(gauge)
[OpenMetrics V1 and V2] Current number of active jobs that can't be stopped during a soft stop.
haproxy.process.uptime.seconds
(gauge)
[OpenMetrics V1 and V2] How long ago this worker process was started (>= 2.4).
haproxy.server.bytes.in.count
(count)
[OpenMetrics V2] Current total of incoming bytes.
Shown as byte
haproxy.server.bytes.in.total
(count)
[OpenMetrics V1] Current total of incoming bytes.
Shown as byte
haproxy.server.bytes.out.count
(count)
[OpenMetrics V2] Current total of outgoing bytes.
Shown as byte
haproxy.server.bytes.out.total
(count)
[OpenMetrics V1] Current total of outgoing bytes.
Shown as byte
haproxy.server.check.code
(gauge)
[OpenMetrics V1 and V2] layer5-7 code, if available of the last health check. (>= 2.0)
haproxy.server.check.duration.seconds
(gauge)
[OpenMetrics V1 and V2] Previously run health check duration (>= 2.0)
Shown as second
haproxy.server.check.failures.count
(count)
[OpenMetrics V2] Total number of failed check (Only counts checks failed when the server is up).
haproxy.server.check.failures.total
(count)
[OpenMetrics V1] Total number of failed check (Only counts checks failed when the server is up).
haproxy.server.check.last.change.seconds
(gauge)
[OpenMetrics V1 and V2] Number of seconds since the last UP<->DOWN transition. (>= 2.0)
Shown as second
haproxy.server.check.status
(gauge)
[OpenMetrics V1 and V2] Status of last health check, if enabled.. <= 2.3 HCHKSTATUS* values in haproxy doc. >= 2.4 per state label value.
haproxy.server.check.up.down.count
(count)
[OpenMetrics V2] Total number of UP->DOWN transitions.
haproxy.server.check.up.down.total
(count)
[OpenMetrics V1] Total number of UP->DOWN transitions.
haproxy.server.client.aborts.count
(count)
[OpenMetrics V2] Total number of data transfers aborted by the client.
haproxy.server.client.aborts.total
(count)
[OpenMetrics V1] Total number of data transfers aborted by the client.
haproxy.server.connect.time.average.seconds
(gauge)
[OpenMetrics V1 and V2] Avg. connect time for last 1024 successful connections.
haproxy.server.connection.attempts.count
(count)
[OpenMetrics V2] Total number of connection establishment attempts.
haproxy.server.connection.attempts.total
(count)
[OpenMetrics V1] Total number of connection establishment attempts.
haproxy.server.connection.errors.count
(count)
[OpenMetrics V2] Total number of connection errors.
haproxy.server.connection.errors.total
(count)
[OpenMetrics V1] Total number of connection errors.
haproxy.server.connection.reuses.count
(count)
[OpenMetrics V2] Total number of connection reuses.
haproxy.server.connection.reuses.total
(count)
[OpenMetrics V1] Total number of connection reuses.
haproxy.server.current.queue
(gauge)
[OpenMetrics V1 and V2] Current number of queued requests.
haproxy.server.current.sessions
(gauge)
[OpenMetrics V1 and V2] Current number of active sessions.
haproxy.server.current.throttle
(gauge)
[OpenMetrics V1 and V2] Current throttle percentage for the server, when slowstart is active, or no value if not in slowstart.
haproxy.server.downtime.seconds.count
(count)
[OpenMetrics V2] Total downtime (in seconds) for the service.
haproxy.server.downtime.seconds.total
(count)
[OpenMetrics V1] Total downtime (in seconds) for the service.
haproxy.server.failed.header.rewriting.count
(count)
[OpenMetrics V2] Total number of failed header rewriting warnings.
haproxy.server.failed.header.rewriting.total
(count)
[OpenMetrics V1] Total number of failed header rewriting warnings.
haproxy.server.http.responses.count
(count)
[OpenMetrics V2] Total number of HTTP responses.
haproxy.server.http.responses.total
(count)
[OpenMetrics V1] Total number of HTTP responses.
haproxy.server.idle.connections.current
(gauge)
[OpenMetrics V1 and V2] Current number of idle connections available for reuse.
haproxy.server.idle.connections.limit
(gauge)
[OpenMetrics V1 and V2] Limit on the number of available idle connections.
haproxy.server.internal.errors.count
(count)
[OpenMetrics V2] Total number of internal errors since process started (since >= 2.2).
haproxy.server.internal.errors.total
(count)
[OpenMetrics V1] Total number of internal errors since process started (since >= 2.2).
haproxy.server.last.session.seconds
(gauge)
[OpenMetrics V1 and V2] Number of seconds since last session assigned to server/backend.
haproxy.server.limit.sessions
(gauge)
[OpenMetrics V1 and V2] Configured session limit.
haproxy.server.loadbalanced.count
(count)
[OpenMetrics V2] Total number of times a service was selected, either for new sessions, or when redispatching.
haproxy.server.loadbalanced.total
(count)
[OpenMetrics V1] Total number of times a service was selected, either for new sessions, or when redispatching.
haproxy.server.max.connect.time.seconds
(gauge)
[OpenMetrics V1 and V2] Maximum observed time spent waiting for a connection to complete
haproxy.server.max.count.time.seconds
(gauge)
[OpenMetrics V1 and V2] Maximum observed total request+response time (request+queue+connect+response+processing)
haproxy.server.max.queue
(gauge)
[OpenMetrics V1 and V2] Maximum observed number of queued requests.
haproxy.server.max.queue.time.seconds
(gauge)
[OpenMetrics V1 and V2] Maximum observed time spent in the queue
haproxy.server.max.response.time.seconds
(gauge)
[OpenMetrics V1 and V2] Maximum observed time spent waiting for a server response
haproxy.server.max.session.rate
(gauge)
[OpenMetrics V1 and V2] Maximum observed number of sessions per second.
haproxy.server.max.sessions
(gauge)
[OpenMetrics V1 and V2] Maximum observed number of active sessions.
haproxy.server.max.total.time.seconds
(gauge)
[OpenMetrics V1 and V2] Maximum observed total request+response time (request+queue+connect+response+processing)
haproxy.server.need.connections.current
(gauge)
[OpenMetrics V1 and V2] Estimated needed number of connections (>= 2.3).
haproxy.server.queue.limit
(gauge)
[OpenMetrics V1 and V2] Configured maxqueue for the server (0 meaning no limit).
haproxy.server.queue.time.average.seconds
(gauge)
[OpenMetrics V1 and V2] Avg. queue time for last 1024 successful connections.
haproxy.server.redispatch.warnings.count
(count)
[OpenMetrics V2] Total number of redispatch warnings.
haproxy.server.redispatch.warnings.total
(count)
[OpenMetrics V1] Total number of redispatch warnings.
haproxy.server.response.errors.count
(count)
[OpenMetrics V2] Total number of response errors.
haproxy.server.response.errors.total
(count)
[OpenMetrics V1] Total number of response errors.
haproxy.server.response.time.average.seconds
(gauge)
[OpenMetrics V1 and V2] Avg. response time for last 1024 successful connections.
haproxy.server.responses.denied.count
(count)
[OpenMetrics V2] Total number of denied responses.
haproxy.server.responses.denied.total
(count)
[OpenMetrics V1] Total number of denied responses.
haproxy.server.retry.warnings.count
(count)
[OpenMetrics V2] Total number of retry warnings.
haproxy.server.retry.warnings.total
(count)
[OpenMetrics V1] Total number of retry warnings.
haproxy.server.safe.idle.connections.current
(gauge)
[OpenMetrics V1 and V2] Current number of safe idle connections (>= 2.3).
haproxy.server.server.aborts.count
(count)
[OpenMetrics V2] Total number of data transfers aborted by the server.
haproxy.server.server.aborts.total
(count)
[OpenMetrics V1] Total number of data transfers aborted by the server.
haproxy.server.server.idle.connections.current
(gauge)
[OpenMetrics V1 and V2] Current number of idle connections available for reuse
haproxy.server.server.idle.connections.limit
(gauge)
[OpenMetrics V1 and V2] Limit on the number of available idle connections
haproxy.server.sessions.count
(count)
[OpenMetrics V2] Total number of sessions.
haproxy.server.sessions.total
(count)
[OpenMetrics V1] Total number of sessions.
haproxy.server.status
(gauge)
[OpenMetrics V1 and V2] Current status of the service. <= 2.3: gauge value determines state (frontend: 0=STOP, 1=UP, 2=FULL - backend: 0=DOWN, 1=UP - server: 0=DOWN, 1=UP, 2=MAINT, 3=DRAIN, 4=NOLB). >= 2.4 per state label value.
haproxy.server.total.time.average.seconds
(gauge)
[OpenMetrics V1 and V2] Avg. total time for last 1024 successful connections.
haproxy.server.unsafe.idle.connections.current
(gauge)
[OpenMetrics V1 and V2] Current number of unsafe idle connections (>= 2.3).
haproxy.server.used.connections.current
(gauge)
[OpenMetrics V1 and V2] Current number of connections in use (>= 2.3).
haproxy.server.uweight
(gauge)
[OpenMetrics V1 and V2] Server's user weight or sum of active servers' user weights for a backend (>= 2.4).
haproxy.server.weight
(gauge)
[OpenMetrics V1 and V2] Service weight.
haproxy.sticktable.size
(gauge)
[OpenMetrics V1 and V2] Maximum number of elements the table can hold (<= 2.3 through a Unix socket, >= 2.4 through Prometheus).
haproxy.sticktable.used
(gauge)
[OpenMetrics V1 and V2] Number of elements in the table (<= 2.3 through a Unix socket, >= 2.4 through Prometheus).

イベント

HAProxy チェックには、イベントは含まれません。

サービスチェック

haproxy.backend_up
Converts the HAProxy status page into service checks. Returns CRITICAL for a given service if HAProxy is reporting it down. maint, ok and any other state will result in OK.
Statuses: ok, critical, unknown

haproxy.openmetrics.health
Returns CRITICAL if the Agent is unable to connect to the OpenMetrics endpoint, otherwise returns OK.
Statuses: ok, critical

トラブルシューティング

エラー: ポート 514 はすでに使用中

syslog があるシステムで、Agent がポート 514 で HAProxy ログをリッスンしている場合、Agent ログに以下のエラーが表示されることがあります: Can't start UDP forwarder on port 514: listen udp :514: bind: address already in use

これは、デフォルトで syslog がポート 514 でリッスンしているために起こっています。このエラーを解決するには、syslog を無効にするか、ポート 514 と Agent がログをリッスンしている別のポートにログを転送するように HAProxy を構成することができます。Agent がリッスンするポートは、こちらで haproxy.d/conf.yaml ファイル定義することができます。

ご不明な点は、Datadog のサポートチームまでお問合せください。

その他の参考資料