本文翻译自Elast stack官方文档,主要介绍Logstash插件的使用方法。
译文:
Logstash拥有丰富的input,filter,codec和output插件。插件是独立的gems包,托管在RubyGems.org。插件管理器是通过bin/logstash-plugin脚本来使用,用来管理Logstash的插件的生命周期。通过下面的描述,你可以使用命令行来安装,删除,和升级插件。
代理配置:
大部分插件管理命令需要访问RubyGems.org。如果你的组织被网络防火墙阻挡,你可以设置环境变量来配置Logstash使用代理。1
2export http_proxy=http://localhost:3128
export https_proxy=http://localhost:3128
列出插件
Logstash release包已经捆绑了常用的插件,所以你可以直接使用他们。列出当前可用的插件:1
2
3
4bin/logstash-plugin list
bin/logstash-plugin list --verbose
bin/logstash-plugin list '*namefragment*'
bin/logstash-plugin list --group output
- 列出所有已安装插件;
- 列出所有已安装的插件,包括版本信息;
- 列出所有包括namefragment的已安装插件;
- 列出指定组的已安装插件(input, filter, codec, output);
给你的部署环境安装插件
最常见的情况是你通过互联网处理插件安装。使用这个方法,你能够检索托管在RubyGems.org的插件并且安装在你的Logstash上。1
bin/logstash-plugin install logstash-output-kafka
进阶:安装本地编译好的插件
在某些情况下,你可能需要安装还没有发布且没有托管在RubyGems.org的插件。Logstash为您提供了选择,你可以安装本地已编译好的,ruby gem插件包。使用一个文件位置:1
bin/logstash-plugin install /path/to/logstash-output-kafka-1.0.0.gem
使用 –path.plugins
使用Logstash –path.plugins选项,你可以加载在你的文件系统上的插件源码。通常情况下这个被开发人员用来迭代自定义的插件并在创建gem包之前做测试。路径需要位于特定的目录层次结构中:PATH/logstash/TYPE/NAME.rb,TYPE是input, outputs或者codes NAME是插件的名字。1
2# supposing the code is in /opt/shared/lib/logstash/inputs/my-custom-plugin-code.rb
bin/logstash --path.plugins /opt/shared/lib
升级插件
插件有自己的发布周期,通常独立于Logstash的发布周期。使用update子命令,你可以获取到最新版本的插件。1
2bin/logstash-plugin update
bin/logstash-plugin update logstash-output-kafka
- 更新所有已安装插件;
- 只更新指定的插件;
删除插件
如果你需要从Logstash的安装中删除插件:1
bin/logstash-plugin remove logstash-output-kafka
代理支持
之前的章节依赖于Logstash能够访问RubyGems.org。在某些环境下,正向代理用来处理HTTP请求。可以通过设置HTTP_PROXY环境变量来安装和更新Logstash插件:1
2export HTTP_PROXY=http://127.0.0.1:3128
bin/logstash-plugin install logstash-output-kafka
一旦设置了后,就可以使用这个代理来进行插件的安装和更新。