Setting up parsing error alerts for 1C-Bitrix in 1 day

The exchange with 1C breaks at night, and you only find out from a client complaint. We set up 1C-Bitrix parsing error alerts on a turnkey basis: we record the failure at the moment of the event and hand over a procedure to your team. Response time drops from hours to minutes, and night failures stop piling up.

Our competencies:

Frequently Asked Questions

Why 1C-Bitrix parsing error alerts stay silent until a client complains

The exchange starts on schedule, the server responds 200 OK, and the last entry in the log is “Success.” At the same time, part of the package was not applied: for a dozen items, the price node failed to parse, for some products properties were not pulled in, and somewhere the stock was written as zero.

Formally, there was no exchange failure with 1C — the exchange completed, and the error remained inside.

After that, the site runs on outdated prices and stock. A client sees zero stock for a popular item and goes to a competitor, and if an order does get placed, a manager manually reconciles the export tables with the catalog.

This is discovered not from monitoring but from a call or a morning manual reconciliation—hours or a day after the silent failure.

The reason is that exchange notifications are usually not configured.

The log writes status to a file and does not report partial package application in any way: 1C-Bitrix parsing errors are not raised as a separate event, log rotation consumes the history, and the “Running” status hangs with no one resetting it.

An exchange that did not start is noticed quickly—by the absence of new data. Silent export errors are more dangerous: the system reports success, while the catalog diverges from the accounting system.

We examine how this is closed: intercepting errors at the package application stage, a threshold for the share of unaccepted items, and notifying the responsible person before a client sees the discrepancy.

Effect of exchange monitoring: response speed and class of failures

Before signals were configured, an exchange failure was most often discovered not by an engineer but by a manager: a client did not wait for order status, old stock was displayed on the storefront.

Time to failure detection was measured in hours, and if the exchange dropped at the end of the day—in days, and all that time the system ran on outdated data.

After notifications are configured, the signal arrives at the moment a session ended with an error or returned an incomplete set—so the count is in minutes.

The share of manual checks also changes. Manual reconciliation of exports usually rests on one person: they open the exchange log, compare volumes, and look for discrepancies.

Exchange monitoring with 1C removes the routine from them—checks run after every session, and the employee is left to investigate a specific case rather than do a daily sweep.

A whole class of failures also goes away—partially applied exchanges.

Half the orders were written, half were not, yet externally everything looks operational: such discrepancies are more dangerous than an explicit error because they are invisible until desynchronization accumulates. Checking volumes before writing and notifying on a mismatch close this scenario.

What remains for a human are decisions that cannot be automated: which source to consider correct, whether data needs to be re-uploaded, whom to notify.

But they come to this not blindly but with a picture—at which exchange step the failure occurred, which node did not respond, how many records did not arrive.

Investigation takes minutes instead of searching through logs, and undetected discrepancies simply do not remain in the data stream.

Alert options: threshold, event, exchange log analysis

An exchange failure is visible in three places at once: in the exchange log, in the external service response, and in the queue of unprocessed orders.

The time to detection depends on the chosen monitoring mechanism—from seconds with an event alert to hours with periodic log analysis.

The nature of the failure also dictates the method: a one-off failure of an external system is caught by an event, gradual degradation without an explicit crash—by an error count threshold, and data discrepancies—only by reconciling the exchange log.

Which monitoring loop fits

Option When it fits Limitations
Error count threshold the exchange runs in a stable stream, isolated failures are not critical waits for errors to accumulate, notification arrives with a delay; one corrupted document causes a false spike
Event alert a failure throws an exception in the exchange handler triggers only at known points; a “silent” hang without an exception will not be noticed
Scheduled exchange log analysis a complete picture and statistics by error type are needed delay until the next pass; between checks, a failure remains unnoticed
External service monitoring it is important to know that the exchange node is responding at all sees availability but not data errors inside the exchange
Manual check one-off investigation after a user report does not scale, not suitable as a permanent loop

In practice, the working option is a combination: an event alert as a fast loop, a threshold as a noise filter, and periodic log analysis as insurance against “silent” discrepancies.

