Skip to content
41 changes: 41 additions & 0 deletions dev/import-beats-resources/haproxy/docs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# HAProxy Integration

This integration periodically fetches logs and metrics from [HAProxy](https://www.haproxy.org/) servers.

## Compatibility

The `log` dataset was tested with logs from HAProxy 1.8, 1.9 and 2.0 running on a Debian. It is not available on Windows.

The `info` and `stat` datasets were tested with tested with HAProxy versions from 1.6, 1.7, 1.8 to 2.0.

## Logs

### log

The `log` dataset collects the HAProxy application logs.

{{fields "log"}}

## Metrics

### info

The HAProxy `info` dataset collects general information about HAProxy processes.

{{event "info"}}

The fields reported are:

{{fields "info"}}

### stat

The HAProxy `stat` metricset collects stat fields from HAProxy processes.

See section "9.1. CSV format" of the official [HAProxy Management Guide](http://www.haproxy.org/download/2.0/doc/management.txt) for a full list of stat fields.

{{event "stat"}}

The fields reported are:

{{fields "stat"}}
12 changes: 12 additions & 0 deletions packages/haproxy/dataset/info/agent/stream/stream.yml.hbs
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
metricsets: ["info"]
hosts:
{{#each hosts}}
- {{this}}
{{/each}}
{{#if username}}
username: {{username}}
{{/if}}
{{#if password}}
password: {{password}}
{{/if}}
period: {{period}}
12 changes: 12 additions & 0 deletions packages/haproxy/dataset/info/fields/base-fields.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
- name: dataset.type
type: constant_keyword
description: Dataset type.
- name: dataset.name
type: constant_keyword
description: Dataset name.
- name: dataset.namespace
type: constant_keyword
description: Dataset namespace.
- name: '@timestamp'
type: date
description: Event timestamp.
10 changes: 10 additions & 0 deletions packages/haproxy/dataset/info/fields/ecs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
- name: process
title: Process
group: 2
type: group
fields:
- name: pid
level: core
type: long
format: string
description: Process id.
271 changes: 271 additions & 0 deletions packages/haproxy/dataset/info/fields/fields.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,271 @@
- name: haproxy.info
type: group
release: ga
fields:
- name: processes
type: long
description: |
Number of processes.
- name: process_num
type: long
description: |
Process number.
- name: threads
type: long
description: |
Number of threads.
- name: run_queue
type: long
- name: stopping
type: long
description: |
Number of stopping jobs.
- name: jobs
type: long
description: |
Number of all jobs.
- name: unstoppable_jobs
type: long
description: |
Number of unstoppable jobs.
- name: listeners
type: long
description: |
Number of listeners.
- name: dropped_logs
type: long
description: |
Number of dropped logs.
- name: busy_polling
type: long
description: |
Number of busy polling.
- name: failed_resolutions
type: long
description: |
Number of failed resolutions.
- name: tasks
type: long
- name: uptime.sec
type: long
description: |
Current uptime in seconds.
- name: memory.max.bytes
type: long
format: bytes
description: |
Maximum amount of memory usage in bytes (the 'Memmax_MB' value converted to bytes).
- name: bytes
type: group
fields:
- name: out
type: group
fields:
- name: total
type: long
description: |
Number of bytes sent out.
- name: rate
type: long
description: |
Average bytes output rate.
- name: peers
type: group
fields:
- name: active
type: long
description: |
Number of active peers.
- name: connected
type: long
description: |
Number of connected peers.
- name: pool
type: group
fields:
- name: allocated
type: long
description: |
Size of the allocated pool.
- name: used
type: long
description: |
Number of members used from the allocated pool.
- name: failed
type: long
description: |
Number of failed connections to pool members.
- name: ulimit_n
type: long
description: |
Maximum number of open files for the process.
- name: compress
type: group
fields:
- name: bps
type: group
fields:
- name: in
type: long
description: |
Incoming compressed data in bits per second.
- name: out
type: long
description: |
Outgoing compressed data in bits per second.
- name: rate_limit
type: long
description: |
Rate limit of compressed data in bits per second.
- name: connection
type: group
fields:
- name: rate
type: group
fields:
- name: value
type: long
description: |
Number of connections in the last second.
- name: limit
type: long
description: |
Rate limit of connections.
- name: max
type: long
description: |
Maximum rate of connections.
- name: current
type: long
description: |
Current connections.
- name: total
type: long
description: |
Total connections.
- name: ssl.current
type: long
description: |
Current SSL connections.
- name: ssl.total
type: long
description: |
Total SSL connections.
- name: ssl.max
type: long
description: |
Maximum SSL connections.
- name: max
type: long
description: |
Maximum connections.
- name: hard_max
type: long
- name: requests.total
type: long
description: |
Total number of requests.
- name: sockets.max
type: long
description: |
Maximum number of sockets.
- name: requests.max
type: long
description: |
Maximum number of requests.
- name: pipes
type: group
fields:
- name: used
type: integer
description: |
Number of used pipes during kernel-based tcp splicing.
- name: free
type: integer
description: |
Number of free pipes.
- name: max
type: integer
description: |
Maximum number of used pipes.
- name: session
type: group
fields:
- name: rate.value
type: integer
description: |
Rate of session per seconds.
- name: rate.limit
type: integer
description: |
Rate limit of sessions.
- name: rate.max
type: integer
description: |
Maximum rate of sessions.
- name: ssl
type: group
fields:
- name: rate.value
type: integer
description: |
Rate of SSL requests.
- name: rate.limit
type: integer
description: |
Rate limit of SSL requests.
- name: rate.max
type: integer
description: |
Maximum rate of SSL requests.
- name: frontend
type: group
fields:
- name: key_rate.value
type: integer
description: |
Key rate of SSL frontend.
- name: key_rate.max
type: integer
description: |
Maximum key rate of SSL frontend.
- name: session_reuse.pct
type: scaled_float
format: percent
description: |
Rate of reuse of SSL frontend sessions.
- name: backend
type: group
fields:
- name: key_rate.value
type: integer
description: |
Key rate of SSL backend sessions.
- name: key_rate.max
type: integer
description: |
Maximum key rate of SSL backend sessions.
- name: cached_lookups
type: long
description: |
Number of SSL cache lookups.
- name: cache_misses
type: long
description: |
Number of SSL cache misses.
- name: zlib_mem_usage
type: group
fields:
- name: value
type: integer
description: |
Memory usage of zlib.
- name: max
type: integer
description: |
Maximum memory usage of zlib.
- name: idle.pct
type: scaled_float
format: percent
description: |
Percentage of idle time.
15 changes: 15 additions & 0 deletions packages/haproxy/dataset/info/manifest.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
type: metrics
title: HAProxy info metrics
release: experimental
streams:
- input: haproxy/metrics
vars:
- name: period
type: text
title: Period
multi: false
required: true
show_user: true
default: 10s
title: HAProxy info metrics
description: Collect HAProxy info metrics
Loading