Uptime Monitoring for E-commerce
Short answer. For an online store, monitor more than the homepage — watch the cart, checkout, payment callback, and inventory API документацию, because that's where money is lost. Use a 1-minute check interval, run checks from multiple regions, and send alerts to both Telegram and email at once. Every minute of downtime during a sale is lost orders and damaged trust.
Why store downtime costs more than you think
When a brochure site goes down, you lose a little traffic. When a store goes down, you lose direct revenue in real time. A shopper who can't complete checkout rarely comes back — they go to a competitor and forget you. Worse, the failure can be invisible to you: the homepage loads fine, but the payment page returns a 500 error and orders silently never arrive.
A green homepage doesn't mean the store works. Monitor the pages that handle money: cart, checkout, and the payment gateway callback.
What to actually monitor in e-commerce
A store is a chain of critical links. One broken link is enough to stop orders. Here is the minimum set:
| What to monitor | Check type | Why it's critical |
|---|---|---|
| Homepage | HTTP, expect 200 | First impression, SEO traffic |
| Catalog / category | HTTP, 200 + response time | A slow catalog means abandoned sessions |
| Cart | HTTP, 200 | No cart, no orders |
| Checkout page | HTTP, 200 | The narrowest point of the funnel |
| Payment callback / API | HTTP endpoint, JSON | Silent payment losses |
| SSL certificate | SSL monitoring | Expired cert = browser blocks the store |
| Inventory / ERP API | HTTP health check | Stock levels and reservations |
Which check interval to choose
The more a minute of downtime costs, the more often you should check. A content blog is fine at 5 minutes, but for a store with steady orders that's too slow: during a peak you can lose dozens of orders before you even learn about the problem.
- enterno.io free plan — checks every 5 minutes, up to 10 monitors. Good for getting started.
- Pro — every 1 minute. The recommended floor for an active store.
- Business — every 30 seconds. For large stores with sales events and high GMV.
Rule of thumb: your check interval should be no larger than the amount of revenue you're willing to lose in one downtime cycle.
Check a health endpoint, not just the homepage
The best "everything works" signal is a dedicated health endpoint that internally verifies the database, cache, and payment provider connectivity, then returns a simple JSON. That way monitoring catches real backend failures, not just the fact that nginx served a page.
Here's a lightweight PHP health endpoint that checks the DB and Redis:
<?php
// /health.php — return 200 only if everything is alive
header('Content-Type: application/json');
$ok = true; $checks = [];
try { $pdo->query('SELECT 1'); $checks['db'] = 'ok'; }
catch (Throwable $e) { $checks['db'] = 'fail'; $ok = false; }
try { $redis->ping(); $checks['redis'] = 'ok'; }
catch (Throwable $e) { $checks['redis'] = 'fail'; $ok = false; }
http_response_code($ok ? 200 : 503);
echo json_encode(['status' => $ok ? 'up' : 'down', 'checks' => $checks]);
Now a monitor on this URL expecting a 200 fails exactly when the database or cache goes down — not just when the page "sort of loads."
If you can't touch the code, you can probe the response manually from the terminal:
curl -s -o /dev/null -w "%{http_code} %{time_total}s\n" https://shop.example.com/health
Alerts: where and to whom
Monitoring without alerts is useless. enterno.io sends alerts via Telegram, Slack, email, webhook, PagerDuty, and Jira. A practical setup for a store:
- Telegram — instant, into the team's working chat. Seen in seconds.
- Email — a backup so nothing is missed when Telegram isn't open.
- Webhook / PagerDuty — for nighttime incidents with on-call escalation.
Set the incident threshold to 2–3 consecutive failed checks so a single network blip doesn't wake the whole team. More on tuning thresholds in our alerting best practices guide.
Multi-region checks and a status page
enterno.io checks your site from Russia, Europe, and the US. This matters: a store may be reachable from a Moscow datacenter yet unreachable for EU shoppers because of a CDN or routing issue. Multi-region monitoring catches these partial outages.
A public status page (you can host it on your own domain, e.g. status.shop.com) takes pressure off support during an incident: customers see for themselves that you're aware and fixing it.
FAQ
What uptime is normal for a store?
Aim for 99.9% or higher — about 43 minutes of downtime per month. Large stores target 99.95%+ during peaks. Track your target with an uptime SLA calculation.
Is monitoring just the homepage enough?
No. Orders are lost at checkout and payment, not on the homepage. The minimum is homepage + cart + checkout + a backend health endpoint.
What about false alerts?
Raise the incident threshold to 2–3 consecutive failures and use multi-region checks — a real outage is usually visible from several regions at once.
How do I monitor payments without making real purchases?
Check the availability of the payment callback/endpoint and its JSON response. For deeper checks, add a dedicated health route that Ping the provider's API in test mode.
See also: the full uptime monitoring guide and how to design health-check endpoints.