Website Performance Monitoring for 1C-Bitrix
The site went down at 3 AM. In the morning, the manager opens the page — white screen. Calls the developer. They connect, find a filled disk or crashed MySQL. Customers saw error 500 at midnight. Losses — orders, reputation, search rankings. Performance monitoring solves the problem: you learn about the failure before your customers.
What Exactly to Monitor
Website performance is not a single metric, but a set of metrics. Each catches its own type of failure.
HTTP-status of main and key pages. External checker (UptimeRobot, Hetrixtools, Zabbix with external node) every 60 seconds makes GET-request and checks response code. 200 — normal, 500/502/503 — alert. Important to check not only homepage, but catalog page, cart, user account — they use different modules and can fail independently.
Response time (TTFB). Site responds, but in 8 seconds — this is also a failure. Threshold: TTFB > 2 seconds — warning, > 5 seconds — critical alert. TTFB increase often precedes complete failure: database overloaded, but still responds.
Content verification. HTTP 200 doesn't guarantee the page works. Bitrix can return 200 with PHP error text or empty template. Checker looks for keyword on page (company name, menu fragment). No word — alert.
SSL certificate. Certificate expiration — common cause of unavailability. Monitoring warns 14 and 7 days before expiration.
Domain. Similarly — warning about domain registration expiration.
Built-in Bitrix Tools
Module "System Check" (bitrix:system.checker) — one-time diagnostics, not monitoring. Checks PHP versions, MySQL, settings, file permissions. Useful after update, but not for continuous observation.
Performance Monitor (perfmon) — records SQL queries, page execution time, load on hits. Enabled in Settings → Performance → Monitor. Useful for analyzing slowdowns, but doesn't send alerts.
Performance Panel — score-based evaluation (up to 100). Shows bottlenecks: slow disk, cache shortage, suboptimal MySQL settings. Reference point, but not replacement for external monitoring.
External Monitoring: Setup
Minimum configuration:
| Service | What checks | Interval | Alert |
|---|---|---|---|
| UptimeRobot (Free) | HTTP-status, TTFB | 5 min | Email, Telegram |
| Hetrixtools (Free) | HTTP + keyword | 1 min | Email, Slack |
| Zabbix (Self-hosted) | Everything | 30 sec | Any channel |
UptimeRobot — minimal variant. Free plan: 50 monitors, 5-minute interval. Add homepage, catalog, cart URLs. For each — check HTTP 200 + keyword. Notifications — email and Telegram bot.
Hetrixtools — extended variant. Free plan: 15 monitors, 1-minute interval, check from multiple locations. Shows TTFB by geography.
Zabbix — for projects with own infrastructure. Allows monitoring not only HTTP, but server metrics (CPU, RAM, disk) linked with site availability. Setup is complex, but capabilities are unmatched.
Bitrix Specifics
Agents. Bitrix agent system (b_agent) executes background tasks: 1C exchange, mailings, cleanup. If agents stopped (cron_events fell or no hits for agents) — site works, but business processes stopped. Monitoring: check NEXT_EXEC date in b_agent — if max delay > 1 hour, agents aren't executing.
1C Exchange. File /bitrix/admin/1c_exchange.php processes exchange. If exchange hung — catalog not updating, but site works. Monitor by modification date of exchange file (/upload/1c_exchange/) or by timestamp of last log entry.
License. Bitrix with expired license works, but doesn't update and doesn't get security patches. Monitor license expiration date — via \Bitrix\Main\Config\Option::get('main', '~PARAM_MAX_SITES') or license file check.
Notification Channels
Email — basic channel, but messages get lost. Telegram — faster and more visible. Setup: create bot via @BotFather, get token, add bot to group or channel. In monitoring service specify Telegram API webhook URL. For UptimeRobot — built-in integration in Alert Contacts section.
Escalation: if alert not confirmed in 15 minutes — phone call. PagerDuty and Opsgenie services solve this, but for small projects repeated Telegram notifications with increasing frequency are enough.







