tutorial

PrestaShop Monitoring with Vigilmon

"Learn how to monitor your PrestaShop store's storefront, webservice API, and admin panel using Vigilmon — with SSL certificate alerts and heartbeat monitoring for PrestaShop cron jobs."

PrestaShop Monitoring with Vigilmon

PrestaShop powers over 300,000 active online stores globally, making it the world's most widely deployed open-source PHP e-commerce platform. Popular with SMBs and enterprises across Europe and Latin America as an alternative to Magento and Shopify, a PrestaShop store outage directly costs revenue — and for stores processing payments, a lapsed SSL certificate creates PCI compliance exposure.

This guide covers how to monitor PrestaShop with Vigilmon, including storefront availability, webservice API health, admin panel access, SSL certificate expiry, and heartbeat monitoring for PrestaShop's scheduled cron tasks.


What to Monitor in a PrestaShop Store

| Layer | URL Pattern | What Failure Means | |-------|-------------|-------------------| | Storefront homepage | https://yourstore.com/ | Customers can't browse or buy | | Webservice API | https://yourstore.com/api/ | API integrations and headless clients broken | | Admin back-office | https://yourstore.com/admin-panel/ | Merchant can't manage orders or inventory | | SSL certificate | HTTPS on your domain | PCI compliance risk; browsers show security warnings | | Cron heartbeat | PrestaShop scheduler | Email notifications, imports, and sitemap generation silently failing |


Prerequisites

  • A running PrestaShop installation (1.7.x or 8.x) accessible over HTTPS
  • A Vigilmon account
  • Your PrestaShop webservice API key (for API endpoint monitoring)
  • SSH or cPanel access to configure cron jobs (for heartbeat monitoring)

Monitoring the Storefront

Step 1: Homepage Availability Monitor

  1. Log in to VigilmonMonitors → New Monitor
  2. Type: HTTP
  3. Method: GET
  4. URL: https://yourstore.com/
  5. Interval: 1 minute
  6. Keyword check: your store name or a known product category title visible on the homepage (e.g., New Arrivals)

A keyword check catches PHP fatal errors and misconfigured themes that return a 200 status but render a blank or broken page.

Step 2: Category Page Monitor

Add a second monitor for a product category page to detect Smarty template or database errors that only surface on listing pages:

GET https://yourstore.com/2-catalog
  • Keyword check: a product name or category heading that should always appear

Monitoring the PrestaShop Webservice API

PrestaShop includes a built-in REST API (the "webservice") available at /api/. It requires an API key passed as the HTTP Basic Auth username (with a blank password, or as the Authorization: Basic header with the key base64-encoded).

Step 3: Webservice API Monitor

  1. Type: HTTP
  2. Method: GET
  3. URL: https://yourstore.com/api/
  4. Headers: Authorization: Basic <base64(YOUR_API_KEY:)>
  5. Expected status: 200
  6. Keyword check: <api> (the webservice returns XML with a root <api> element listing available resources)

To generate the Authorization header value, base64-encode your API key followed by a colon:

echo -n "YOUR_WEBSERVICE_KEY:" | base64
# Output: WUVST1VSX1dFQlNFUlZJQ0VfS0VZOg==

Use this output in the header:

Authorization: Basic WUVST1VSX1dFQlNFUlZJQ0VfS0VZOg==

If the webservice returns 401, verify that the API key has the correct permissions in PrestaShop Admin → Advanced Parameters → Webservice.


Monitoring the Admin Back-Office

Step 4: Admin Login Page Monitor

PrestaShop renames the admin directory for security (e.g., /admin-panel/, /admin123/). Monitor the login page to detect web server or PHP-FPM failures that prevent merchant access:

  1. Type: HTTP
  2. Method: GET
  3. URL: https://yourstore.com/admin-panel/ (replace with your actual admin directory)
  4. Expected status: 200
  5. Keyword check: PrestaShop or Log in to your account

