ProcWatch is a lightweight, process-aware server snapshot page designed to run inside WHM (cPanel). It shows, in a single screen:
This repository is intentionally simple:
Scope: WHM (root / reseller). Not intended for end-user cPanel accounts.
🚀 Live preview: https://afbora.github.io/procwatch/preview.html
This plugin targets cPanel-supported Linux distributions (Linux only).
It relies on standard Linux interfaces and tools:
/proc (CPU/memory/load basics)psdfawk, sed, grep, head, sort (standard userland)The installer copies files to:
register_appconfig):
adapters/whm/appconfig/procwatch.conf/var/cpanel/apps//usr/local/cpanel/whostmgr/docroot/cgi/procwatch/index.cgi/usr/local/cpanel/whostmgr/docroot/cgi/procwatch/metrics.cgi/usr/local/cpanel/whostmgr/docroot/templates/procwatch/index.tmpl/usr/local/cpanel/whostmgr/docroot/addon_plugins/procwatch.png/var/cache/procwatch/ (stores a short-lived JSON snapshot)No services are started. No cron jobs are created.
git clone https://github.com/afbora/procwatch.git \
&& cd procwatch \
&& sudo bash adapters/whm/install.sh
git clone https://github.com/afbora/procwatch.git
cd procwatch
# Review installer + what will be installed
sed -n '1,200p' adapters/whm/install.sh
sed -n '1,120p' adapters/whm/appconfig/procwatch.conf
# Install
sudo bash adapters/whm/install.sh
After install:
cd /root/procwatch
sudo bash adapters/whm/uninstall.sh
cd /root/procwatch
# Review uninstaller
sed -n '1,200p' adapters/whm/uninstall.sh
# Uninstall
sudo bash adapters/whm/uninstall.sh
The CGI script produces a JSON snapshot on demand. To keep it fast, it writes a cached snapshot to:
/var/cache/procwatch/metrics.jsonCache TTL is short (default 5 seconds). The UI refreshes every 5 seconds.
php-fpm: pool <pool_name>The dashboard shows:
MIT — see LICENSE.
ProcWatch is designed to be safe to run on busy servers:
ps / df collection is guarded by timeout (when available).nice (and ionice when available).ps is capped to a fixed number of rows to avoid pathological cases.If
timeoutis not available on your system, ProcWatch falls back to best-effort execution (still cached + low priority).
By default, ProcWatch is root-only in WHM.
This is enforced via the AppConfig setting:
acls=all
In WHM, all effectively means root only, because only the root user has all privileges.
Resellers and delegated WHM users will not see the plugin.
If you explicitly want resellers or delegated users to access ProcWatch, you may relax this setting:
acls=any
After changing the ACL, re-register the plugin:
/usr/local/cpanel/bin/register_appconfig adapters/whm/appconfig/procwatch.conf
⚠️ ProcWatch exposes server-wide process and resource information.
Making it visible to non-root users is not recommended.