Monitoring Supervisor

Configure the Server Density agent to monitor your Supervisor instance to:

• Collect important metrics about your supervisord processes
• Identify overall server slowdowns caused by the instance

Monitored metrics

  • Processes Down Count
  • Processes Unknown Count
  • Processes Up Count

Supervisord configuration

In order to be able to monitor metrics you may need to add extra configuration in your supervisord config.

There are two ways to get started with the supervisord check.

You can configure inet_http_server in /etc/supervisord.conf. Below is an example inet_http_server configuration:

[inet_http_server] 
port:localhost:9001 
username:user optional 
password:pass optional

Or, you can use supervisorctl socket to communicate with supervisor. If supervisor is running as root, make sure chmod property is set to a permission accessible to non-root users. See the example below:

[supervisorctl] 
serverurl=unix:///var/run//supervisor.sock 

[unix_http_server] 
file=/var/run/supervisor.sock 
chmod=777

After you have completed this you then need to reload supervisor and specify the inet or unix socket server information in your supervisord.yaml file as described below

Installing the Supervisord plugin package

Install the Supervisord plugin on Debian/Ubuntu:

sudo apt-get install sd-agent-supervisord

Install the Supervisord plugin on RHEL/CentOS:

sudo yum install sd-agent-supervisord

Read more about agent plugins.

Configuring the agent to monitor Supervisor

1. Configure /etc/sd-agent/conf.d/supervisord.yaml

init_config:

instances:
# - name: server0 # Required. An arbitrary name to identify the supervisord server
  • If you need to specify a custom hostname, port, user/password or other fine tuned config, you should configure the rest of the config file as necessary.

2. Restart the agent

sudo /etc/init.d/sd-agent restart

Verifying the configuration
Execute info to verify the configuration with the following:

sudo /etc/init.d/sd-agent info 

If the agent has been configured correctly you’ll see an output such as:

supervisord
-----
  - instance #0 [OK]
  - Collected 5 metrics & 0 events

You can also view the metrics returned with the following command:

sudo -u sd-agent /usr/share/python/sd-agent/agent.py check supervisord

Configuring graphs

Click the name of your server from the Devices list in your Server Density account then go to the Metrics tab. Click the + Graph button on the right then choose the Supervisor metrics to display the graphs. The metrics will also be available to select when building dashboard graphs.

Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request

Comments

Monday  —  Friday.

10am  —  6pm UK.

Dedicated Support.