[Logstash] Recherche d'une solution


(Rodolphe) #1

Bonjour,

Je suis novice dans ELK et je suis en formation concepteur et développeur informatique.

Alors voila mon problème, lors de la récupération de mes logs chaque ligne comprend un idUnique(Timestamp), un statut ( 0 , 10 ou 100), un numéro de dossier et d'autres informations.

Statut 0 -> Initialisation d'un dossier
Statut 10 -> Mise à jour
Statut 100 -> Clôture du dossier

Ce que je souhaite faire :

  • Statut 0 je crée mes champs etc ..
  • Statut 10 j'actualise mes champs crées par rapport au numéro de dossier et je créais un nouveau champ comprenant les informations de chaque statut.
  • Statut 100 idem que le statut 10.

Actuellement j'arrive à actualiser tous mes champs lors du changement de chaque statut, le réel problème et la création d'un champs comprenant tout les statuts du dossier ainsi que les informations concernant la LOG.

À savoir également que les logs d'un dossier n'arrivent pas à la suite, il peut également avoir une trentaine de statut 10( Mise à jour du dossier).

J’espère avoir été assez clair ..

Merci de votre aide.


(Julien) #2

Je ne suis pas certain de comprendre...
Est-ce que la question est tout simplement de savoir si/comment il est possible d'ajouter de la donnée sur un champs actuel (au lieu de remplacer les données qui est ce que l'action update fait normalement)

Si c'est le cas, voici un exemple (testé sur 5.5.2).

input {
stdin {
}
}
output {
elasticsearch {
index => "test_logstash"
user => "elastic"
password => "changeme"
document_id => "1"
action => "update"
script => 'ctx._source.message += "%{[message]}"'
}
}

Puis dans la console
PUT /test_logstash/logs/1
{
"message" : "chien "
}

En lancant logstash -f nomduficherdeconf.conf, taper
chat [ENTER]

Le résultat dans la console de GET test_logstash/logs/1 sera:
"message": "chien chat "


(Rodolphe) #3

Merci julien pour ta réponse, j'avais déjà penser à cette solution mais elle n'a pas accepter.

Voici plus clairement mon problème avec un aperçu de mes LOGS :

Contexte :

  • Chaque dossier
    comprend un statut, 0 initialisation, 10 mise à jour, 100 fin du dossier.

  • De plus nous pouvons avoir environ 500 dossiers ouverts en même temps(Statut
    10).

             - Volume de données :
    

Environ 4000 ouvertures de dossiers par jour, un dossier dure environ 40min
avec une LOG toutes les 5 secondes, environ 2Millions de LOG par jour.

Nous avons dans l’exemple trois dossiers
différents :

  • un dossier terminé (F7C150437AA)

  • un dossier ninitialisé (F7C151060AA)

  • un dossier en cours (F7C150756AA)

Contexte :

            -Nous souhaitons faire afficher seulement les dossiers qui ont eu un statut 0 et un statut 10 c’est  à dire le dossier : F7C150756AA.  

Je souhaite éviter l'update sur les champs, avez-vous une solution à nous proposer ?


(system) #4

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.