logstash中更新数据到es的groovy脚本中如何使用参数呢?当script type是file的时候

charlesl 发布于 2016/10/19 14:37
阅读 864
收藏 0

@路小磊 你好,想跟你请教个问题:拜读过您的elk权威指南译本,最近碰到一个问题,期望得到您的帮助,是这样的:


我使用logstash插入和更新日志数据到es,更新的时候使用了groovy动态脚本,最近遇到两次永久代内存溢出的异常,初步观察和判断是因为动态脚本导致内存泄漏,因此想更改script type为file,这样脚本只会编译一次就ok了,但是这时候发现logstash好像没办法像es的api那样可以给脚本传递参数?怎么着才能把logstash的filter处理之后的某些字段在脚本文件中读取呢?

加载中
0
charlesl
charlesl

找到解决办法了。可以通过script_var_name设置一个变量名字,如果不设置的话默认的是‘event’,这个变量包含了logstash本身的事件,然后在脚本中引用这个变量来读取logstash事件中的字段值。

希望对遇到相同问题的人有所帮助。

0
路小磊
路小磊
不好意思,logstash不熟唉
0
smart152819
smart152819

夜行侠老师视频教学:es问题汇总
http://www.itjoin.org/
1、如何防止索引被删除
2、搜索的精准性控制
3、解决搜索中英文数字混合
4、搜索中in查询
5、安装问题
6、es源码内部是如何做到插件化扩展
7、统计时展示不全
8、搜索条件过多,内容过长报错
9、索引某一字段内容太大
10、自动补全设计
11、es的分布式如何实现RPC底层
12、es的分片机制
13、head插件的使用
14、es分片和副本级的是原理
15、如何做到只更新部分数据
16、数组在index中如何制定
17、es搜索结果窗口太大
18、group by里如何
19、es底层新增和删除的全过程
20、es底层检索的全过

返回顶部
顶部