Logstash 输出插件编辑

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

获取帮助编辑

如果您对插件有任何疑问,请在 论坛 中打开一个主题。对于错误或功能请求,请在 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 格式的密钥库的路径,用于向 downstream 输入标识此插件。如果 downstream 输入启用了 SSL 客户端身份验证,则将使用提供的身份。

ssl_keystore_password编辑

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

ssl_keystore_path 的密码

ssl_truststore_path编辑

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

ssl_truststore_password编辑

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

ssl_truststore_path 的密码。

ssl_verification_mode编辑

  • 值类型为 字符串
  • 支持的模式有:

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

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

username编辑

  • 值类型为 字符串
  • 此设置没有默认值。
  • 当存在时,password 也是必需的。

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

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

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

通用选项编辑

所有输出插件都支持以下配置选项

设置 输入类型 必需

enable_metric

布尔值

id

字符串

enable_metric编辑

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

id编辑

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

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

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

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