第16章-插件

Logstash拥有丰富的输入、过滤器、编解码器和输出插件。插件可作为独立的gems包托管在RubyGems.org上。通过 bin/logstash-plugin 脚本访问的插件管理器,来管理插件的生命周期。您可以使用下面命令行接口(CLI)来安装、删除和升级插件。

代理配置

大多数插件管理器命令都需要访问互联网上的 RubyGems.org。如果您的服务器位于防火墙后面,则可以设置这些环境变量,从而配置Logstash使用您的代理。

export http_proxy=http://localhost:3128
export https_proxy=http://localhost:3128

插件清单

Logstash发行包捆绑了常见的插件,因此您可以直接使用它们。部署中当前可用的插件包括:

bin/logstash-plugin list ①
bin/logstash-plugin list --verbose ②
bin/logstash-plugin list '*namefragment*' ③
bin/logstash-plugin list --group output ④

① 将列出所有已安装的插件

② 将列出已安装的插件及版本信息

③ 将列出包含namefragment的所有已安装插件

④ 将列出特定组的所有已安装插件(输入,过滤器,编解码器,输出)

安装插件

通常情况下,您可以通过访问互联网来安装插件。此时,您可以在公共存储库(RubyGems.org)上查询插件,并在Logstash中进行安装。

bin/logstash-plugin install logstash-output-kafka

成功安装插件后,您可以在配置文件中开始使用它。

高级:从本地安装插件

在某些情况下,您希望安装尚未发布或未托管在RubyGems.org上的插件。 Logstash为您提供了从本地安装插件的方式,该插件打包为ruby gem。使用文件位置:

bin/logstash-plugin install /path/to/logstash-output-kafka-1.0.0.gem

高级:使用 --path.plugins

使用Logstash --path.plugins 参数,您可以加载文件系统上的插件源代码。通常,这是在迭代自定义插件,并希望在创建ruby gem之前测试它的开发人员使用的。

路径需要位于特定的目录层次结构中:PATH/logstash/TYPE/NAME.rb,其中TYPE是输入过滤器、输出或编解码器,NAME是插件的名称。

#假设代码位于 /opt/shared/lib/logstash/inputs/my-custom-plugin-code.rb
bin/logstash --path.plugins /opt/shared/lib

更新插件

插件有自己的发布周期,通常独立于Logstash的核心发布周期发布。 使用update子命令可以获得最新版本的插件。

bin/logstash-plugin update ①
bin/logstash-plugin update logstash-output-kafka ②

① 将更新所有已安装的插件

② 将仅更新此插件

删除插件

如果您需要从Logstash安装中删除插件:

bin/logstash-plugin remove logstash-output-kafka

代理支持

前面的部分依赖于Logstash能够与RubyGems.org进行通信。 在某些环境中,转发代理用于处理HTTP请求。 通过设置 HTTP_PROXY 环境变量,可以通过代理安装和更新Logstash插件:

export HTTP_PROXY=http://127.0.0.1:3128

bin/logstash-plugin install logstash-output-kafka

一旦设置,安装、更新等插件命令可以通过此代理使用。

results matching ""

    No results matching ""