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
- Site24X7 supervisord plugin uses Python's "supervisor" package to collect metrics
sudo pip install supervisororsudo 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")
- 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