2016-06-28 8 views
1

Ich freue mich auf mathematische Operationen auf die Eingabe in Logstash erhalten, aber keine solche Filter zu sehen.Mathematische Funktionen in Logstash

Eingang ist wie folgt:

{ 
    "user_id": "User123", 
    "date": "2016 Jun 26 12:00:12", 
    "data": { 
    "doc_name": "mydocs.xls", 
    "doc_size": "8526587", 
    } 
} 

Die „DOC_SIZE“ Feld Bytes haben, ich möchte ein neues Feld hinzuzufügen sagen „doc_size_mb“, die die Größe in MBs enthalten.

Deshalb möchte ich eine einfache Divisionsoperation so wie hier:

doc_size_mb = DOC_SIZE/(1024 * 1024)

Ich konnte ein link sehen, die sagt Logstash Mathe-Filter hat, aber das ist nicht sichtbar here .

+0

Wenn Sie Kibana zur Visualisierung Ihrer Daten verwenden, unterstützt es alternativ Skriptfelder, die Ihre Berechnungen ausführen können. – pandaadb

Antwort

2

Die logstash-filter-math ist kein Kern-Plugin, aber es ist verfügbar here. Sie können die nächsten Schritte folgen, um oder installieren:

> git clone https://github.com/robin13/logstash-filter-math.git 
> cd logstash-filter-math 
> gem build 
> $LS_HOME/bin/logstash-plugin install logstash-filter-math-0.2.gem 

Wenn Sie ein 3rd-Party-Plugin nicht nur für das installieren möchten, können Sie auch einfach die gleiche Berechnung erreichen mit einem ruby filter:

filter { 
    ruby { 
     code => "event['data']['doc_size_mb'] = event['data']['doc_size'].to_i/(1024 * 1024)" 
    } 
}