EnglishFrenchSpanish

OnWorks favicon

grok - Online in the Cloud

Run grok in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command grok that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

PROGRAM:

NAME


grok - parse logs, handle events, and make your unstructured text structured.

SYNOPSIS


grok [-d] -f configfile

DESCRIPTION


Grok is software that allows you to easily parse logs and other files. With grok, you can
turn unstructured log and event data into structured data.

The grok program is a great tool for parsing log data and program output. You can match
any number of complex patterns on any number of inputs (processes and files) and have
custom reactions.

OPTIONS


-d or --daemon
Daemonize after parsing the config file. Implemented with daemon(3). The default is to
stay in foreground.

-f configfile
Specify a grok config file to use.

CONFIGURATION


You can call the config file anything you want. A full example config follows below, with
documentation on options and defaults.

# --- Begin sample grok config
# This is a comment. :)
#
# enable or disable debugging. Debug is set false by default.
# the 'debug' setting is valid at every level.
# debug values are copied down-scope unless overridden.
debug: true

# you can define multiple program blocks in a config file.
# a program is just a collection of inputs (files, execs) and
# matches (patterns and reactions),
program {
debug: false

# file with no block. settings block is optional
file "/var/log/messages"

# file with a block
file "/var/log/secure" {
# follow means to follow a file like 'tail -F' but starts
# reading at the beginning of the file. A file is followed
# through truncation, log rotation, and append.
follow: true
}

# execute a command, settings block is optional
exec "netstat -rn"

# exec with a block
exec "ping -c 1 www.google.com" {
# automatically rerun the exec if it exits, as soon as it exits.
# default is false
restart-on-exit: false

# minimum amount of time from one start to the next start, if we
# are restarting. Default is no minimum
minimum-restart-interval: 5

# run every N seconds, but only if the process has exited.
# default is not to rerun at all.
run-interval: 60

# default is to read process output only from stdout.
# set this to true to also read from stderr.
read-stderr: false
}

# You can have multiple match {} blocks in your config.
# They are applied, in order, against every line of input that
# comes from your exec and file instances in this program block.
match {
# match a pattern. This can be any regexp and can include %{foo}
# grok patterns
pattern: "some pattern to match"

# You can have multiple patterns here, any are valid for matching.
pattern: "another pattern to match"

# the default reaction is "%{@LINE}" which is the full line
# matched. the reaction can be a special value of 'none' which
# means no reaction occurs, or it can be any string. The
# reaction is emitted to the shell if it is not none.
reaction: "%{@LINE}"

# the default shell is 'stdout' which means reactions are
# printed directly to standard output. Setting the shell to a
# command string will run that command and pipe reaction data to
# it.
#shell: stdout
shell: "/bin/sh"

# flush after every write to the shell.
# The default is not to flush.
flush: true

# break-if-match means do not attempt any further matches on
# this line. the default is false.
break-if-match: true
}
}
# -- End config

PATTERN FILES


Pattern files contain lists of names and patterns for loading into grok.

Patterns are newline-delimited and have this syntax:
patternname expression

Any whitespace between the patternname and expression are ignored.

patternname
This is the name of your pattern which, when loaded, can be referenced in patterns as
%{patternname}

expression
The expression here is, verbatim, available as a regular expression. You do not need
to worry about how to escape things.

PATTERN EXAMPLES
DIGITS \d+
HELLOWORLD \bhello world\b

REGULAR EXPRESSIONS


The expression engine underneath grok is PCRE. Any syntax in PCRE is valid in grok.

REACTIONS


Reactions can reference named patterns from the match. You can also access a few other
special values, including:

%{@LINE}
The line matched.

%{@MATCH}
The substring matched

%{@START}
The starting position of the match from the beginning of the string.

%{@END}
The ending position of the match.

%{@LENGTH}
The length of the match

%{@JSON}
The full set of patterns captured, encoded as a json dictionary as a structure of {
pattern: [ array of captures ] }. We use an array becuase you can use the same named
pattern multiple times in a match.

%{@JSON_COMPLEX}
Similar to the above, but includes start and end position for every named pattern.
That structure is:

{ "grok": [
{ "@LINE": { "start": ..., "end": ..., "value": ... } },
{ "@MATCH": { "start": ..., "end": ..., "value": ... } },
{ "patternname": { "start": startpos, "end": endpos, "value": "string" } },
{ "patternname2": { "start": startpos, "end": endpos, "value": "string" } },
...
] }

REACTION FILTERS
Reaction filters allow you to mutate the captured data. The following filters are
available:

An example of using a filter in a reaction is like this:
reaction: "echo Matched: %{@MATCH|shellescape}"

shellescape
Escapes all characters necessary to make the string safe in non-quoted a shell
argument

shelldqescape
Escapes characters necessary to be safe within doublequotes in a shell.

jsonencode
Makes the string safe to represent in a json string (escapes according to json.org
recommendations)

Use grok online using onworks.net services


Free Servers & Workstations

Download Windows & Linux apps

  • 1
    QNAP NAS GPL Source
    QNAP NAS GPL Source
    GPL source for QNAP Turbo NAS.
    Audience: Developers. User interface:
    Web-based. Programming Language: C,
    Java. Categories:System, Storage,
    Operating System Ker...
    Download QNAP NAS GPL Source
  • 2
    deep-clean
    deep-clean
    A Kotlin script that nukes all build
    caches from Gradle/Android projects.
    Useful when Gradle or the IDE let you
    down. The script has been tested on
    macOS, but ...
    Download deep-clean
  • 3
    Eclipse Checkstyle Plug-in
    Eclipse Checkstyle Plug-in
    The Eclipse Checkstyle plug-in
    integrates the Checkstyle Java code
    auditor into the Eclipse IDE. The
    plug-in provides real-time feedback to
    the user about viol...
    Download Eclipse Checkstyle Plug-in
  • 4
    AstrOrzPlayer
    AstrOrzPlayer
    AstrOrz Player is a free media player
    software, part based on WMP and VLC. The
    player is in a minimalist style, with
    more than ten theme colors, and can also
    b...
    Download AstrOrzPlayer
  • 5
    movistartv
    movistartv
    Kodi Movistar+ TV es un ADDON para XBMC/
    Kodi que permite disponer de un
    decodificador de los servicios IPTV de
    Movistar integrado en uno de los
    mediacenters ma...
    Download movistartv
  • 6
    Code::Blocks
    Code::Blocks
    Code::Blocks is a free, open-source,
    cross-platform C, C++ and Fortran IDE
    built to meet the most demanding needs
    of its users. It is designed to be very
    extens...
    Download Code::Blocks
  • More »

Linux commands

Ad