Bagisto gives you a fully self-hosted WooCommerce/Shopify alternative with no per-transaction fees and complete data ownership. But self-hosting means you own the uptime — and e-commerce downtime is never quiet. A broken checkout flow, an expired SSL certificate, or a crashed API silently kills sales without triggering any alarm on your homepage. Vigilmon keeps watch across your Bagisto storefront, admin panel, REST API, and checkout pipeline so you catch revenue-impacting failures before your customers do.
What You'll Set Up
- Bagisto storefront availability monitor
- Admin panel independent health check
- REST API endpoint monitor (database connectivity signal)
- SSL certificate expiry alerts (mandatory for payment-handling stores)
- Heartbeat monitor for the checkout pipeline
Prerequisites
- Bagisto installed and running on port 80/443 (nginx or Apache)
- A free Vigilmon account
Step 1: Monitor the Bagisto Storefront
The storefront is the customer-facing face of your store. A 200 response with the expected page content confirms that Laravel, nginx/Apache, PHP-FPM, and MySQL are all operational.
- Log in to vigilmon.online and click Add Monitor.
- Set Type to
HTTP / HTTPS. - Enter your storefront URL:
https://yourstore.com. - Set Check interval to
1 minute. - Set Expected HTTP status to
200. - Under Keyword check, enter
Bagistoor your store name (as it appears in the page<title>). - Click Save.
The keyword check ensures you're confirming a real Laravel-rendered page and not a cached error page from nginx.
Step 2: Monitor the Bagisto Admin Panel Independently
Storefront problems — product page errors, cart failures, theme issues — can occur while the admin panel is fully healthy. Monitoring both independently gives you a precise failure signal.
- Click Add Monitor again.
- Set Type to
HTTP / HTTPS. - Enter:
https://yourstore.com/admin. - Set Check interval to
1 minute. - Set Expected HTTP status to
200. - Under Keyword check, enter
AdminorBagisto. - Click Save.
A 500 error on /admin while the storefront returns 200 typically points to a PHP configuration issue, a failed queue worker, or a broken admin-specific route — all worth catching independently.
Step 3: Monitor the Bagisto REST API
The Bagisto REST API (/api/config) returns the store configuration JSON — locale, currencies, supported payment methods — without requiring authentication. This endpoint exercises the database connection and the Laravel API routing stack. If the database is down, this endpoint returns 500.
- Click Add Monitor.
- Set Type to
HTTP / HTTPS. - Enter:
https://yourstore.com/api/config. - Set Expected HTTP status to
200. - Under Keyword check, enter
localeorcurrency(JSON field names guaranteed in the response). - Click Save.
Monitoring /api/config independently catches database connectivity failures before they surface as checkout errors, because cart creation and order placement both depend on this API layer.
Step 4: SSL Certificate Alerts
Bagisto stores handle customer payment information. An expired SSL certificate triggers browser security warnings, immediately collapses conversion rates, and may violate PCI DSS requirements for any store processing card payments. A 30-day lead time gives you time to investigate renewal failures and manually renew if auto-renewal fails silently.
- Open the storefront monitor created in Step 1.
- Scroll to the SSL certificate section.
- Enable Monitor SSL certificate.
- Set Alert when certificate expires in less than
30 days. - Click Save.
If your Bagisto deployment uses Let's Encrypt via Certbot, verify that the renewal cron job is active:
sudo certbot renew --dry-run
A successful dry run confirms the auto-renewal path is working. If it fails, fix the issue before the certificate expires — Vigilmon's 30-day alert gives you that runway.
Step 5: Heartbeat Monitoring for the Checkout Pipeline
Your homepage can return HTTP 200 while the checkout pipeline is completely broken. A missing Redis connection silently breaks cart session management. A failed payment gateway configuration prevents order completion. Neither failure triggers an HTTP error on the storefront root.
Use a heartbeat monitor to run an hourly automated checkout flow test:
- In Vigilmon, click Add Monitor → Cron Heartbeat.
- Set Expected ping interval to
60 minutes. - Copy the heartbeat URL:
https://vigilmon.online/heartbeat/YOUR_TOKEN.
Now write a test script that exercises the checkout pipeline and pings Vigilmon on success:
#!/bin/bash
set -e
STORE_URL="https://yourstore.com"
HEARTBEAT_URL="https://vigilmon.online/heartbeat/YOUR_TOKEN"
TEST_PRODUCT_ID=1 # A real product ID in your catalog
# Step 1: Confirm the product listing page loads
curl -sf "$STORE_URL/products" -o /dev/null
# Step 2: Confirm a product detail page loads
curl -sf "$STORE_URL/products/$TEST_PRODUCT_ID" -o /dev/null
# Step 3: Add a product to cart (tests cart, session, Redis)
CART_RESPONSE=$(curl -sf -X POST \
"$STORE_URL/api/checkout/cart/add/$TEST_PRODUCT_ID" \
-H "Content-Type: application/json" \
-d '{"quantity": 1}')
CART_COUNT=$(echo "$CART_RESPONSE" | python3 -c "import sys,json; d=json.load(sys.stdin); print(d.get('data',{}).get('items_count', 0))")
if [ "$CART_COUNT" -gt 0 ]; then
curl -sf "$HEARTBEAT_URL"
fi
Schedule this script with cron to run every hour:
0 * * * * /path/to/checkout-test.sh >> /var/log/bagisto-heartbeat.log 2>&1
If the checkout pipeline breaks — Redis down, database connection lost, payment gateway misconfigured — the script fails and never pings Vigilmon. Vigilmon alerts you after the interval passes without a ping.
Step 6: Configure Alert Channels
- Go to Alert Channels in Vigilmon and add email, Slack, or a webhook for your on-call channel.
- For the storefront and API monitors, set Consecutive failures before alert to
2— a single probe timeout during a deploy restart should not page you. - For the SSL certificate monitor, set Alert immediately (a single detection of near-expiry is actionable).
Summary
| Monitor | Target | What It Catches |
|---|---|---|
| Storefront | https://yourstore.com | Laravel/PHP crash, nginx down, DB failure |
| Admin panel | https://yourstore.com/admin | Admin routing failure, PHP error |
| REST API | https://yourstore.com/api/config | Database connectivity, API layer failure |
| SSL certificate | Storefront domain | Let's Encrypt renewal failure |
| Checkout heartbeat | Hourly cron → Vigilmon | Broken cart, Redis failure, order pipeline down |
Bagisto's self-hosted advantage — no transaction fees, full data ownership — comes with full monitoring responsibility. With Vigilmon watching your storefront, admin panel, REST API, SSL certificate, and checkout pipeline, you get observability coverage that matches what managed e-commerce platforms bundle automatically.