Monitor Supervisor Instances with Site24x7 Plugins

Get the status of the supervisor server and processes and identify any slowdown caused by the instance.

The server piece of supervisor is called as supervisord. Thus, supervisord monitoring is critical to monitor the application processes managed by supervisor, its count, and the overall state of the server to keep a track of all the processes or identify the problematic ones.

This document details how to configure the supervisor plugin and the monitoring metrics for providing in-depth visibility into the performance, availability, and usage stats of supervisord servers.

Supervisor server monitoring metrics:

Site24x7 plugins offer insightful visualizations and timely alerts to ensure continued functioning of your supervisor instance.

Various out-of-the-box metrics we support are:

State of supervisord server

Of the many functions performed by the supervisord server, it starts the processes initiated by the client, restarts failed or exited processes and responds to commands from clients. Thus it is critical to know the status of the supervisord server to manage an application’s long-running processes

Total number of processes

Supervisor starts processes as sub processes and groups them. Thus, knowing the total_process_count managed by the supervisord server gives an idea as to how the supervisord managed processes are performing.

Number of stopped processes

stopped_process_count gives the total number of processes that are halted by the supervisord server

Number of running processes

The running_process_count is the number of processes that are currently active in the supervisord server

Number of processes with unknown status

The unknown_status_process_count is the number of processes which are neither running or stopped

How it works?

  • Log-in to your Site24x7 account. Sign up here if you don't have one
  • Download and install the latest version of Site24x7 Linux agent
  • Install the supervisor plugin extension
  • The agent will execute the supervisord plugin and push the data to the Site24x7 server

Prerequisites:

  • Site24X7 supervisord plugin uses Python's "supervisor" package to collect metrics
    sudo pip install supervisor
    or
    sudo easy_install supervisor

Supervisor plugin installation:

  • Create a directory with the name "supervisord", under Site24x7 Linux agent plugin directory - /opt/site24x7/monagent/plugins/
    sudo mkdir supervisord
  • Download the supervisord.py from our GitHub repository and place it under the "supervisord" directory
    sudo wget https://raw.githubusercontent.com/site24x7/plugins/master/supervisord/supervisord.py
  • The default python path given in the plugin script is #!/usr/bin/python. If you wish to provide an alternate python path, replace the existing one preceded by the shebang character "#!".
  • Change the values of SERVER_URL, USER_NAME, PASSWORD and MONITOR_PROCESS_NAMES to match your configuration
  • The server agent will report stats on the performance of supervisord under the Plugins tab in the Site24x7 web client. In case the plugin is not listed in the Site24x7 web client, restart the agent.
    sudo /etc/init.d/site24x7monagent restart

Monitoring additional metrics:

  • To monitor additional metrics, edit the "supervisord.py" file and add the new metrics that need monitoring
  • Increment the plugin version value in the file to view the newly added metrics (For e.g., change the default plugin version from PLUGIN_VERSION = "1" to "PLUGIN_VERSION = "2")

Related plugins:

  • ActiveMQ plugin - Monitor performance metrics of your ActiveMQ instances
  • CouchDB plugin - Monitor performance metrics of your Apache CouchDB databases
  • Postgres plugin - Analyze performance of your Postgres servers
  • Nagios plugin - Execute thousands of Nagios plugins in Site24x7 without the need of running a Nagios server
  • Out-of-the-box plugins - Monitor your entire app stack with our extensive list of integrations
  • Create custom plugins - Create custom Linux and Windows plugins and monitor custom attributes