IP Library Patent Application 17981386
Patent Application
App. No. 17/981,386

EXTRACTED FIELD GENERATION TO FILTER LOG MESSAGES

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
17/981,386
Abstract

An example method may include displaying the plurality of log messages, including a first log message. Further, the method may include receiving an indication to extract a field based on a specified portion of log text of the first log message. Furthermore, the method may include inferring a first regular expression for the specified portion of the first log message using a Grok pattern. Further, the method may include inferring a second regular expression for a context of the extracted field using the Grok pattern. The context may be determined based on the specified portion. Further, the method may include generating a definition of the extracted field having the first regular expression and the second regular expression. Furthermore, the method may include filtering the plurality of log messages based on the definition of the extracted field.

Claims (85)

1 . A method for displaying a graphical user interface for analyzing a plurality of log messages for a computing environment, the method comprising:

displaying the plurality of log messages, including a first log message;

receiving an indication to extract a field based on a specified portion of log text of the first log message;

inferring a first regular expression for the specified portion of the first log message using a Grok pattern;

inferring a second regular expression for a context of the extracted field using the Grok pattern, wherein the context is determined based on the specified portion;

generating a definition of the extracted field having the first regular expression and the second regular expression; and

filtering the plurality of log messages based on the definition of the extracted field.

2 . The method of claim 1 , wherein inferring the first regular expression for the specified portion comprises:

constructing a first Grok expression from character strings of the specified portion; and

generating the first regular expression for the specified portion from the first Grok expression using a Grok library.

3 . The method of claim 1 , wherein inferring the second regular expression for the context comprises:

constructing a second Grok expression from character strings of the context for the extracted field; and

generating the second regular expression for the context from the second Grok expression using a Grok library.

4 . The method of claim 1 , further comprising:

determining a Grok type of the specified portion of the first log message;

inferring a type of the specified portion based on the Grok type; and

generating the definition of the extracted field having the type of the specified portion, the first regular expression, and the second regular expression.

5 . The method of claim 1 , further comprising:

generating a name of the extracted field based on a combination of parameters in the first log message; and

generating the definition of the extracted field having the name of the extracted field, the first regular expression, and the second regular expression.

6 . The method of claim 1 , further comprising:

recommending a name for the extracted field based on a combination of parameters in the first log message.

7 . The method of claim 6 , further comprising:

providing an option on the graphical user interface seeking a user input to modify the recommended name for the extracted field.

8 . The method of claim 1 , further comprising:

providing an option on the graphical user interface seeking a user input to name the extracted field.

9 . The method of claim 1 , wherein the first regular expression associated with the definition of the extracted field is a value type determined for the specified portion based on a match from the Grok pattern.

10 . The method of claim 1 , wherein the second regular expression for the context comprises a before pattern that matches at least one token of log text before the specified portion and an after pattern that matches at least one token of log text after the specified portion.

11 . The method of claim 1 , wherein receiving the indication to extract the field based on the specified portion further comprises:

receiving a text selection, from a user via the graphical user interface, which indicates the specified portion of log text.

12 . The method of claim 1 , further comprising:

annotating a first portion of log text of the first log message which matches the first regular expression; and

annotating a second portion of log text of the first log message which matches the context.

13 . The method of claim 12 , wherein annotating of the first and second portions of the log message comprises:

highlighting the first portion of the log text using a first color; and

highlighting the second portion of the log text using a second color, wherein the first color has different color or intensity than the second color.

14 . The method of claim 1 , further comprising:

annotating portions of the log text of the filtered log messages in the graphical user interface, such that for each of the filtered log messages having an instance of the extracted field that satisfies the generated definition:

annotating a first portion of the filtered log message to indicate a match with the first regular expression of the extracted field; and

annotating a second portion of the filtered log message, the second portion which matches with the second regular expression of the extracted field.

15 . The method of claim 1 , wherein inferring the second regular expression for the context comprises:

determining a Grok type of the specified portion of the first log message; and

replacing log text of the specified portion with a predetermined regular expression using a Grok library in response to determining that the Grok type is a variable Grok type for which a value of the specified portion continues to change.

16 . The method of claim 1 , wherein inferring the second regular expression for the context comprises:

determining a Grok type of the context for the extracted field; and

