Monitoring HAProxy

Configuration

Instana will automatically utilize the "stats socket" configured in HAProxy to read metrics from. Please enable it as described in the HAProxy documentation: https://cbonte.github.io/haproxy-dconv/1.7/configuration.html#3.1-stats%20socket

Should you be running HAProxy in multi process mode, you need to configure a "stats socket" for each process. If this is not done, the agent will log this message explaining how to do that:

Haproxy is detected to be in multi-process mode, but no process attribute is detected in 'stats socket'
configuration.  To be able to properly monitor haproxy in multi-process mode, stats socket binding
should be defined per socket using the 'process' attribute.
E.g. 'stats socket /run/haproxy/admin1.sock mode 660 level admin process 1'

Note: The number of services (backends + frontends) being monnitored is limited to 300.

Metrics collection

Configuration data

  • Version
  • Name
  • Start Time
  • Memory Limit
  • Ulimit (Max File Descriptors)
  • Sockets Limit
  • Connections Limit
  • Pipes Limit
  • Session Rate Limit
  • Frontends and Backends (up to 300)

Performance metrics

Frontend

  • Requests
  • Request Errors
  • Denied Requests
  • Sessions and Session Usage (%)
  • Client and Server Errors
  • Traffic (Sent/Received)

Backends

  • Average Response Time
  • Average Queue Time
  • Queue Size
  • Connection Errors
  • Response Errors
  • Connection Retries
  • Denied Responses
  • Re-Dispatched Requests

Health Signatures

For each sensor, there is a curated knowledgebase of health signatures that are evaluated continuously against the incoming metrics and are used to raise issues or incidents depending on user impact.

Built-in events trigger issues or incidents based on failing health signatures on entities, and custom events trigger issues or incidents based on the thresholds of an individual metric of any given entity.

For information about built-events for the HAProxy sensor, see the Built-in events reference.