Skip to main content

Supervisord monitoring with Netdata

Supervisor is a client/server system that allows its users to monitor and control a number of processes on UNIX-like operating systems.

This module monitors one or more Supervisor instances, depending on your configuration.

It can collect metrics from both unix socket and internal http server

Used methods:

Metrics

All metrics have "supervisord." prefix.

MetricScopeDimensionsUnits
summary_processesglobalrunning, non-runningprocesses
processesprocess grouprunning, non-runningprocesses
process_state_codeprocess groupa dimension per processcode
process_exit_statusprocess groupa dimension per processexit status
process_uptimeprocess groupa dimension per processseconds
process_downtimeprocess groupa dimension per processseconds

Configuration

Edit the go.d/supervisord.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
sudo ./edit-config go.d/supervisord.conf

Endpoints can be both local or remote as long as they expose their metrics on the provided URL.

Here is an example with two endpoints:

jobs:
# via [unix_http_server]
- name: local
url: 'unix:///run/supervisor.sock'

# via [inet_http_server]
- name: local
url: 'http://127.0.0.1:9001/RPC2'

For all available options, see the supervisord collector's configuration file.

Troubleshooting

To troubleshoot issues with the supervisord collector, run the go.d.plugin with the debug option enabled. The output should give you clues as to why the collector isn't working.

  • Navigate to the plugins.d directory, usually at /usr/libexec/netdata/plugins.d/. If that's not the case on your system, open netdata.conf and look for the plugins setting under [directories].

    cd /usr/libexec/netdata/plugins.d/
  • Switch to the netdata user.

    sudo -u netdata -s
  • Run the go.d.plugin to debug the collector:

    ./go.d.plugin -d -m supervisord

Was this page helpful?

Contribute