2016-06-28 4 views
1

Я с нетерпением жду использования математических операций на входе, полученном в Logstash, но неспособного увидеть какой-либо из таких фильтр.Математические функции в Logstash

ввода выглядит следующим образом:

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

«doc_size» поле будет иметь байт, я хотел бы добавить новое поле сказать «doc_size_mb», который будет содержать размер в МБ-х.

Так что я хочу простую операцию деления здесь нравится:

doc_size_mb = doc_size/(1024 * 1024)

я мог видеть link, который говорит Logstash имеет математический фильтр, но это не видно here ,

+0

В качестве альтернативы, если вы используете Kibana для визуализации ваших данных, она поддерживает сценарии полей, которые могут выполнять вашу математику. – pandaadb

ответ

2

logstash-filter-math не является основным плагином, но доступен here. Вы можете выполнить следующие шаги, чтобы или установить его:

> 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 

Если вы не хотите, чтобы установить 3-ий плагин партии только для того, вы можете также легко достичь того же вычисление с ruby filter:

filter { 
    ruby { 
     code => "event['data']['doc_size_mb'] = event['data']['doc_size'].to_i/(1024 * 1024)" 
    } 
} 
Смежные вопросы