Monitoring Dashboard for 1C-Bitrix Auto-Fill
We often encounter a situation: the parser works, products are filled, but simple questions — "how many products were updated today?", "what's the error rate?", "which source is the most problematic?" — cannot be answered without a dashboard. The standard Bitrix event log is unsuitable: it shows raw records, not aggregates. Our experience (over 40 auto-fill projects) shows that quality monitoring cuts diagnosis time from hours to seconds. We will develop a dedicated screen with metrics, charts, and health indicators for you.
Why the standard event log is unsuitable for monitoring
The Bitrix event log records every parser action line by line. If 10,000 products are processed per day, you see 10,000 records. There is no time aggregation, no color error indication, no quick way to spot a problematic source. A dashboard solves this: it collects data from the parser task table and shows an overview in 5 seconds.
What we display on the dashboard
The dashboard answers "is everything okay?" within 5 seconds. Key metrics: Status indicators (top bar):
- Total sources / active sources / sources with errors
- Products processed today: created / updated / skipped / errors
- Last successful run time for each source
Charts (central area):
- Processed items per day (stacked bar — created/updated/skipped/error)
- Parsing time by source (line chart)
- Error percentage by source (bar chart)
Source table (bottom):
| Source | Status | Last run | Items | Errors | Time | Next run |
|---|---|---|---|---|---|---|
| Supplier A | OK | 14:30 | 12,450 | 3 (0.02%) | 8m 12s | 20:30 |
| Supplier B | ERROR | 12:00 | 0 | — | — | (stopped) |
Color scheme: green — last run successful and less than 2 intervals ago, yellow — errors >1%, red — last run failed or overdue.
How to speed up dashboard loading on large catalogs
For catalogs up to 100,000 products and 10 sources, standard SQL queries execute instantly. For larger catalogs, we use a materialized view: table parser_stats_daily updated by an agent every hour. This cuts dashboard load time to fractions of a second.
Data source
The dashboard is built on data from the parser task table. Minimal schema:
CREATE TABLE parser_task ( id SERIAL PRIMARY KEY, source_id INT NOT NULL, status VARCHAR(20), started_at TIMESTAMP, finished_at TIMESTAMP, total_items INT DEFAULT 0, created_items INT DEFAULT 0, updated_items INT DEFAULT 0, error_items INT DEFAULT 0 ); Aggregation is done via SQL queries on dashboard load. For the daily chart:
SELECT DATE(started_at) AS day, SUM(created_items) AS created, SUM(updated_items) AS updated, SUM(error_items) AS errors FROM parser_task WHERE started_at >= NOW() - INTERVAL '30 days' GROUP BY DATE(started_at) ORDER BY day; On a catalog of up to 100,000 products and 10 sources, these queries execute instantly. For larger projects, add a materialized table parser_stats_daily updated by an agent every hour.
Implementation in the admin panel
The dashboard is implemented as an admin page (/local/admin/parser_dashboard.php) connected via the module menu. For charts, we use the built-in amCharts library in Bitrix (available via CAdminPage) or load Chart.js via $APPLICATION->AddHeadScript(). In our projects, we often use Chart.js — it is more flexible and offers more customization.
Page structure:
-
Widget cards at top —
<div>elements with numeric indicators styled usingadm-detail-content. Bitrix CSS provides classesadm-info-message,adm-warning-message,adm-error-messagefor color coding. - Canvas charts in the center — data is loaded via AJAX request to a handler returning JSON with aggregates.
- CAdminList at bottom — standard source list with custom columns.
Auto-refresh
The dashboard should refresh without page reload. Add setInterval with a period of 60 seconds, requesting /local/admin/ajax/parser_stats.php. The handler returns JSON with the current state. On the client, update numbers in cards and redraw charts.
To indicate "parser is running now," poll the status from parser_task where status = 'running'. Show an animated spinner next to the source name.
Alerts directly from the dashboard
Add a "Configure alerts" button next to each source. On click, a modal window appears with thresholds: maximum error percentage, maximum execution time, maximum delay between runs. Thresholds are stored in the module's b_option. An agent checks thresholds and sends notification when exceeded.
What is included in the work
- Data schema design and SQL aggregation
- Widgets, charts, and source table development
- Auto-refresh and active parser indication setup
- Alert implementation with configurable thresholds
- Integration with existing auto-fill system
- Load testing up to 100,000 products
- Documentation and user manual
- Access to source code and admin panel
- Admin training and 30-day post-launch support
Dashboard development starts at $2,500 and typically pays back within 3 months through reduced downtime. We guarantee a turnkey dashboard within 1–2 weeks. We will assess your project in 2 days — contact us.
Implementation timeline
| Component | Time |
|---|---|
| SQL aggregation + AJAX handler | 1–2 days |
| Cards + source table | 1–2 days |
| Charts (Chart.js) | 2–3 days |
| Auto-refresh + running indicator | 1 day |
| Alert threshold configuration | 1–2 days |
| Total | 1–2 weeks |
How to Set Up the Dashboard
- Define the data schema and aggregation queries based on your parser task table.
- Create the admin page and integrate Chart.js for visualizations.
- Implement auto-refresh with AJAX and active parser indicators.
- Configure alert thresholds for each source in the admin panel.
- Test with your live data and adjust thresholds as needed.
Why a dashboard is better than manual monitoring
Manual analysis of the event log takes hours and risks missed errors. A dashboard gives a complete picture in seconds, reducing reaction time to failures from hours to minutes. On one project, we cut the average error detection time from 4 hours to 5 minutes.Source: Internal analytics from over 40 auto-fill projects.
Extensive experience with 1C-Bitrix and certified engineers guarantee quality. Contact us for a consultation.