The admin login page does not require authentication to reach, so this monitor requires no credentials.


SSL Certificate Monitoring

PrestaShop stores that accept payments must maintain valid SSL — a lapsed certificate triggers browser security warnings, destroys customer trust, and breaks PCI DSS compliance.

Step 5: SSL Certificate Alert

  1. In Vigilmon, open your storefront homepage monitor
  2. Navigate to SSL Certificate → Enable SSL monitoring
  3. Set Warn at: 30 days before expiry
  4. Set Critical at: 14 days before expiry

Vigilmon checks your certificate on every monitor cycle. You'll receive an alert well before expiry — giving you time to renew through your hosting provider or Let's Encrypt without customer-facing disruption.


Heartbeat Monitoring for PrestaShop Cron Jobs

PrestaShop relies on cron jobs for essential background operations:

  • Automated email notifications (order status updates, shipping alerts)
  • Product import/export (CSV/XML catalog sync with suppliers)
  • SEO sitemap generation (updating sitemap.xml for search engines)

If these cron jobs silently stop running — due to a PHP error, permission issue, or misconfigured cron daemon — you won't know until customers complain about missing emails or your sitemap goes stale.

Step 6: Create a Heartbeat Monitor

  1. In Vigilmon → Monitors → New Monitor
  2. Type: Heartbeat
  3. Name: PrestaShop Cron Jobs
  4. Interval: 30 minutes (or match your cron job frequency — use 25 minutes for a 30-minute cron to allow for execution time)
  5. Copy the generated heartbeat URL — it will look like:
    https://vigilmon.online/api/heartbeat/your-unique-token
    

Step 7: Ping the Heartbeat from Your Cron Job

Edit the cron entry that runs PrestaShop's scheduled tasks. In most shared hosting and VPS environments, this is a php call to cron.php or a specific module script:

# Example crontab entry — runs PrestaShop cron every 30 minutes
*/30 * * * * /usr/bin/php /var/www/prestashop/cron.php >> /var/log/prestashop-cron.log 2>&1 && curl -fsS --retry 3 https://vigilmon.online/api/heartbeat/your-unique-token > /dev/null

The && operator ensures the heartbeat ping only fires if the cron script exits successfully. If PrestaShop's cron fails, Vigilmon will not receive the ping and will alert after the configured interval passes.

For stores using PrestaShop modules with their own cron scripts (e.g., automated import modules), add the heartbeat ping after each module-specific cron call.


Alerting Configuration

Alert Routing

In Vigilmon → Alert Channels, configure:

  • Storefront down: alert immediately (after 1 failed check) — customers can't browse
  • API unavailable: alert after 2 failed checks — transient errors are possible
  • Admin panel down: alert after 2 failed checks — urgent but not customer-facing
  • Cron heartbeat missing: alert after the interval passes without a ping — silent failure

Sample Alert (Storefront Down)

🔴 DOWN: PrestaShop Storefront
Monitor: Storefront Homepage
URL: https://yourstore.com/
Down for: 3 minutes
→ Check PHP-FPM, MySQL connection, and server resources

Summary

| Monitor | URL | Check | Alert Threshold | |---------|-----|-------|-----------------| | Storefront homepage | / | Store keyword | 1 failed check | | Category page | /2-catalog | Product keyword | 2 failed checks | | Webservice API | /api/ | <api> in response | 2 failed checks | | Admin back-office | /admin-panel/ | PrestaShop keyword | 2 failed checks | | SSL certificate | HTTPS domain | Expiry threshold | 30 days warning | | Cron heartbeat | Vigilmon heartbeat URL | Ping every 30 min | Missed interval |

With these monitors in place, you'll detect PrestaShop outages, API failures, and silent cron job failures before they impact customers or your store's search rankings.


Further Reading

Monitor your app with Vigilmon

Free plan — 5 monitors, no credit card required. Up and running in 60 seconds.

Start free →