J'utilise 'filebeat' comme expéditeur et le client l'envoie en redis, lit depuis redis avec logstash et l'envoie en ES.Filtre logstash - half json line parse
Je suis en train d'analyser la ligne d'exemple suivant:
09:24:01.969 watchdog - INFO - 100.140.2 PASSED: Mobile:Mobile[].popover["mc1814"].select(2,) :706<<<<<<<<<<<<<<<<<<< {"actionDuration":613}
En fin de compte je veux avoir un nom sur le terrain: « ActionDuration » avec la valeur: 613.
Comme vous pouvez le voir c'est partiellement JSON. - J'ai essayé d'utiliser le filtre grok, avec add_field et match et j'ai essayé de changer quelques configurations dans le fichier et le logstash.
J'utilise les configurations de base: filebeat.conf:
filebeat.prospectors:
input_type: log
paths:
- /sketch/workspace/sanity-dev-kennel/out/*.log
fields:
- type: watchdog
- BUILD_ID: 82161
S'il y a une possibilité de le faire dans le côté filebeat je préfère, mais il est aussi bon du côté Logstash.
Merci beaucoup, Moshe
Merci pour la réponse rapide, Je reçois l'erreur suivante: "json_error": "décodage d'erreur JSON: JSON: ne peut pas le numéro unmarshal en valeur Go de carte de type d'interface [chaîne] {}", –
Il doesn ne fonctionne pas pour moi, j'utilise la version de la pile ELK 5.1.1, BTW il y a quelques journaux sans le json à la fin. –
avoir une idée pour le résoudre? –