我正在使用 Logstash 2.3.2,对于我的一个项目,我必须在 RAM 中保存一些数据。我在 stackoverflow 上问了一个问题(Logstash:是否可以将文档保存在内存中?)以获得一个过滤器,最合适的过滤器是 memcached(即使这个是非官方的)。
我下载了插件,生成了 gem 文件(不为空),并且成功安装了插件。
但是,当我在配置文件中使用此过滤器运行logsatsh时,出现以下错误:
:reason=>"Couldn't find any filter plugin named 'memcached'. Are you sure this is correct? Trying to load the memcached filter plugin resulted in this error: no such file to load -- logstash/filters/memcached", :level=>:error}
此外,当我使用命令 bin/logstah-plugin list 时,过滤器 memcached 不存在。
我不明白为什么会这样。我遵循了这个讨论(https://discuss.elastic.co/t/logstash-plugin-installed-but-not-found/24369)但没有成功!
那么,你知道我该如何解决这个问题吗?
感谢您的关注和帮助。
乔
这是要遵循的过程:
A.在
logstash-filter-cache-memcached.gemspec
中修改这一行
s.add_runtime_dependency 'logstash-core', '>= 1.4.0', '< 2.0.0'
到
s.add_runtime_dependency 'logstash-core', '>= 1.4.0', '< 3.0.0'
B.运行以下命令来构建您的插件
> gem build logstash-filter-cache-memcached.gemspec
C.在您的logstash文件夹中,安装插件:
> bin/logstash-plugin install /path/to/logstash-filter-cache-memcached/logstash-filter-cache-memcached-0.1.1.gem
这应该会产生这样的结果:
Validating /path/to/logstash-filter-cache-memcached/logstash-filter-cache-memcached-0.1.1.gem
Installing logstash-filter-cache-memcached
Installation successful
D。验证您的插件是否正确安装
> bin/logstash-plugin list | grep cache
logstash-filter-cache-memcached
E。运行快速测试看看是否有效:
> bin/logstash -t -e 'input{stdin{}} filter {memcached{namespace => "test" host => "localhost:11211" key => "test" field => "message" ttl=>60}} output {stdout{}}'
你应该看到这个:
memcached plugin doesn't have a version. This plugin isn't well
supported by the community and likely has no maintainer. {:level=>:warn}
Configuration OK
这是给一年后的我的。 我在尝试自定义logstash-input-redis插件时遇到了这个问题,我添加了
require 'redis-cluster-client'
,完成了代码,bundle execute rspec
,gem build
和logstash-plugin install ...
成功,但logstash无法启动。
3天后,我用--log.level debug
启用了调试日志,发现它无法加载“redis-cluster-client”,而邪恶的是,这个导致崩溃的问题记录在调试级别。
我也尝试过使用 Logstash 的文档来实现外部依赖,但它似乎并没有做任何更好的事情。
最后,我通过将下载的二进制文件中的 JRUBY_HOME 环境变量更改为
JRUBY_HOME=$LOGSTASH_HOME/vendor/jruby
来让它工作,然后我清理 gem,删除然后重新安装插件,它终于可以工作了。
如果这对你有帮助,请给我一个star https://github.com/tai-tran-tan/logstash-input-redis_cluster 祝朋友好运!