tutorial

Monitoring Dolibarr ERP with Vigilmon

Dolibarr is one of the most popular open-source ERP and CRM platforms — but self-hosting means you own the uptime. Here's how to monitor Dolibarr's web UI, API endpoint, SSL certificates, and cron job heartbeats with Vigilmon.

Dolibarr is a modular open-source ERP and CRM platform used by thousands of businesses across Europe and French-speaking markets — covering invoicing, stock management, projects, HR, and point-of-sale in a single PHP/MySQL application. Self-hosting Dolibarr gives you full data ownership, but it also means you're responsible for knowing when it goes down. Vigilmon provides the uptime monitoring layer Dolibarr doesn't include out of the box: HTTP health checks, API endpoint monitoring, SSL certificate alerts, and heartbeat monitoring for scheduled cron jobs.

What You'll Set Up

  • HTTP uptime monitor for the Dolibarr web UI login page
  • API version endpoint monitor (/api/index.php/version)
  • SSL certificate expiry alerts for HTTPS Dolibarr deployments
  • Cron heartbeat for Dolibarr's automated background tasks (dolibarr_cron)

Prerequisites

  • Dolibarr installed and accessible over HTTP or HTTPS
  • A free Vigilmon account

Step 1: Monitor the Dolibarr Web UI

The Dolibarr login page is the primary health indicator for the whole application. If Apache/nginx, PHP-FPM, or the database is down, this page will return an error or time out.

  1. Log in to vigilmon.online and click Add Monitor.
  2. Set Type to HTTP / HTTPS.
  3. Enter your Dolibarr login URL: https://erp.yourdomain.com/index.php.
  4. Set Check interval to 1 minute.
  5. Set Expected HTTP status to 200.
  6. Under Keyword check, enter Dolibarr to confirm the correct page is loading (the page title contains this string).
  7. Click Save.

The keyword check catches cases where the web server responds with 200 but returns an error page instead of the Dolibarr UI — for example, a misconfigured PHP environment returning a blank or generic error response.


Step 2: Monitor the Dolibarr REST API Endpoint

Dolibarr ships with a built-in REST API at /api/index.php. The /version endpoint returns version information with no authentication required, making it a reliable lightweight health probe:

GET https://erp.yourdomain.com/api/index.php/version

Expected response:

{
  "success": {
    "code": 200,
    "message": "Data successfully retrieved"
  },
  "version": "18.0.2",
  "dolibarr_version": "18.0.2"
}

Add a Vigilmon monitor for this endpoint:

  1. Click Add MonitorHTTP / HTTPS.
  2. Enter the URL: https://erp.yourdomain.com/api/index.php/version.
  3. Set Expected HTTP status to 200.
  4. Under Keyword check, enter dolibarr_version to verify the JSON response body.
  5. Set Check interval to 5 minutes.
  6. Click Save.

This monitor confirms both that the API module is enabled and that PHP can process requests — it will catch PHP-FPM failures even if a cached static page makes the UI appear available.

First, make sure the REST API module is enabled in Dolibarr: go to Home → Setup → Modules/Applications and enable API REST (developer).


Step 3: Check Database Connectivity via HTTP Response

Dolibarr connects to MySQL/MariaDB on every page load. A database failure typically surfaces as a PHP error page or a redirect to a maintenance page. The keyword check from Step 1 already catches this — if MySQL goes down, the login page will not render the Dolibarr keyword.

For deeper database monitoring, enable Dolibarr's system status page:

GET https://erp.yourdomain.com/public/notice.php

This page (included in Dolibarr) returns basic system status and is accessible without authentication. Add an additional monitor:

  1. Click Add MonitorHTTP / HTTPS.
  2. Enter: https://erp.yourdomain.com/public/notice.php.
  3. Set Expected HTTP status to 200.
  4. Click Save.

Step 4: SSL Certificate Alerts

Dolibarr handles sensitive business data — invoices, contracts, employee records. An expired SSL certificate will lock out users (browsers block HTTPS sites with expired certs) and may expose data to interception if users override the warning.

Add SSL monitoring to each Vigilmon HTTP monitor:

  1. Open the monitor for https://erp.yourdomain.com/index.php.
  2. Enable Monitor SSL certificate under the SSL section.
  3. Set Alert when certificate expires in less than 21 days.
  4. Click Save.

A 21-day window gives you three renewal cycles with Let's Encrypt (which renews at 30 days remaining), so an alert means auto-renewal has already failed once.

If you use a multi-domain setup or have Dolibarr on a subdomain alongside other apps, check the certificate for each hostname separately — a wildcard cert failure can affect all subdomains at once.


Step 5: Heartbeat Monitoring for Dolibarr Cron Jobs

Dolibarr relies on scheduled cron jobs for business-critical background tasks: automated payment reminders, stock level alerts, recurring invoice generation, and workflow triggers. These run via dolibarr_cron — a web-based cron scheduler that requires a system cron entry to call it periodically.

The typical cron entry looks like this:

# /etc/cron.d/dolibarr
*/5 * * * * www-data curl -s "https://erp.yourdomain.com/cron/run.php?module=cron&action=run&token=YOUR_TOKEN" > /dev/null

If this cron entry silently fails (PHP error, network timeout, token change after upgrade), your scheduled business automations stop without any alert. Use Vigilmon's heartbeat to catch this:

  1. In Vigilmon, click Add MonitorCron Heartbeat.
  2. Set the expected ping interval to 10 minutes (or match your cron frequency).
  3. Copy the heartbeat URL (e.g. https://vigilmon.online/heartbeat/abc123).
  4. Update your cron entry to ping Vigilmon after a successful run:
*/5 * * * * www-data curl -s "https://erp.yourdomain.com/cron/run.php?module=cron&action=run&token=YOUR_TOKEN" > /dev/null && curl -s https://vigilmon.online/heartbeat/abc123

Now, if the cron job fails to complete — whether from a PHP error, a database timeout, or a misconfigured token — the ping to Vigilmon never happens, and you get an alert after the grace period.


Step 6: Configure Alert Channels

  1. Go to Alert Channels in Vigilmon and add your preferred channel: email, Slack, Microsoft Teams, or a webhook.
  2. On the web UI monitor, set Consecutive failures before alert to 2 — this avoids false alarms from single slow database queries that resolve quickly.
  3. On the API endpoint monitor, set it to 1 — API failures that persist for even one check cycle indicate a real problem worth immediate attention.
  4. On the heartbeat monitor, the alert triggers automatically when the expected ping doesn't arrive within the grace period.

Summary

| Monitor | Target | What It Catches | |---|---|---| | Web UI | /index.php with keyword check | PHP/Apache/database failure | | REST API | /api/index.php/version | API module down, PHP-FPM failure | | System status | /public/notice.php | Application-level errors | | SSL certificate | Dolibarr hostname | Certificate expiry, renewal failure | | Cron heartbeat | Heartbeat URL | Failed background tasks, silent cron failures |

Dolibarr's value is in the business processes it automates — invoicing, stock alerts, reminders. Vigilmon ensures those automations keep running and that the platform stays reachable, so your team and clients can always access the ERP data they depend on.

Monitor your app with Vigilmon

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

Start free →