Documentation · Integrations

Plesk integration

A small script on your Plesk server reports its domains every ten minutes, and every site gets a monitor, added and removed as sites come and go.

PingWise keeps a monitor on every site hosted on a Plesk server. As with cPanel/WHM, the connection works by push: a small script on your server reports Plesk's list of domains to us, and we never hold a Plesk password or API key.

Why push and not an API key

A Plesk API key acts with the full rights of the administrator who created it, and Plesk has no read-only key. So we don't ask for one. Instead you run a script that only reads, on your server, and sends us its output.

Connecting

Integrations → Connect Plesk → Connect a Plesk server. The page shows the install commands once, with a key for that server; we keep only a hash of the key. Paste the commands as root on the Plesk server. They write three files:

  • /etc/pingwise-sync.conf, readable by root only, with our address and the key (as a curl config file, so the key never appears on a command line);
  • /usr/local/sbin/pingwise-sync, the script, shown in full on the page;
  • /etc/cron.d/pingwise-sync, which runs it every ten minutes.

The script reads Plesk's own list of domains with plesk db (one SELECT of the domain id, name, hosting type, status and the subscription and parent it belongs to) and posts it to PingWise. The first report waits on the integration page as Found on : N sites, with the monthly cost at each interval. Check every is the real interval of every site of the connection, existing and new: 5 minutes unless you pick another, from every hour down to every 10 seconds; a single monitor can still be changed on its own. Nothing is created until you press Import and keep in sync.

The script runs as root from cron every ten minutes. You review, install and remove it, and you keep the server's key secret; no Plesk API key is ever created for us.

Plesk Obsidian on Linux, with root. One server per connection: add another connection for each Plesk server.

What becomes a monitor

  • One HTTPS monitor for each domain with hosting: a subscription's main domain, its additional domains and its subdomains.
  • Forwarding-only domains, domains without hosting, wildcard subdomains and domain aliases are skipped.
  • A suspended or disabled subscription, or a disabled domain, has its sites' monitors paused, and they resume when it is turned on again.
  • A domain that disappears, or stops having hosting, is paused at once and removed 24 hours later, so a short-lived mistake does not throw away history.
  • Monitors are grouped by server, so an outage of one server produces one grouped alert, and the same safety brake as Enhance stops a report that would suddenly pause or remove most of a server's sites.

You can rename a synced monitor, add notes, choose where its alerts go, pause it or change its check; the sync never undoes your pause, and a URL you edit stays yours. In a customer account, your customer can't change, pause or delete the check itself: that stays with you.

Leaving sites out

Delete a synced monitor and the sync won't add its site again. The integration's page lists these under Not monitored, with Include again to bring one back.

You can also add patterns under Skip new sites matching, one per line: * matches anything, so api.* skips api.example.com and *.example.com skips example.com and its subdomains. Monitors that already exist and match are listed under the patterns, with a button to delete them. A pattern that is only * isn't accepted. To keep a site's history instead, pause its monitor.

What we receive

For each domain: its name, Plesk's numeric id, its hosting type, its status (active, suspended or disabled) and the ids of its subscription and parent domain, plus the server's hostname and the Plesk version. The script sends no usernames, customer names or contact details, no paths, addresses, mail or database details, and does not read domain aliases.

How often it syncs

The script always reports every ten minutes: it only reads a list. Under Sync on the integration's page you choose how often we apply the latest report: every 10 minutes (the default), every hour, every 6 hours, every 12 hours or once a day. Nothing needs reinstalling when you change it.

Slower means fewer changes, but a new site waits longer for its monitor, and a suspended or deleted site keeps being checked, and can alert, until the next sync. Sync now applies the latest report at once.

When the server goes quiet

A server that stops reporting changes nothing: its monitors keep running as they are. After about 35 minutes without a report, the integration page says No report from the server since …. New key and install commands replaces the key; the old one stops working at once.

Customer accounts

Resellers can tick one box for one customer account per Plesk subscription, named after its main domain and administered by you. See Monitoring for your customers.

Removing it

Disconnect the integration in PingWise: the server's key stops working at once, and the page then shows the command that removes the script. On the server run:

rm /etc/cron.d/pingwise-sync /usr/local/sbin/pingwise-sync /etc/pingwise-sync.conf

Removing the script stops the sync; the existing monitors stay until you delete them in PingWise.

If your sites are behind Cloudflare or another firewall, see Blocked probes; the same applies here.

Last change: 4 November 2026.