Supervisor is a popular tool for managing an application’s long-running processes. Supervisor starts processes, monitors, and restarts them when they die. With tens, or even hundreds, of supervisord instances running in production, each supervising groups of processes, it becomes difficult to track all processes or to identify problematic ones.
With our supervisord integration, all managed process counts, uptimes, and states are automatically sent to Datadog. And in Datadog you can set up dashboards and alerts for Supervisor across your infrastructure or narrow your monitoring to specific Supervisor servers, depending on your needs.
Processes controlled by Supervisor have a variety of basic states, such as stopped, starting, running, exited, fatal, and unknown.
You can set up a customizable check to alert you when certain processes enter a critical state by creating a new monitor for your account’s supervisord integration and clicking on the Integration Status tab.
In the monitor message, you can provide context, such as the affected host name, which is helpful for the person receiving the alert.
To learn more about the different monitor types, you can read our monitoring guide.
In addition to alerting on failing processes, you can build a screenboard that shows the overall status of your Supervisor deployment. The example below shows the number of processes by their status, as well as their uptime statistics. It also lists processes by their uptime, with the shortest uptimes first. This can help identify which processes are experiencing problems and need your attention.
Besides being able to monitor Supervisor managed processes, you can also monitor Supervisor’s availability with this integration. By monitoring Supervisor’s availability, you know that you can rely on Supervisor to restart your processes. While supervisord is a well-tested app, it is not infallible so when an issue presents itself in supervisord, you’ll be able to get alerted in Datadog.
Do you use Supervisor? Try a free 14-day trial of Datadog to see how much more easily you can monitor your app’s performance.