Il s'agit de la commande grok qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks à l'aide de l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS
PROGRAMME:
Nom
grok - analyse les journaux, gère les événements et rend votre texte non structuré structuré.
SYNOPSIS
grok [-d] -f fichier de configuration
DESCRIPTION
Grok est un logiciel qui vous permet d'analyser facilement les journaux et autres fichiers. Avec grok, vous pouvez
transformer les données de journal et d'événement non structurées en données structurées.
Le programme grok est un excellent outil pour analyser les données de journal et la sortie du programme. Vous pouvez faire correspondre
n'importe quel nombre de modèles complexes sur n'importe quel nombre d'entrées (processus et fichiers) et ont
réactions personnalisées.
OPTIONS
-d or --démon
Daemonize après avoir analysé le fichier de configuration. Mis en œuvre avec démon(3). La valeur par défaut est de
rester au premier plan.
-f fichier de configuration
Spécifiez un fichier de configuration Grok à utiliser.
CONFIGURATION
Vous pouvez appeler le fichier de configuration comme vous le souhaitez. Un exemple de configuration complet suit ci-dessous, avec
documentation sur les options et les valeurs par défaut.
# --- Commencer l'exemple de configuration de Grok
# Ceci est un commentaire. :)
#
# activer ou désactiver le débogage. Le débogage est défini sur false par défaut.
# le paramètre 'debug' est valide à tous les niveaux.
# valeurs de débogage sont copiées vers le bas, sauf si elles sont remplacées.
débogage : vrai
# vous pouvez définir plusieurs blocs de programme dans un fichier de configuration.
# un programme est juste une collection d'entrées (fichiers, exécutables) et
# correspondances (modèles et réactions),
programme {
débogage : faux
# fichier sans bloc. le bloc de paramètres est facultatif
fichier "/var/log/messages"
# fichier avec un bloc
fichier "/var/log/secure" {
# follow signifie suivre un fichier comme 'tail -F' mais commence
# lecture au début du fichier. Un fichier est suivi
# par troncature, rotation de journal et ajout.
suivre : vrai
}
# exécuter une commande, le bloc de paramètres est facultatif
exec "netstat -rn"
# exec avec un bloc
exec "ping -c 1 www.google.com" {
# réexécute automatiquement l'exec s'il se termine, dès qu'il se termine.
# par défaut est faux
redémarrage à la sortie : faux
# temps minimum d'un démarrage au démarrage suivant, si nous
# redémarrent. La valeur par défaut n'est pas minimale
intervalle de redémarrage minimal : 5
# exécuté toutes les N secondes, mais seulement si le processus est terminé.
# par défaut est de ne pas réexécuter du tout.
intervalle d'exécution : 60
# par défaut, la sortie du processus est lue uniquement à partir de stdout.
# définissez ceci sur true pour lire également à partir de stderr.
read-stderr : faux
}
# Vous pouvez avoir plusieurs blocs de correspondance {} dans votre configuration.
# Ils sont appliqués, dans l'ordre, à chaque ligne d'entrée qui
# vient de votre exec et des instances de fichier dans ce bloc de programme.
rencontre {
# correspond à un modèle. Cela peut être n'importe quelle expression régulière et peut inclure %{foo}
# motifs de grok
motif : "quelque motif correspondant"
# Vous pouvez avoir plusieurs modèles ici, tous sont valides pour la correspondance.
motif : "un autre motif à associer"
# la réaction par défaut est "%{@LINE}" qui est la ligne complète
# correspond. la réaction peut être une valeur spéciale de « aucun » qui
# signifie qu'aucune réaction ne se produit, ou qu'il peut s'agir de n'importe quelle chaîne. Les
# la réaction est émise vers le shell si ce n'est pas le cas.
réaction : "%{@LINE}"
# le shell par défaut est 'stdout' ce qui signifie que les réactions sont
# imprimé directement sur la sortie standard. Réglage de la coquille sur un
# la chaîne de commande exécutera cette commande et dirigera les données de réaction vers
# ce.
#shell : stdout
coquille: "/ Bin / sh"
# vidage après chaque écriture dans le shell.
# La valeur par défaut est de ne pas vider.
flush : vrai
# break-if-match signifie ne pas tenter d'autres correspondances sur
# cette ligne. Le défaut est faux.
break-if-match : vrai
}
}
# -- Fin de la configuration
RECONNAISSANCE DES DOSSIERS
Les fichiers de modèles contiennent des listes de noms et de modèles à charger dans grok.
Les modèles sont délimités par des retours à la ligne et ont cette syntaxe :
nom du motif expression
Tout espace entre le nom du modèle et l'expression est ignoré.
nom du motif
C'est le nom de votre pattern qui, une fois chargé, peut être référencé dans les patterns comme
%{nom du modèle}
expression
L'expression ici est, textuellement, disponible en tant qu'expression régulière. Tu n'as pas besoin
se soucier de la façon d'échapper aux choses.
RECONNAISSANCE EXEMPLES
CHIFFRES \d+
HELLOWORLD \bbonjour le monde\b
ORDINAIRE EXPRESSIONS
Le moteur d'expression sous grok est PCRE. Toute syntaxe dans PCRE est valide dans grok.
RÉACTIONS
Les réactions peuvent faire référence à des modèles nommés à partir de la correspondance. Vous pouvez également accéder à quelques autres
valeurs spéciales, y compris :
%{@LIGNE}
La ligne correspond.
%{@RENCONTRE}
La sous-chaîne correspond
%{@DÉBUT}
La position de départ de la correspondance depuis le début de la chaîne.
%{@FINIR}
La position de fin du match.
%{@LONGUEUR}
La durée du match
%{@JSON}
L'ensemble complet des modèles capturés, codés en tant que dictionnaire json sous la forme d'une structure de {
motif : [ tableau de captures ] }. Nous utilisons un tableau car vous pouvez utiliser le même nom
modèle plusieurs fois dans un match.
%{@JSON_COMPLEX}
Similaire à ce qui précède, mais inclut les positions de début et de fin pour chaque motif nommé.
Cette structure est :
{ "grok": [
{ "@LINE": { "start": ..., "end": ..., "value": ... } },
{ "@MATCH": { "start": ..., "end": ..., "value": ... } },
{ "patternname": { "start": startpos, "end": endpos, "value": "string" } },
{ "patternname2": { "start": startpos, "end": endpos, "value": "string" } },
] }
RÉACTION FILTRES
Les filtres de réaction vous permettent de muter les données capturées. Les filtres suivants sont
disponible:
Voici un exemple d'utilisation d'un filtre dans une réaction :
réaction : "echo Correspondance : %{@MATCH|shellescape}"
coquillage
Échappe tous les caractères nécessaires pour sécuriser la chaîne dans un shell sans guillemets
argument
shelldqescape
Échappe les caractères nécessaires à la sécurité entre guillemets doubles dans un shell.
jsonencode
Rend la chaîne sûre à représenter dans une chaîne json (s'échappe selon json.org
recommandations)
Utilisez Grok en ligne en utilisant les services onworks.net