Exec 输出插件

编辑
  • 插件版本:v3.1.4
  • 发布日期:2018-04-06
  • 变更日志

对于其他版本,请参阅 版本化插件文档

安装

编辑

对于默认情况下未捆绑的插件,可以通过运行 bin/logstash-plugin install logstash-output-exec 轻松安装。有关更多详细信息,请参阅 使用插件

获取帮助

编辑

有关插件的问题,请在 Discuss 论坛中发起主题。对于错误或功能请求,请在 Github 中打开一个问题。有关 Elastic 支持的插件列表,请参阅 Elastic 支持矩阵

描述

编辑

exec 输出将为接收到的每个事件运行一个命令。将使用 Ruby 的 system() 函数,即命令字符串将传递给 shell。您可以使用 %{name} 和其他动态字符串在命令中传递事件中的选定字段到子进程。示例

    output {
      if [type] == "abuse" {
        exec {
          command => "iptables -A INPUT -s %{clientip} -j DROP"
        }
      }
    }

如果您希望它是非阻塞的,则应使用 &dtach 或其他此类技术。正在运行的命令没有超时,因此行为异常的命令可能会无限期地阻塞 Logstash 管道。

%{name} 字段占位符要格外小心。字段的内容将逐字包含在内,没有任何清理,即字段值中的任何 shell 元字符将直接传递给 shell。

Exec 输出配置选项

编辑

此插件支持以下配置选项以及稍后描述的 通用选项

设置 输入类型 必需

command

字符串

quiet

布尔值

另请参阅 通用选项,以获取所有输出插件支持的选项列表。

 

command

编辑
  • 这是必需的设置。
  • 值类型为 字符串
  • 此设置没有默认值。

通过子进程执行的命令行。使用 dtachscreen 使其成为非阻塞的。此值可以包含 %{name} 和其他动态字符串。

quiet

编辑

将命令的结果显示到终端

通用选项

编辑

这些配置选项受所有输出插件支持

设置 输入类型 必需

codec

codec

enable_metric

布尔值

id

字符串

codec

编辑
  • 值类型为 codec
  • 默认值为 "plain"

用于输出数据的编解码器。输出编解码器是在数据离开输出之前对其进行编码的便捷方法,而无需在 Logstash 管道中使用单独的过滤器。

enable_metric

编辑

禁用或启用此特定插件实例的指标日志记录。默认情况下,我们会记录所有可能的指标,但您可以为特定插件禁用指标收集。

  • 值类型为 字符串
  • 此设置没有默认值。

向插件配置添加唯一的 ID。如果未指定 ID,Logstash 将生成一个。强烈建议在配置中设置此 ID。当您有两个或多个相同类型的插件时,这尤其有用。例如,如果您有 2 个 exec 输出。在这种情况下,添加一个命名 ID 将有助于在使用监控 API 监控 Logstash 时提供帮助。

output {
  exec {
    id => "my_plugin_id"
  }
}

id 字段中的变量替换仅支持环境变量,不支持使用密钥存储中的值。