Service Status in WHM Not Showing All Services

If Service Status in WHM is not showing all services, the most common reasons are disabled monitoring in Service Manager, inactive services, firewall restrictions, broken chkservd configuration, or corrupted system status files. In most cases, the issue can be resolved by verifying service monitoring settings, restarting cPanel services, rebuilding the service status cache, or repairing the chkservd configuration from SSH.

Now let’s explore this issue in detail and understand how to troubleshoot it properly.

What Is Service Status in WHM?

WebHost Manager (WHM) is the administrative dashboard used by hosting providers and server administrators to manage cPanel-based servers. Inside WHM, the Service Status page displays the current status of critical server services, such as:

  • Apache
  • MySQL/MariaDB
  • Exim
  • Dovecot
  • FTP
  • cPanel service
  • DNS (named)

This section depends on a monitoring daemon called chkservd, which constantly checks whether these services are running.

If some services are missing from the Service Status list, it usually indicates a configuration or monitoring issue rather than a server failure.

Common Reasons Why Service Status Is Not Showing All Services

1. Service Monitoring Disabled in Service Manager

Inside WHM:

WHM → Service Configuration → Service Manager

If monitoring is unchecked for certain services, they will not appear in Service Status.

Fix:

  1. Go to Service Manager.
  2. Enable “Monitor” for missing services.
  3. Click Save.
  4. Restart chkservd.

2. Service Is Not Installed or Running

Sometimes services don’t appear because they are not installed or are disabled.

For example:

  • FTP server disabled
  • DNS not installed
  • Mail service turned off

You can verify this via SSH:

Bash
systemctl status service_name

If the service is inactive, restart it:

Bash
systemctl restart service_name

3. chkservd Configuration Issues

WHM relies on chkservd (cPanel Service Manager daemon) to display services. If chkservd is corrupted or misconfigured, services may disappear.

Check its status:

Bash
systemctl status chkservd

Restart it:

Bash
/scripts/restartsrv_chkservd

If the issue persists, rebuild configuration:

Bash
/scripts/chkservd --auto

4. Firewall Blocking Monitoring

If you are using CSF or another firewall, internal port checks may fail.

For example:

  • Apache (port 80/443)
  • MySQL (port 3306)
  • SMTP (port 25)

Make sure these ports are allowed in:

  • CSF configuration
  • iptables
  • Cloud firewall rules (AWS, DigitalOcean, etc.)

5. Corrupted cPanel Cache or Update Issues

Sometimes, after updating cPanel, Service Status doesn’t refresh properly.

Run:

Bash
/scripts/upcp --force

Then restart:

Bash
/scripts/restartsrv_cpsrvd

This rebuilds system status files and refreshes service display.

6. Permission Issues or Disk Space Problems

If your server has:

  • Full disk
  • Incorrect permissions
  • Broken /var partition

Service Status may not load correctly.

Check disk usage:

Bash
df -h

If disk usage is 100%, free space is immediately.

Step-by-Step Troubleshooting Guide

Here’s a professional checklist you can follow:

Step 1: Check Service Manager

Enable monitoring for all required services.

Step 2: Restart chkservd

Bash
/scripts/restartsrv_chkservd

Step-3: Restart All Core Services

Bash
/scripts/restartsrv_httpd
/scripts/restartsrv_mysql
/scripts/restartsrv_exim
/scripts/restartsrv_dovecot

Step 4: Force cPanel Update

Bash
/scripts/upcp --force

Step 5: Check Error Logs

Look at:

Code
/var/log/chkservd.log
/usr/local/cpanel/logs/error_log

These logs often reveal why services aren’t being detected.

Advanced Fix (If Services Still Not Showing)

If the problem continues, try rebuilding the service monitoring configuration:

Bash
rm -f /var/run/chkservd.pid
/scripts/chkservd --auto
/scripts/restartsrv_chkservd

Then reboot the server:

Bash
reboot

When the Problem Is Related to Systemd

Modern Linux servers use systemd. Sometimes systemd services are not linked correctly.

Run:

Bash
systemctl daemon-reload

Then restart services again.

How This Impacts Hosting Businesses

If you are running a hosting company or managing multiple cPanel accounts, missing services in WHM can:

  • Hide server problems
  • Delay in issue detection
  • Cause downtime
  • Impact client trust

For companies offering shared hosting, VPS hosting, or reseller hosting, proper service monitoring is critical.

Preventing This Issue in the Future

Here are the best practices:

1. Keep cPanel Updated

Regular updates prevent compatibility problems.

2. Monitor via External Tools

Use external monitoring, such as:

  • Uptime monitoring
  • Port monitoring
  • Server health dashboards

3. Regular Log Audits

Review logs weekly for early warning signs.

4. Avoid Manual Service Modifications

Don’t disable services directly via SSH unless necessary.

Frequently Asked Questions

Why is Apache not showing in WHM Service Status?

Because:

  • Monitoring is disabled
  • Apache is not running
  • chkServd is not detecting it
  • Firewall blocking port 80

Why does Service Status show only some services?

Most commonly due to Service Manager configuration.

Does restarting the server fix it?

Sometimes yes, but only if it’s a temporary cache or daemon issue.

Final Thoughts

When Service Status in WebHost Manager is not showing all services, it’s rarely a serious system failure. In most cases, the issue is related to disabled monitoring, chkservd configuration problems, firewall restrictions, or outdated service status files.

By systematically checking Service Manager settings, restarting chkservd, verifying firewall rules, and rebuilding cPanel services, you can resolve the issue quickly and restore full service visibility.

If you manage multiple servers or provide hosting services in regions like Bangladesh or internationally, keeping WHM Service Status accurate ensures better uptime, improved client satisfaction, and smoother server management.