Such a notification set is configured in one day and immediately provides a clear picture of who learns about a failure and when.

Configuration procedure: from exchange audit to handover of the response policy

Exchanges break silently: catalog, stock, or order import is interrupted at night, the export arrives partially—and you find out about it days later from manager complaints.

Alerts close exactly this gap, but configuring them is not a switch but a sequence of work where each step relies on the previous one.

  1. Exchange audit. We analyze the schemes: who is the source, who is the receiver, whether the launch is scheduled or event-driven, what is considered successful completion, and which logs are already kept. The output is an exchange map with a list of places where a failure goes unnoticed.
  2. Observation points. We choose places where a failure is visible earlier than in the interface: the result of the last run, the volume of accepted records, source response time, and the timestamp of the last successful exchange. We do not take extra points—noise devalues notifications.
  3. Notification rules. For each point, we define the trigger condition, threshold and waiting window, recipient, and delivery channel. Critical outages go to the on-call engineer, while delay warnings go to the team’s work chat.
  4. Trigger testing. We deliberately break the exchange: unavailable source, empty response, partially accepted data. We check that the notification reached the right person, with clear text and a reference to a specific object.
  5. Policy handover. We give the team a document: what each alert means, what to check first, when to escalate, and how to add rules when new exchanges appear.

Testing on a real failure is a mandatory step: an untested rule either stays silent or triggers on a normal delay and trains everyone to ignore notifications.

Deliverables: exchange map, notification rules, response policy

The package is designed so that exchange support does not depend on a specific engineer. Everything we configure remains with you in the form of diagrams, configurations, and text rules—reproducible without us.

  • Exchange map — which nodes are connected, on what schedule sessions run, which documents and reference data are involved, and where filters and queues are placed. It shows which stream’s failure is critical for sales and which one is handled in the normal course of work.
  • Notification rules — binding a stream to thresholds: how many failed parses in a row are considered an incident, which errors trigger a signal immediately, and which accumulate into a daily digest.
  • Configured delivery channels — who receives the signal, where, and with what content: session ID, node names, and a fragment of the source file. The on-call engineer does not need to look up context manually.
  • Response policy — a table “failure class → who responds → within what time → what they do”: from restarting a queue to stopping import and manually exporting disputed items.
  • Accesses and roles — which accounts are needed to read exchange logs and restart agents, what the on-call engineer is allowed to do, what remains with the administrator, and how rights are revoked when team composition changes.
  • Team instructions — a step-by-step breakdown of typical errors: how to distinguish a file format problem from a connection drop, where to look at the queue, and from which step to start diagnostics.
  • Check log — dates of test failures and the result: the signal arrived, the on-call engineer met the deadline, and the data was sufficient for a decision.

We verify the package at acceptance: we simulate an exchange failure and check whether the signal arrives and whether it contains enough data to restore the stream without a developer.

How we eliminated nighttime exchange failures: a case study of one implementation

The exchange of product nomenclature between the accounting system and the website on 1C-Bitrix ran as a nightly scheduled export. Some packages did not arrive: the process broke midway, wrote an error to the log, and ended. By morning the catalog showed yesterday’s prices and stock—customers found the discrepancy, not us.

What it was like before implementation

Failures were searched for manually: we opened the exchange log and reviewed entries. Out of thirty nights, the export broke on nine to eleven, but we found two or three—the rest surfaced a day later, when orders had already been placed at old prices.

Diagnostics took about an hour: it was necessary to determine the step at which the package broke and understand which nodes had managed to update.

What changed after implementation

Now the exchange is monitored by a separate task: it compares the timestamp of the last successful pass and the number of processed items, and on a mismatch sends an alert to the work chat indicating the node and step.

The signal arrives on average four minutes after the failure—at night, not the next morning. Only the failed direction is restarted, without a full export: recovery takes 10–15 minutes instead of an hour.

The morning check policy was reduced to a single operation: the on-call engineer reviews the status of the last exchange and the rollback history. The share of failures that went unnoticed over the quarter is zero, and repeated price discrepancies after restart were not recorded.

