Logstash 输出插件

编辑

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

获取帮助

编辑

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

描述

编辑

将事件发送到另一个进程或另一主机上的管道中的Logstash 输入插件。您必须在下游输入绑定的接口上具有到端口(默认为 9800)的 TCP 路由。

不建议也不支持将事件发送到 *任何* 非 logstash-input 插件的目标。我们将保持与任何两个受支持的输出/输入对版本的交叉兼容性,并保留更改协议和编码等细节的权利。

最小配置

编辑
启用 SSL 禁用 SSL
output {
  logstash {
    hosts => "10.0.0.123:9801"
  }
}
output {
  logstash {
    hosts => "10.0.0.123:9801"
    ssl_enabled
         => false
  }
}

配置概念

编辑

通过指定 hosts 来配置此输出插件以连接到Logstash 输入插件。根据下游插件的配置,您可能还需要配置目标端口、SSL 和/或凭据。

安全:SSL 信任

编辑

当通过 SSL 通信时,此插件在传输凭据或事件之前,会建立对其连接的服务器的信任。

它通过确保响应服务器提供当前有效的证书,该证书的身份声明与它连接的主机匹配,由可信签名机构签名,并提供相关的私钥材料的所有权证明来实现这一点。

默认情况下使用系统信任存储。您可以使用 *以下之一* 提供 *备用* 信任源:

安全:SSL 身份

编辑

如果下游输入插件配置为请求或需要客户端身份验证,您可以配置此插件以使用 *以下之一* 提供其身份证明:

安全:凭据

编辑

如果下游的 logstash-input 插件配置为需要 usernamepassword,您将需要使用匹配的 usernamepassword 配置此输出。

当 SSL 禁用时,数据和凭据将以明文传输。

Logstash 输出配置选项

编辑

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

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

 

hosts

编辑
  • 值类型是字符串列表
  • 此设置没有默认值。
  • 约束

    • 使用 IPv6 时,IP 地址必须用方括号括起来。
    • 如果未提供端口,则使用默认的 9800

要连接到的一个或多个下游 `input` 的地址。

主机可以是 IPv4、IPv6(在方括号中)或主机名,例如

  • "127.0.0.1"
  • "127.0.0.1:9801"
  • "ds.example.com"
  • "ds.example.com:9802"
  • "[::1]"
  • "[::1]:9803"
  • "[2001:0db8:85a3:0000:0000:8a2e:0370:7334]"
  • "[2001:0db8:85a3:0000:0000:8a2e:0370:7334]:9804"

插件在 hosts 之间平衡传入负载。有关更多信息,请访问Logstash 集成插件的“负载均衡”部分。

连接时,除非另行配置,否则与下游输入 Logstash 的通信将通过 SSL 进行保护。

禁用 SSL 是危险的

此插件的安全性依赖于 SSL 来避免泄露凭据并避免运行非法的摄取管道定义。

当使用 SSL 时,响应的服务器必须提供一个证书,其身份声明与此主机名或 IP 地址匹配。

password

编辑
  • 值类型为密码
  • 此设置没有默认值。
  • 当配置了username时,是必需的。

用于基于密码的身份验证的密码。

当下游输入插件配置了 usernamepassword 时,您还必须使用匹配的 username/password 对配置上游输出。

ssl_enabled

编辑

Logstash 到 Logstash 的通信默认是安全的。当下游输入插件禁用 SSL 时,此处也必须禁用它。

您可以使用 +ssl_enabled => false+ 禁用 SSL。禁用后,设置任何 ssl_* 配置都会导致配置失败。

ssl_certificate

编辑
  • 值类型为路径
  • 此设置没有默认值。
  • 存在时,还需要ssl_key
  • 不能与禁用 SSL 的配置组合使用。

PEM 编码的证书或证书链的路径,用于向连接的下游输入标识此插件。

ssl_certificate_authorities

编辑

一个或多个 PEM 编码的文件,用于定义证书颁发机构,用于下游输入身份验证。此设置可用于*覆盖*用于验证下游输入提供的 SSL 证书的系统信任存储。

ssl_key

编辑
  • 值类型为路径
  • 此设置没有默认值。
  • 当使用ssl_certificate配置连接身份时是必需的。
  • 不能与禁用 SSL 的配置组合使用。

PEM 编码的*未加密* PKCS8 SSL 证书密钥的路径。

ssl_keystore_path

编辑
  • 值类型为路径
  • 此设置没有默认值。
  • 存在时,还需要ssl_keystore_password
  • 不能与禁用 SSL 的配置组合使用。

JKS 或 PKCS12 格式的密钥库的路径,用于向下游输入标识此插件。如果下游输入启用SSL 客户端身份验证,则将使用提供的身份。

ssl_keystore_password

编辑
  • 值类型为密码
  • 此设置没有默认值。
  • 当使用ssl_keystore_path配置连接身份时是必需的。
  • 不能与禁用 SSL 的配置组合使用。

ssl_keystore_path的密码

ssl_truststore_path

编辑

JKS 或 PKCS12 格式的信任存储的路径,用于验证下游输入的身份声明。如果下游输入启用SSL 客户端身份验证,则将使用提供的身份。

ssl_truststore_password

编辑
  • 值类型为密码
  • 此设置没有默认值。
  • 当使用ssl_truststore_path配置连接身份时是必需的。
  • 不能与禁用 SSL 的配置组合使用。

ssl_truststore_path的密码

ssl_verification_mode

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

    • full:验证客户端提供的证书是否具有与hosts匹配的身份声明,是否由可信机构 (CA) 签名,是否在其有效日期范围内,以及客户端是否拥有相关密钥。
    • none:不对提供的证书执行任何验证
  • 默认值为 full
  • 不能与禁用 SSL 的配置组合使用。

当通过 SSL 通信时,此设置控制如何验证下游输入的证书。

username

编辑

用于基于密码的身份验证的用户名。

当下游输入插件配置了 usernamepassword 时,您还必须使用匹配的 username/password 对配置上游输出。

当 SSL 禁用时,凭据将以明文传输。

通用选项

编辑

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

设置 输入类型 必需

enable_metric

布尔值

id

字符串

enable_metric

编辑

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

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

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

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

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