Exec 输出插件编辑

  • 插件版本:v3.1.4
  • 发布时间:2018-04-06
  • 更新日志

有关其他版本,请参阅版本化插件文档

安装编辑

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

获取帮助编辑

有关插件的问题,请在论坛中打开一个主题。对于错误或功能请求,请在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编辑

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

enable_metric编辑

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

id编辑

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

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

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

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