我期待在Logstash中收到的输入上使用数学运算,但是看不到任何此类过滤器。
输入如下:
{
"user_id": "User123",
"date": "2016 Jun 26 12:00:12",
"data": {
"doc_name": "mydocs.xls",
"doc_size": "8526587",
}
}
Run Code Online (Sandbox Code Playgroud)
“ doc_size”字段将具有字节,我想添加一个新字段,例如“ doc_size_mb”,其中将包含以MB为单位的大小。
所以我想要一个简单的除法运算,例如:
doc_size_mb = doc_size /(1024 * 1024)
该logstash-filter-math不是核心插件,但它是可用在这里。您可以按顺序执行以下步骤或进行安装:
> 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
Run Code Online (Sandbox Code Playgroud)
如果您不想为此安装第三方插件,也可以使用ruby过滤器轻松实现相同的计算:
filter {
ruby {
code => "event['data']['doc_size_mb'] = event['data']['doc_size'].to_i / (1024 * 1024)"
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4647 次 |
| 最近记录: |