Ceci est ma première expérience avec l'utilisation de grok et elasticsearch. J'essaie d'écrire un fichier grok pour analyser la ligne suivante.Motif grok d'écriture pour séparer les paires de valeurs clés
2017-07-25 10:48:23,477 [[api-my-app-v1-20.0.0].apiHttpListenerConfig.worker.58] INFO esb.api-my-app-v1.get-blah.http.response - transactionID=f61b8053-70d2-11e7-b274-3639cc5335d0 creationTime=2017-07-25T10:48:23.254+10:00 txnState=END timeTaken=11
Jusqu'à présent, je l'ai écrit grok ...
%{TIMESTAMP_ISO8601:timestamp}\s+%{DATA:thread}\s+%{LOGLEVEL:loglevel}\s+%{JAVACLASS:category}\s+-\s+%{GREEDYDATA:msgbody}
Il me redonne cette ....
{
"timestamp": [
[
"2017-07-25 10:48:23,477"
]
],
"YEAR": [
[
"2017"
]
],
"MONTHNUM": [
[
"07"
]
],
"MONTHDAY": [
[
"25"
]
],
"HOUR": [
[
"10",
null
]
],
"MINUTE": [
[
"48",
null
]
],
"SECOND": [
[
"23,477"
]
],
"ISO8601_TIMEZONE": [
[
null
]
],
"thread": [
[
"[[api-my-app-v1-20.0.0].apiHttpListenerConfig.worker.58]"
]
],
"loglevel": [
[
"INFO"
]
],
"category": [
[
"esb.api-my-app-v1.get-blah.http.response"
]
],
"msgbody": [
[
"transactionID=f61b8053-70d2-11e7-b274-3639cc5335d0 creationTime=2017-07-25T10:48:23.254+10:00 txnState=END timeTaken=11"
]
]
}
C'est presque ce que je veux. Comment puis-je séparer le msgbody de mon résultat actuel en paires de valeurs clés?
grâce
Peut-être pourriez-vous expliquer ce que vous voulez extraire? De plus, si vous voulez extraire une paire de valeurs clés, vous pouvez utiliser le filtre [kv] (https://www.elastic.co/guide/fr/logstash/current/plugins-filters-kv.html), une fois que vous avez chaîne contenant uniquement des paires clé-valeur. – baudsp
Salut, Désolé pour l'imprécision. Je suis reformulé ma question pour être plus précis. Votre note à propos du filtre kv semble que cela pourrait être utile pour moi. Je vais y jeter un coup d'oeil maintenant. – Richie
Merci. J'ai ajouté une réponse avec le filtre kv. – baudsp