2013-04-10 1 views
0

L'application que je suis débogage crée des fichiers journaux avec de nombreux appels API enregistrés comme deux événements:Grep comme des lignes à proximité de ElasticSearch

timestamp1 request_ip-->{$URL} 
timestamp2 response_ip<--{$DATA} 

J'ai récemment commencé à affluer les journaux dans ElasticSearch à l'aide LogStash (avec Kibana comme une bande avant).

Y a-t-il un moyen de faire une recherche qui inclut des lignes à proximité? Supposons que la requête et la réponse sont toujours consécutives, si cela aide.

Avec grep je l'aurais fait:

grep -A 1 "-->{$URL}" 

Comment puis-je faire la même chose avec un déploiement LogStash + ElasticSearch existant?

+0

peut-être quelque chose avec une gamme de timestamps? – Phil

Répondre

0

Je pense que c'est le cas de multi-line filter in LogStash. Bien que je ne sois pas sûr des détails exacts, je ne construis pas de RegEx pour vous, mais votre modèle serait autour de request_ip et "what" qui connecte plusieurs lignes serait regex autour de response_ip. Je ne suis pas sûr si ce que je dis est assez clair, mais le lien de la documentation devrait vous fournir les pistes. J'espère que cela t'aides.

+0

J'utilise plusieurs lignes avec beaucoup de succès pour certaines choses, mais cela ne fonctionne que sur des lignes consécutives. Je suppose que je devrais ajouter une option pour le client (Kibana) pour soutenir une sous-requête de toutes sortes. – OmerGertel

Questions connexes