2017-06-15 3 views
0

Ich habe Dateibeat, die an kafka ausgibt.
Abhängig von type des Dokuments, muss ich Protokolle zu verschiedenen Themen senden.Filebeat, Kafka - Thema Name von% {[Typ]} oder konstanter Wert?

In Pseudo-Code:

if(type == type1) 
topic = 'special.type1.topic' 
... 
else 
topic = '%{[type]}' 

Ich fand, dass dies möglich ist:

topics: 
     - topic: 'special.type1.topic' 
     when: 
      equals: 
      %{[type]}: type1 

Aber wenn type keiner der getesteten ist, möchte ich Standard-Thema-Namen verwenden, wie in pseudo gesehen von else Aussage. Ist das möglich ?

Antwort

0

ein Standardthemenfeld für alle nicht getesteten Dateien bereitstellen. Wenn keine der Regeln in "Themen" übereinstimmt, wird das Themenfeld verwendet.

In diesem Fall brauchen Sie keine Regel für sonst in "Themen". Dort wird Ihre Konfiguration in etwa so aussehen:

topic: untested-files 
    topics: 
     - topic: 'special.type1.topic' 
     when: 
      equals: 
      %{[type]}: type1 
+0

Hallo, danke für die Antwort. Ich löste es, indem ich document_type standardisierte und jetzt verwende ich die Themendefinition als: topic = '% {[proj}].% {[App]}.% {[Type]}'. Aber ich werde deine Antwort als gelöst markieren, weil Leute nach dieser Lösung suchen. Ich habe Ihre Lösung nicht getestet. – milkamar

Verwandte Themen