Ilya Mashchenko 0fb458d1b9 remove metrics.csv files (#15593) 1 год назад
..
Makefile.inc d802f83e4a Fix make dist (#4401) 6 лет назад
README.md 0ae02c9fb6 Change H1 of collector docs to separate from the website (#14715) 2 лет назад
haproxy.chart.py f1d133190b collectors/python.d: format modules code (#7832) 5 лет назад
haproxy.conf 5286dae8eb python.d.plugin update (#4936) 6 лет назад
metadata.yaml 71a6f2bb17 Fill in yaml files for some python collectors (#15541) 1 год назад

README.md

HAProxy collector

Monitors frontend and backend metrics such as bytes in, bytes out, sessions current, sessions in queue current. And health metrics such as backend servers status (server check should be used).

Plugin can obtain data from URL or Unix socket.

Requirement:

  • Socket must be readable and writable by the netdata user.
  • URL must have stats uri <path> present in the haproxy config, otherwise you will get HTTP 503 in the haproxy logs.

It produces:

  1. Frontend family charts

    • Kilobytes in/s
    • Kilobytes out/s
    • Sessions current
    • Sessions in queue current
  2. Backend family charts

    • Kilobytes in/s
    • Kilobytes out/s
    • Sessions current
    • Sessions in queue current
  3. Health chart

    • number of failed servers for every backend (in DOWN state)

Configuration

Edit the python.d/haproxy.conf configuration file using edit-config from the Netdata config directory, which is typically at /etc/netdata.

cd /etc/netdata   # Replace this path with your Netdata config directory, if different
sudo ./edit-config python.d/haproxy.conf

Sample:

via_url:
  user: 'username' # ONLY IF stats auth is used
  pass: 'password' # # ONLY IF stats auth is used
  url: 'http://ip.address:port/url;csv;norefresh'

OR

via_socket:
  socket: 'path/to/haproxy/sock'

If no configuration is given, module will fail to run.

Troubleshooting

To troubleshoot issues with the haproxy module, run the python.d.plugin with the debug option enabled. The output will give you the output of the data collection job or error messages on why the collector isn't working.

First, navigate to your plugins directory, usually they are located under /usr/libexec/netdata/plugins.d/. If that's not the case on your system, open netdata.conf and look for the setting plugins directory. Once you're in the plugin's directory, switch to the netdata user.

cd /usr/libexec/netdata/plugins.d/
sudo su -s /bin/bash netdata

Now you can manually run the haproxy module in debug mode:

./python.d.plugin haproxy debug trace