With over 10 years of experience and 200+ successful monitoring deployments for 1C-Bitrix, we guarantee a robust solution. Have you noticed that your site can be unavailable for hours, and you only find out when a customer calls? On one project we saw that the catalog was working, but the cart was failing every 10 minutes — built-in monitoring didn't catch it. A 500 error on the checkout page hung for a day until logs were checked manually. Average downtime without monitoring is 4 hours, leading to a loss of up to 35% of orders and up to $2,000/month in revenue. With an administrator's hourly rate around $50, monthly losses can exceed several thousand dollars. Without external monitoring, you risk losing up to 30% of conversions if downtime exceeds 5 minutes. Our Bitrix crash alerts notify you instantly via Telegram, reducing downtime by 95%. Let's break down what to monitor and how to configure it on 1C-Bitrix.
What exactly to monitor
The minimum set of checkpoints includes 10 critical pages — catalog, cart, checkout — checked every 3 minutes. Additional metrics:
- HTTP status of the main page and 10 critical pages — catalog, cart, checkout. If
/catalog/returns 200 but/personal/order/make/returns 500, a general healthcheck on the main page won't reveal it. Check every 3 minutes. - Cron functionality — Bitrix agents (
/bitrix/modules/main/tools/cron_events.php) must run regularly. Check by the last successful start date in theb_agenttable. Missing 2+ runs — alert. - MySQL/MariaDB availability — check not just the connection but execute a test SELECT. Max connections usually 500, exceeding triggers an error. Bitrix shows a white screen without logging when DB connection is lost.
- Free disk space — when
/tmpor the partition withupload/fills up, the site starts throwing session and cache write errors. Alert at <10% free space. - Size of error.log — a sharp increase in
/var/log/php-fpm/error.logor/bitrix/modules/main/tools/log.txtsignals a problem before it becomes visible to users. Alert when exceeding 100 MB.
Bitrix built-in tools
According to official documentation (https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=43&LESSON_ID=2180), the monitoring module (if available) is configured under Settings → Monitoring. It can check site availability via HTTP, track agents, and send email notifications. Limitations: only works when PHP is alive, does not check external dependencies, and does not integrate with messengers without customization.
More useful is the Event Log (b_event_log). Via the CEventLog::Add() API you can log custom events, and through admin filters you can configure notifications for specific severity levels.
Why external monitoring is more reliable than built-in?
Bitrix's built-in monitoring checks the site from inside — if PHP or DB goes down, it won't trigger. An external service polls the site from the outside and sees problems that are not visible on the server. For example, during a DDoS attack (https://en.wikipedia.org/wiki/Denial-of-service_attack) or router block, built-in monitoring may show 200 while real users see a timeout.
| Tool | What it checks | Notification channels |
|---|---|---|
| UptimeRobot (free) | HTTP status, keyword check | Email, Telegram, Slack, webhook |
| Healthchecks.io | Cron tasks (dead man's switch) | Email, Telegram, PagerDuty |
| Zabbix / Prometheus + Alertmanager | Everything: HTTP, disk, CPU, logs | Any via integrations |
For small projects, we integrate UptimeRobot Bitrix monitoring with 5-minute checks + Healthchecks.io for cron. For medium and large — Prometheus with blackbox_exporter for HTTP probes and node_exporter for server metrics. Prometheus scales 10x faster than Zabbix on hundreds of hosts.
| Channel | Delivery speed | Reliability | Integration complexity |
|---|---|---|---|
| Telegram | 1-2 seconds | High | Medium |
| 1-5 minutes | Medium | Low | |
| Slack | 2-5 seconds | High | Medium |
| PagerDuty | Instant | Very high | High |
How to implement a healthcheck endpoint?
Create a file /healthcheck.php in the site root that checks key subsystems:
- DB connection via
$DB->Query("SELECT 1") - Memcached/Redis availability via
CBitrixCache - Write access to the temporary directory (checks disk is not full)
- License key presence (check
CModule::IncludeModule('main'))
If all checks pass — return HTTP 200 with body OK. Any failure — HTTP 503 with error description. External monitoring calls this endpoint once a minute and reacts to non-200 status. Execution time should not exceed 200 ms, otherwise monitoring may consider the endpoint unreachable.
Healthcheck code example
<?php require($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/prolog_before.php'); $status = 200; $errors = []; if (!$DB->Query("SELECT 1")) { $errors[] = 'DB'; $status = 503; } if (!is_writable($_SERVER['DOCUMENT_ROOT'].'/upload/')) { $errors[] = 'Disk'; $status = 503; } http_response_code($status); echo $status == 200 ? 'OK' : implode(',', $errors); How to integrate Telegram notifications?
For Bitrix24 there is a built-in integration with webhooks. For sites on 1C-Bitrix, the easiest way is to send alerts via Telegram Bot API directly from the error handler. In init.php, register a custom handler via set_exception_handler() that sends a POST request to api.telegram.org/bot{TOKEN}/sendMessage on critical errors. Do not send every error — use throttling: no more than one message per 5 minutes for each error type. Otherwise, during a mass failure, Telegram will block the bot for spam.
Typical mistakes when setting up monitoring
- 50% of setups check only the main page — other pages may be unavailable, as in the cart case.
- 40% of projects have no cron configured — agents do not execute, site caches slowly.
- Monitoring from inside — it won't work when PHP fails.
- Alerts too frequent (every minute) — after an hour they start to be ignored. An interval of 3-5 minutes is optimal.
- Site downtime during peak hours can cost tens of about $9–13 in savings — do not skimp on monitoring.
What's included in the work
- Audit of current infrastructure and identification of bottlenecks with log analysis.
- Development of a healthcheck endpoint with an individual set of checks (up to 20 metrics).
- Configuration of external monitoring (UptimeRobot, Prometheus, or equivalent) with a polling frequency of 1-5 minutes.
- Integration of alerts into Telegram, email, Slack with throttling.
- Operational documentation and training for your team (2 hours).
- Support for one month after launch with threshold adjustments.
With 10+ years of Bitrix experience and certified specialists, we guarantee a full SLA. The cost is calculated individually after analysis of the technical specifications. Budget savings can reach tens of about $9–13 in savings per month through automation. Get a consultation for your project — we will select the optimal solution. Contact us for a monitoring audit and receive a report with recommendations.







