Chkservd is a driver of Tailwatchd, which is the service in cPanel that checks to make sure that services are running and restarts them if necessary. It’s also responsible for the ‘Service Manager’ section in cPanel, which is an interface where added services can be easily checked on and off.
Service files are in /etc/chkserv.d/
To add a new service, create a line in ”’/etc/chkserv.d/chkservd.conf’” in the same format as the others:
1 means the service should be enabled, 0 means it’s off.
In ”’/etc/chkserv.d”’ each service has its own file. Create a file called as the name of the service you are monitoring. The contents of the file are in the format of:
#SERVICE = PORT, SEND, RESPONSE, RE-START COMMAND
There are two ways that cPanel checks services with chkservd:
– Connection-based monitoring: By default, cPanel will try to connect to the service’s specified port, issue a command, and if a response is received within 10 seconds it will consider the service to be online. For instance, FTP:
– Process-based monitoring: cPanel will check for a specific process to determine whether it is online. For instance, named:
If you have more than one restart command, you can separate them with semicolons in order of preference that they should be run. Output of these commands will be logged to the chkservd.log
After you’ve created the service’s configuration file, restart chkservd:
You should then see the service listed in WebHost Manager in the ‘service manager section’
Chkservd logs are in /var/log/chkservd.log. Checks are done every 8 minutes (though this is configurable in WHM -> Tweak Settings), and every online service gets a +, offline services get a -. If the service is determined to be offline, the restart command(s) specified in that service’s chkservd configuration file is issued and the output is logged.