One Filebeat/One Logstash multiple pipelines


(Thibaud) #1

Bonjour tout le monde, j'aimerais savoir si il était possible de link l'output filebeat au pipeline.id défini dans le pipelines.yml de logstash pour ne pas avoir à instancier plusieurs filebeat et n'utiliser qu'un port sur logstash, par exemple 5044, le filtrage serait implicite sur le pipeline.id?

pipelines.yml de logstash

    - pipeline.id: messages
      queue.type: persisted
      path.config: "/etc/logstash/conf.d/messages.conf"
    - pipeline.id: logtechs
      queue.type: persisted
      path.config: "/etc/logstash/conf.d/log_techs.conf"

Par exemple, pour le filebeat.yml :

    filebeat.inputs:
    - type: log
        enabled: true
        paths:
          - /*messages.log
        **pipeline.id: messages**
    - type: log
        enabled: true
        paths:
         - /*logtechs.log
        **pipeline.id: logtechs**

J'espère avoir été assez clair. Bonne journée !


(David Pilato) #2

Je ne vois pas d'option de ce type.


(Thibaud) #3

D'accord j'ai dû mal comprendre ce post :

Instead of running multiple filebeat + Logstash with multiple ports, you can forward events to respective pipelines using conditionals. E.g. inputs in filebeat have a pipeline setting. This setting is used for selecting an Elasticsearch Ingest Node pipeline. I like to use the setting for sending to Logstash as well. If set the beat will send the pipeline name in [@metadata][pipeline] to Logstash. Here it can be used for filtering. Logstash drops the [@metadata] when publishing events to it's outputs.

Merci pour la réponse. Bonne journée !


(David Pilato) #4

Oui. Ca veut dire que tu n'envoies que vers un seul pipeline logstash mais tu peux écrire des conditions pour exécuter x y ou z suivant la source.

Avec Ingest ce sera plus facile car tu vas envoyer vraiment vers des pipelines distincts.


(system) closed #5

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