Supported OS Linux Windows Mac OS

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

To find out if this integration is available in your organization, see your Datadog Integrations page or ask your organization administrator.

To initiate an exception request to enable this integration for your organization, email [email protected].

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 HCHK_STATUS_* 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 のサポートチームまでお問合せください。

その他の参考資料