Document toolboxDocument toolbox

Autoparser

 

Overview

When data enters Devo through a non-standardized method, it cannot be automatically parsed at that moment of reception due to the lack of Devo tags to interpret its structure. However, it can still be parsed automatically thanks to the Autoparser. This functionality analyzes the data patterns in search of possible ways to parse your data, allowing you to choose the one you consider most adequate to resemble the originally intended structure.

How does it work?

The autoparser uses internal logic to analyze the content of up to 200 sample events in an unparsed table in order to identify:

  • Non-alphanumeric ASCII characters that might be field delimiters. 

  • Units of data that follow a common and fixed syntax; i.e. IPv4 and IPv6 addresses, strings enclosed in quotation marks, floating-point decimal values, and more.

Based on this analysis, it recommends a selection of characters that are likely (and less likely) to be delimiters. Using the autoparser controls, you can select the delimiters that you need and deselect the rest. By testing the same delimiter pattern on different sample events, you can confirm that it will parse your data table as needed.

Delimiter analysis

The Autoparser will only offer as delimiters those characters that appear in all the 200 logs analyzed. For example, in the series of logs below, the comma will not be offered as a delimiter since the third log does not include any.

  • a, b, c, d

  • x, y, z

  • sampleLog

What type of tables can be autoparsed?

The Autoparser will be available for the following types of tables:

  • my.app → tables created by sending data from a new, proprietary data source.

  • my.upload → tables created by manually uploading a file (either locally or from a drive) containing data.

Not available for tables...

Be aware that the autoparser will not be available for the tables mentioned above unless they have at least four tag levels. It will be unavailable as well for these tables if they were created by injecting data from another table, since these are already properly parsed.

What data do I need for a successful autoparse?

In certain cases, the autoparser can be used to parse these data tables quickly and easily. However, for the autoparser to work optimally, the log events must:

  • Contain the same number of fields in the same order.

  • Use delimiters in the same pattern in every event.

Valid timestamp formats

When the table to be parsed contains timestamp data, it must present a valid format, otherwise, it will be parsed as a string. Check the valid formats in the table below:

Format

Example

Format

Example

Format

Example

Format

Example

ddd MMM DD HH:mm:ss YYYY

Thu Mar 29 00:21:05 2012

YYYY/MM/DD

2012/08/25

DD-MMM-YYYY HH:mm:ss.SSS

27-Aug-2012 09:44:09.378

yyyy-MM-dd:hh:mm:ss+gmt

2012-08-16:10:29:17+0200

DD/MM/YYYY HH:mm:ss

23/07/2019 07:55:00

yyyy-MM-dd hh:mm:ss.micros

2000-12-17 01:01:01.123456

DD/MM/YYYY H:mm:ss

14/09/2012 9:42:05

Epoch.millis

By default recognized as a float so it needs to be manually changed.

1234567890.123

YYYY-MM-DD HH:mm:ss.SSS

2000-12-17 01:01:01.123

Millis

By default recognized as an integer so it needs to be manually changed.

1584100816544

YYYY/MM/DD HH:mm:ss

2012/08/25 06:48:18

Disparate data

If the log events you need to parse do not conform to these requirements, the autoparser may not be your best way forward. These data may result too disparate for the Autoparser to extract a pattern so it will not open and an error message will pop up to further specify the reason.

In those cases, you can manually parse the content of the message field using the field operations available (for example, creating new fields using the Split (split) operation). Then, you can create a custom table and use it to consult the data parsed into fields.

For my.app data, you can also contact customer support to request a custom parser.

Using the Autoparser

The process of parsing will not create a new table but transform the original table instead so it can be fully used in Devo.

Autoparsing an already parsed table

If you are not happy with the result for whatever reason, you can use the Autoparser again. However, it is not possible to apply changes selectively; the table will be reset to its original unparsed state for you to start over.

You just need to open the Autoparser as instructed before. Don't worry if you have second thoughts after clicking because you will receive a warning message. You can either cancel and keep the table as it is or restore it to parse it again with different settings.

If you choose to restore it, you will be forced out while the table goes back to its original unparsed state. To parse it anew, you need to access it again through the Data Search and open the Autoparser once more.

Autoparsing special objects

It is possible to autoparse special objects such as JSON. Although the concept is the same, the procedure varies. Check the article Autoparse a JSON object to know more.