使用插件

编辑

macOS Gatekeeper 警告

Apple 推出了更严格的公证要求,影响了 8.16.0 Logstash 工件的公证。如果 macOS Catalina 在您首次运行 Logstash 时显示对话框,则需要采取措施以允许其运行。要防止 Gatekeeper 检查 Logstash 文件,请在下载的 .tar.gz 存档或解压缩到的目录上运行以下命令

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

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

xattr -d -r com.apple.quarantine logstash-8.16.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 

列出所有已安装的插件

列出已安装插件及其版本信息

列出所有包含名称片段的已安装插件

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

将插件添加到您的部署

编辑

当您有权访问互联网时,您可以检索托管在 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 filtersoutputscodecs,而 NAME 为插件的名称。

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