How does event-based checking differ from scheduled checking?

Event-based checking hooks into the exchange process itself: the handler catches an exception at the moment the parser fails—unavailable source, parsing error, write failure.

The signal arrives within seconds and carries context: at which step it failed, with what input data, and what had already been written. Acute failures are visible immediately, but this mode knows nothing about silence.

It misses a silent failure by design: the parser completed without exceptions but parsed zero items or accepted an empty source response. There is no error in the log—therefore, there is no signal, and the exchange formally continues.

For a catalog, this is the worst class of failure: prices and stock stop updating, and this can only be noticed by the absence of changes.

Scheduled checking looks not at the moment but at the result over an interval. Counters of processed and discarded items, the share of empty fields, and comparison with the previous run—such monitoring catches degradation, a drop in output, and gradual accumulation of defects. The downside is delay: the signal arrives no earlier than the next pass.

Hence the comparison of monitoring modes: the event layer provides instant reaction and diagnostics, while scheduling provides coverage of silent failures.

On a live project, 1C-Bitrix parsing error alerts are assembled from both: a single event does not raise noise, a scheduled threshold confirms the problem, and a suppression window dampens repeats of the same failure. Time from failure to signal is measured in minutes, not business days.

Frequently asked questions: false positives, load, access

Concerns before starting are usually the same: will alerts start firing on every exchange failure, will monitoring add load to the server and the accounting system, and what rights will need to be granted.

Each of these is closed by configuration at the implementation stage, not by “getting used to” noise.

Load is addressed by the collection scheme: we read exchange logs incrementally, remembering the position, and do not query the accounting system with heavy requests.

Rights are granted to a service account—read-only access to exchange logs and statuses, without permission to write to data.

What should be done about false positives and noise in notifications?

An alert is sent not for every log line but after a threshold: the error must repeat across several consecutive exchange cycles. Duplicates are merged by error type and exchange node, and a quiet window is set—while an incident is open, repeat messages are not sent.

The responsible person receives one notification with a summary, while others see it in the shared channel. This way, notification noise drops to a few per week rather than dozens per day.

Will monitoring slow down the server or the accounting system?

Collection runs on a schedule once every few minutes and takes seconds—it is reading log files, not exporting product nomenclature. The platform is not queried where exchange logs are sufficient.

If exchanges are heavy, the interval is increased, and the check is staggered in time relative to the exchange window itself.

What access rights are needed, and what if exchanges are on another hosting provider?

A service user with read access to exchange logs and statuses is sufficient. If some sites are on another hosting provider and log files are unavailable, we install a collector on that site’s side and send events to a single point—alert rules remain shared across all loops.

Can the implementation be rolled back?

Yes: the changes do not affect exchange logic or business data. The collection scheduler is disabled—and everything returns to its previous state, while the accumulated error history remains available for investigation.

Let’s discuss your exchange scheme and propose a configuration plan

Before changing anything in the production loop, we need your complete exchange scheme: how many nodes, what is transferred where, at what frequency, and through which channel.

The more precise the input, the fewer edits to the configuration plan after the start—discussing the task takes one conversation instead of a series of clarifications during the work.

What to send for assessment:

  • a list of exchange nodes—website, CRM, warehouse, accounting: who communicates with whom and in which direction;
  • an export of the exchange log for several days, including failed sessions;
  • the scenarios used: full export, changes, manual or scheduled launch;
  • settings of jobs and agents that start the exchange—interval and behavior on failure;
  • current notifications: where error emails go and who investigates them;
  • access to a test loop where a failure can be reproduced without risk to production data.

Based on this data, we clarify which events to consider an error and which are expected background, how to group repeats so that one failure does not generate an avalanche of emails, and whom exactly to address the alert to at night and on weekends.

We return with a configuration plan: a list of monitored events, grouping and priority rules, notification channels, the test-loop verification procedure, and an estimate of timelines in business days broken down into configuration, verification, and production rollout.