replacing log text of the context with a predetermined regular expression using a Grok library in response to determining that the Grok type is a variable Grok type for which a value of the context continues to change.

17 . A computer system for displaying a graphical user interface for analyzing a plurality of log messages for a computing environment, the computer system comprising:

a processor; and

a memory coupled to the processor, wherein the memory comprises a field extraction unit to:

display the plurality of log messages, including a first log message comprised of log text;

receive an indication to extract a field based on a specified portion of log text of the first log message;

generate a definition of the extracted field having a first regular expression that matches the specified portion and a second regular expression for a context of the extracted field that is determined based on the specified portion, wherein the first regular expression and the second regular expression are determined using a Grok pattern; and

filter the plurality of log messages based on the definition of the extracted field.

18 . The computer system of claim 17 , further comprising:

a storage device storing the plurality of log messages including the first log message comprised of the log text.

19 . The computer system of claim 17 , wherein the field extraction unit is to:

construct a first Grok expression and a second Grok expression from character strings of the specified portion and the context, respectively;

generate the first regular expression for the specified portion from the first Grok expression using a Grok library;

generate the second regular expression for the context from the second Grok expression using the Grok library; and

generate the definition of the extracted using the first regular expression and the second regular expression.

20 . The computer system of claim 17 , wherein the second regular expression for the context comprises a before pattern that matches at least two tokens of log text before the specified portion and an after pattern that matches at least two tokens of log text after the specified portion.

21 . The computer system of claim 20 , wherein the field extraction unit is to:

concatenate first regular expressions corresponding to the at least two tokens before the specified portion using a delimiter and populate the concatenated first regular expressions as a pre-context for the extracted field; and

concatenate second regular expressions corresponding to the at least two tokens after the specified portion using a delimiter and populate the concatenated second regular expressions as a post-context for the extracted field.

22 . A non-transitory computer-readable storage medium storing instructions that, when executed by a processor of a computing device, cause the processor to:

display a plurality of log messages, including a first log message, on a graphical user interface;

receive, via the graphical user interface, an indication to extract a field based on a specified portion of log text of the first log message;

infer a first regular expression for the specified portion of the first log message using a Grok pattern;

infer a second regular expression for a context of the extracted field using the Grok pattern, wherein the context is determined based on the specified portion; and

generate a definition of the extracted field using the first regular expression and the second regular expression.

23 . The non-transitory computer-readable storage medium of claim 22 , further comprising instructions to:

annotate a first portion of log text of the first log message which matches the first regular expression of the extracted field; and

annotate a second portion of log text of the first log message which matches the second regular expression of the extracted field.

24 . The non-transitory computer-readable storage medium of claim 22 , further comprising instructions to:

filter the plurality of log messages based on the extracted field; and

annotate portions of the log text of the filtered log messages in the graphical user interface, such that for each of the filtered log messages having an instance of the extracted field that satisfies the generated definition:

annotate a first portion of the filtered log message to indicate a match with the first regular expression of the extracted field; and

annotate a second portion of the filtered log message, the second portion which matches with the second regular expression of the extracted field.

25 . The non-transitory computer-readable storage medium of claim 22 , wherein the first regular expression associated with the definition of the extracted field is a value type determined based on a match from the Grok pattern.

26 . The non-transitory computer-readable storage medium of claim 22 , wherein the second regular expression for the context comprises a before pattern that matches at least one token of log text before the specified portion and an after pattern that matches at least one token of log text after the specified portion.

27 . The non-transitory computer-readable storage medium of claim 22 , wherein instructions to generate the definition of the extracted field having the first regular expression and the second regular expression comprises instructions to:

determine a Grok type of the context for the extracted field; and

replace log text of the context with a predetermined regular expression using a Grok library in response to determine that the Grok type of the log text is a variable Grok type for which a value of the context continues to change.

28 . The non-transitory computer-readable storage medium of claim 22 , wherein instructions to generate the definition of the extracted field comprise instructions to:

populate a template of the extracted field with the first regular expression and the second regular expression.

Assignments (2)
CHANGE OF NAME Recorded Feb 27, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 066692/0103 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 5, 2022
From: JHA, CHANDRASHEKHAR; KARIBHIMANVAR, SIDDARTHA LAXMAN; BHATNAGAR, YASH
To: VMWARE, INC.
Reel/Frame 061666/0772 →