管道输入插件

编辑
  • 插件版本:v3.1.0
  • 发布日期:2021-11-18
  • 更新日志

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

获取帮助

编辑

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

描述

编辑

从长时间运行的命令管道中流式传输事件。

默认情况下,每个事件都假定为一行。如果想要连接多行,则需要使用多行编解码器。

与 Elastic Common Schema (ECS) 的兼容性

编辑

此插件添加有关事件来源的额外字段。 如果您想确保这些字段与 ECS 兼容,请配置 ecs_compatibility 选项。

这些字段在事件被适当的编解码器解码后添加,不会覆盖现有值。

ECS 已禁用 ECS v1, v8 描述

主机

[host][name]

处理事件的 Logstash 主机的名称

命令

[process][command_line]

插件运行的命令

管道输入配置选项

编辑

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

设置 输入类型 必需

命令

字符串

ecs_compatibility

字符串

另请参阅通用选项,了解所有输入插件支持的选项列表。

 

command

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

要运行并从中逐行读取事件的命令。

示例

input {
  pipe {
    command => "echo ¡Hola!"
  }
}

ecs_compatibility

编辑
  • 值类型为字符串
  • 支持的值为

    • disabled:使用向后兼容的字段名称,例如 [host]
    • v1, v8:使用与 ECS 兼容的字段,例如 [host][name]

控制此插件与 Elastic Common Schema (ECS) 的兼容性。 有关详细信息,请参阅与 Elastic Common Schema (ECS) 的兼容性

示例输出:ECS 已启用

{
    "@timestamp"=>2021-11-16T09:18:45.306Z,
    "message" => "¡Hola!",
    "process" => {
        "command_line" => "echo '¡Hola!'"
    },
    "host" => {
        "name" => "deus-ex-machina"
    }
}

示例输出:ECS 已禁用

{
    "@timestamp"=>2021-11-16T09:18:45.306Z,
    "message" => "¡Hola!",
    "command" => "echo '¡Hola!'",
    "host" => "deus-ex-machina"
}

通用选项

编辑

所有输入插件都支持这些配置选项

设置 输入类型 必需

add_field

哈希

codec

codec

enable_metric

布尔值

id

字符串

tags

数组

type

字符串

add_field

编辑
  • 值类型为哈希
  • 默认值为 {}

向事件添加字段

codec

编辑

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

enable_metric

编辑

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

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

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

input {
  pipe {
    id => "my_plugin_id"
  }
}

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

tags

编辑
  • 值类型为数组
  • 此设置没有默认值。

向您的事件添加任意数量的标签。

这有助于以后的处理。

type

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

向此输入处理的所有事件添加 type 字段。

类型主要用于过滤器激活。

该类型作为事件本身的一部分存储,因此您也可以使用该类型在 Kibana 中进行搜索。

如果您尝试在已经具有类型的事件上设置类型(例如,当您将事件从 shipper 发送到索引器时),则新的输入将不会覆盖现有类型。 在 shipper 上设置的类型将在事件的生命周期内保留,即使发送到另一个 Logstash 服务器也是如此。