使用插件

编辑

macOS Gatekeeper 警告

Apple 推出了更严格的公证要求,这影响了 8.17.0 Logstash 制品的公证。如果 macOS Catalina 在您首次运行 Logstash 时显示对话框,您需要采取操作以允许其运行。为了防止 Gatekeeper 对 Logstash 文件进行检查,请在下载的 .tar.gz 归档文件或解压到的目录上运行以下命令

xattr -d -r com.apple.quarantine <archive-or-directory>

例如,如果 .tar.gz 文件被解压到默认的 logstash-8.17.0 目录,则该命令为

xattr -d -r com.apple.quarantine logstash-8.17.0

或者,如果出现 Gatekeeper 弹出窗口,您可以按照 在 Mac 上安全打开应用如何打开未公证或来自未识别开发者的应用部分中的说明添加安全覆盖。

Logstash 拥有丰富的输入、过滤器、编解码器和输出插件集合。查看 Elastic 支持矩阵,了解哪些插件在各个级别得到支持。

插件以称为 gem 的自包含软件包的形式提供,并托管在 RubyGems.org 上。使用插件管理器脚本 -- bin/logstash-plugin -- 来管理插件

没有网络连接?

编辑

如果您没有网络连接,请查看 离线插件管理,了解有关 构建安装更新 离线插件包的信息。

代理配置

编辑

大多数插件管理器命令都需要访问互联网才能到达 RubyGems.org。如果您的组织位于防火墙后面,您可以设置这些环境变量来配置 Logstash 以使用您的代理。

export http_proxy=https://127.0.0.1:3128
export https_proxy=https://127.0.0.1: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-input-github

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

更新插件

编辑

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

bin/logstash-plugin update 
bin/logstash-plugin update logstash-input-github 

更新所有已安装的插件

仅更新您指定的插件

移除插件

编辑

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

bin/logstash-plugin remove logstash-input-github

高级:添加本地构建的插件

编辑

在某些情况下,您可能需要安装尚未发布且未托管在 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 是 inputs filters, outputscodecs,NAME 是插件的名称。

# supposing the code is in /opt/shared/lib/logstash/inputs/my-custom-plugin-code.rb
bin/logstash --path.plugins /opt/shared/lib