elasticsearch 弹性搜索+;Logstash:如何在导入时基于现有数据添加字段
目前,我正在通过logstash将数据导入到Elastic中,此时通过读取csv文件 现在让我们假设csv中有两个数字字段,年龄和重量。 我需要动态添加第三个字段,对年龄、重量和其他外部数据(或函数结果)进行数学计算;我需要在导入数据时创建第三个字段 有没有办法做到这一点?elasticsearch 弹性搜索+;Logstash:如何在导入时基于现有数据添加字段,elasticsearch,logstash,kibana,elasticsearch,Logstash,Kibana,目前,我正在通过logstash将数据导入到Elastic中,此时通过读取csv文件 现在让我们假设csv中有两个数字字段,年龄和重量。 我需要动态添加第三个字段,对年龄、重量和其他外部数据(或函数结果)进行数学计算;我需要在导入数据时创建第三个字段 有没有办法做到这一点? 最佳做法是什么?在所有日志存储过滤器部分,您可以通过add\u field添加字段,但这通常是静态数据 如前所述,ruby过滤器插件可能是您的最佳选择。下面是管道的一个示例代码段 filter { # add
最佳做法是什么?在所有日志存储过滤器部分,您可以通过
add\u field
添加字段,但这通常是静态数据
如前所述,ruby过滤器插件可能是您的最佳选择。下面是管道的一个示例代码段
filter {
# add calculated field, for example BMI, from height and weight
ruby {
code => "event['data']['bmi'] = event['data']['weight'].to_i / (event['data']['height'].to_i)"
}
}
或者,在Kibana中,可以可视化,但不能查询“Logstash变量范围”是指在Logstash配置中声明的变量?否。就像在Logstash中解析数据时,可以通过
%{var}
引用它。在某个地方(例如前一个筛选阶段),您需要添加/创建var
字段变量,然后才能引用该变量。请注意,Logstash中ruby
的新语法已从event['field']
更改为event.get('field')