Monit: Monitor CouchPotato process status

Monit can monitor CouchPotato and notify you if it stops running for some reason. Setting up a completely automated home server is awesome. But what if one of your apps fails and you did not even know? You may be waiting for your movie or show to be downloaded but it never happens because the app has stopped functioning. May be a bad automatic update broke it (*cough* SickRage *cough*) but you didn't know. Monit is an automatic monitoring, maintenance, and repair utility for Unix systems. If your CouchPotato app fails, Monit can send you an email alert. It can even try to restart CouchPotato. In this Monit tutorial, I will describe how to monitor CouchPotato with Monit system monitoring app. I am assuming that you have already installed and configured Monit following my previous guide.

Monitor CouchPotato

On my recently built energy-efficient home server, I test and run several apps including CouchPotato. I use Monit to monitor several services listed below:

Monitor your home server with Monit:

In this guide, I will show you how to monitor CouchPotato process status so that the automatic movie download system you setup keeps running as it should. Just another layer of automation for your home server.

Before enabling couch potato monitoring, it is required that you have a working Monit instance with a proper /etc/monit/monitrc file. Monit configurations for various services are loaded from /etc/monit/conf.d folder.

1. Find CouchPotato Port

First, you will need to find what port your Couch Potato setup is listening on. If you find this guide interesting, you probably already know your port. In case, you do not know your port number there are couple of ways to find it. If you installed CouchPotato using AtoMiC ToolKit then you can use the "Access Details" feature from within AtoMiC ToolKit CouchPotato submenu.

Couchpotato Access Details - Atomic Toolkit
Couchpotato Access Details - Atomic Toolkit

Alternatively, you can open CouchPotato settings file and look for the port I f you followed our CouchPotato installation guide then you can open settings file using the following command:

nano ~/.couchpotato/settings.conf

Then, look for the port number. Find the line similar to:

port = 5050

In this guide, we are going to assume you are using port 5050, which is the CouchPotato default port.

Setup Monit CouchPotato Monitoring Script

To monitor CouchPotato with Monit, create a Monit configuration file using the following command:

sudo /etc/monit/conf.d/couchpotato

Copy the following contents to it, save, and exit (press Ctrl X, press Y, and press ENTER).

check process CouchPotato matching "couchpotato"
start program = "/etc/init.d/couchpotato start"
stop program  = "/etc/init.d/couchpotato stop"
if failed host 127.0.0.1 port 5050 type TCP for 2 cycles then restart
if 2 restarts within 3 cycles then unmonitor

If you are using CouchPotato behind SSL (HTTPS access) then use TCPSSL instead of TCP in the above code block. This code will make Monit send you an email alert when CouchPotato is not running. The example picture below shows 2 emails from monit: one when CouchPotato process was found to be not running and another after Monit successfully restarted CouchPotato.

Monit Alerts - Process Not Found And Auto Restart
Monit Alerts - Process Not Found And Auto Restart

A cycle is 1 monitoring period as set in /etc/monit/monitrc. If 2 restarts occur within 3 monitoring cycles, Monit will stop monitoring CouchPotato process status instead of bombarding you with email alerts. You can customize the above rules as you please.

Test and Reload Monit

Once you make any changes you have to test Monit configuration:

sudo monit -t

You should see the following message: Control File Syntax OK. Then, check to see if Monit is already running using the following command:

sudo /etc/init.d/monit status

If Monit is running, reload Monit configurations using the following command:

sudo /etc/init.d/monit reload

If Monit is not running, then start it using sudo monit command instead. The whole sequence of commands for testing and reloading Monit is shown in the picture below.

Monit Test And Reload
Monit Test And Reload

Now, fire up your web browser and visit one of the following URLs depending on how your Monit is configured (be sure to use the correct port number):

  • http://localhost:2812
  • http://IPADDRESS:2812 (local network IP)
  • http://domain.com:2812 (if you have domain name pointing to your server)

You should see CouchPotato process status as shown in the picture below.

Monitor Couchpotato Process Status With Monit
Monitor Couchpotato Process Status With Monit

That is it for CouchPotato monitoring with Monit. As you can see Monit allows for automatic server monitoring, which can be a big help for system administrators. Monit Wiki page has several examples. More home server specific Monit examples to follow, so keep checking back.

Be the 1 in 200,000. Help us sustain what we do.
113 / 150 by Dec 31, 2024
Join Us (starting from just $1.67/month)

Anand

Anand is a self-learned computer enthusiast, hopeless tinkerer (if it ain't broke, fix it), a part-time blogger, and a Scientist during the day. He has been blogging since 2010 on Linux, Ubuntu, Home/Media/File Servers, Smart Home Automation, and related HOW-TOs.

Try Deployarr