Go back
Automatic parser matching for new log source

Automatic parser matching for new log source

Securevisio
28.10.2026

Automatic Parser Matching for a New Source

The automatic parser matching mechanism is used to identify the correct parser for a newly added log source. The system collects a sample of frames from the new source, runs the available parsers against that sample, and then compares parsing effectiveness. The parser that parses the largest number of fields in the largest possible number of frames is selected.

Sources for which the parser has been selected automatically are marked with a flag indicating automatic matching. This makes it possible to distinguish configuration performed by the system from configuration set manually by the user.

Scope of Operation from SV 6.0

Starting from SV 6.0, parser detection is executed in the process responsible for parsing frames, most commonly on the Forwarder. The functionality is not executed on XDRs, because XDR devices are assumed to be fully configured before startup.

  • The mechanism applies only to newly added devices, for up to 3 hours from the time they are added.
  • Detection parameters are shared by all log sources.
  • The system uses one common parser detection and matching mechanism for all sources.
  • The algorithm runs in the background on a single thread so that it does not affect parsing performance.
  • Sources are queued. After detection is completed for the first source, the system starts collecting logs for the next one.
  • If the first 100 frames are parsed incorrectly, the parser is rejected to shorten the analysis time.

Detection Parameters

The table below describes the parameters used during parser detection. Minimum limits determine when analysis may start after a defined time has elapsed, while maximum limits force the detection process to start after a sufficient amount of data has been collected.

ParameterDescriptionDefault value
MinMemorySizeMinimum number of bytes required to perform detection.50 kB
MaxMemorySizeMaximum required amount of data accumulated in memory. When this limit is reached, detection starts.1 MB
MinPackageCountMinimum number of packets required to start detection after AllowMinimalLevelOverTime has elapsed.50
MaxPackageCountMaximum required number of packets. When this limit is reached, detection starts.1000
AllowMinimalLevelOverTimeTime after which the parser will be detected even if maximum limits have not been reached, provided that at least one minimum data level has been reached.60 minutes
AllowErrorPercentAllowed percentage of failed parsing attempts.10%

Collecting Data for Parsing

Input data can be delivered to the system in two models. For this reason, the mechanism uses two types of indicators: the number of packets and the amount of data held in memory.

  • UDP – the natural frame split: one packet corresponds to one frame. In this model, the MinPackageCount and MaxPackageCount parameters are used.
  • Stream – applies to TCP, Readers, and other stream-based sources. In this model, all data may arrive in a single packet, so the MinMemorySize and MaxMemorySize parameters are used.

If any maximum limit is reached, either MaxMemorySize or MaxPackageCount, the detection process starts. The process may take several minutes, depending on the amount of data and the number of available parsers.

If, after AllowMinimalLevelOverTime has elapsed, at least one minimum data level has been reached, either MinMemorySize or MinPackageCount, detection is also started. The maximum time allowed to reach the minimum data level is 3 hours.

Parser Matching Algorithm

Parser matching covers both the parser and device encoding. If VendorName and VendorProduct fields are present in the parsed data, the system uses their first occurrence from the best-matched parser to set the device name.

The simplified mechanism workflow is as follows:

  • The system collects a data sample from the new log source.
  • Each available parser is used to attempt parsing of the collected frames.
  • Results are compared by the number of parsed fields, the number of correctly parsed frames, and the allowed error level.
  • The parser with the highest effectiveness is selected as the source parser.
  • After the parser is matched, the system sends an informational frame to the device.

Informational Frame After Parser Matching

After the parser is matched, the system generates an informational frame confirming that a new parser has been detected for the log source. An example of parsed fields is shown below.

Example informational frame generated after parser matching

The informational frame structure includes a header and a set of parsed fields. The values shown in the table are examples unless the description states that the value is system-built-in.

The informational frame structure includes a header and a set of parsed fields. The values shown in the table are examples unless the description states that the value is system-built-in.

Informational frame structure
Header
Event fieldValueDescription
FrameAddDate2024.03.22 12:14:18Frame creation date and time
FrameDeviceId4030Identifier of the newly added device, that is, the new log source
FrameId00005000060007344EABFrame identifier
FrameStatusparsedFrame parsing status; always equal to parsed
FrameStatusId1Parsing status identifier; 1 – parsed
Parsed fields
Event fieldValueDescription
ClassActiondetectBuilt-in value
ClassCategorynewBuilt-in value
ClassObjectobjectBuilt-in value
ClassProductapplication or value from the frameValue taken from the same frame as VendorName and VendorProduct. If the value cannot be determined from the frame, application is set.
ClassResultsuccessBuilt-in value
ClassTypeinfoBuilt-in value
EventDescriptionMatched parser ‘PaloAlto’Information about the matched parser name: Matched parser ‘{parserInfo.ParserName}’
EventNameNew log sourceBuilt-in value
MessageNew parser ‘PaloAlto’ was added to 172.0.0.1 VendorName: ‘Palo Alto Networks’ VendorProduct: ‘PanOS’Information about the matched parser name and source IP address: New parser ‘{parserInfo.ParserName}’ was added to ‘{device.Source}’ VendorName: ‘{parserInfo.VendorName}’ VendorProduct: ‘{parserInfo.VendorProduct}’
SrcIp172.0.0.1IP address determined according to source type: for a listener, the IP address of the sending source; for a SIEM connector, the IP address declared in the source field without the port number; for XDR, the IP address of the device on which XDR runs.
VendorNameEsecureManufacturer name Esecure; built-in value
VendorProductSecureVisioProduct name SecureVisio; built-in value

Setting Detected Data on the Device

Detected data will be set on the device only if the user has not configured it earlier. After the detected data is applied, the device is automatically enabled and starts parsing input data correctly.

Mechanism Diagnostics

The Esecure.Siwb.DataAccess.SysLog.ParserDetection logger set to DEBUG level can be used to analyze the parser detection process.

<logger name=”Esecure.Siwb.DataAccess.SysLog.ParserDetection”>     <level value=”DEBUG” /> </logger>

Example diagnostic logs of the parser matching mechanism

Copyright © 2026 Esecure sp. z o.o. All rights reserved. The information contained in this document is current as of the date indicated on the title page. Esecure sp. z o.o. reserves the right to change, modify, or update this publication without prior notice.

Table of contents


Please contact us if you have any questions.

Learn more about SecureVisio and the benefits it offers.
Poland
Poland
+48 17 779 6246
Germany
Germany
+49 4186-895991-0

Fill out the form to contact us





    Explore top stories

    Securevisio
    28.10.2026
    Securevisio
    28.10.2026
    Securevisio
    28.10.2026