Tcp 输出插件

编辑
  • 插件版本:v6.2.1
  • 发布日期:2024-06-05
  • 更新日志

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

获取帮助

编辑

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

描述

编辑

通过 TCP 套接字写入事件。

默认情况下,此插件使用 json 编解码器。为了使每个事件的 json 以换行符分隔,请使用 json_lines 编解码器。

可以接受来自客户端的连接或连接到服务器,具体取决于 mode

Tcp 输出配置选项

编辑

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

设置 输入类型 必填

host

字符串

mode

字符串,其中之一为 ["server", "client"]

port

数字

reconnect_interval

数字

ssl_cacert

有效的系统路径

已弃用

ssl_cert

有效的系统路径

已弃用

ssl_certificate

有效的系统路径

ssl_certificate_authorities

数组

ssl_cipher_suites

字符串

ssl_client_authentication

字符串,其中之一为 ["none", "optional", "required"]

ssl_enable

布尔值

已弃用

ssl_enabled

布尔值

ssl_key

有效的系统路径

ssl_key_passphrase

密码

ssl_supported_protocols

字符串

ssl_verification_mode

字符串,其中之一为 ["full", "none"]

ssl_verify

布尔值

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

 

host

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

当 mode 为 server 时,要监听的地址。当 mode 为 client 时,要连接到的地址。

mode

编辑
  • 值可以是以下任何一个:serverclient
  • 默认值为 "client"

操作模式。 server 监听客户端连接,client 连接到服务器。

port

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

当 mode 为 server 时,要监听的端口。当 mode 为 client 时,要连接到的端口。

reconnect_interval

编辑
  • 值类型为 数字
  • 默认值为 10

连接失败时,重试间隔(秒)。

ssl_cacert

编辑

在 6.2.0 中已弃用。

替换为 ssl_certificate_authorities

  • 值类型为 路径
  • 此设置没有默认值。

SSL CA 证书、链文件或 CA 路径。系统 CA 路径会自动包含。

ssl_cert

编辑

在 6.2.0 中已弃用。

替换为 ssl_certificate

  • 值类型为 路径
  • 此设置没有默认值。

SSL 证书路径

ssl_certificate

编辑
  • 值类型为 路径
  • 此设置没有默认值。

PEM 格式证书的路径。此证书将呈现给 TLS 连接的另一端。

ssl_certificate_authorities

编辑
  • 值类型为 数组
  • 默认值为 []

针对这些颁发机构验证客户端证书或证书链。您可以定义多个文件。所有证书都将被读取并添加到信任存储区。系统 CA 路径会自动包含。

ssl_cipher_suites

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

要使用的密码套件列表,按优先级列出。支持的密码套件因 Java 和协议版本而异。

ssl_client_authentication

编辑
  • 值可以是以下任何一个:noneoptionalrequired
  • 默认值为 none

控制服务器在请求客户端连接证书方面的行为:none 禁用客户端身份验证。 required 强制客户端出示证书,而 optional 请求客户端证书,但客户端无需出示证书。

启用双向 TLS(optionalrequired)时,客户端出示的证书必须由受信任的 ssl_certificate_authorities (CA) 签名。请注意,服务器不会验证客户端证书 CN(公用名)或 SAN(主体备用名称)。

此设置仅可在 modeserverssl_certificate_authorities 设置的情况下使用。

ssl_enable

编辑

在 6.2.0 中已弃用。

替换为 ssl_enabled

启用 SSL(必须设置才能使其他 ssl_ 选项生效)。

ssl_enabled

编辑

启用 SSL(必须设置才能使其他 ssl_ 选项生效)。

ssl_key

编辑
  • 值类型为 路径
  • 此设置没有默认值。

SSL 密钥路径

ssl_key_passphrase

编辑
  • 值类型为 密码
  • 默认值为 nil

SSL 密钥密码短语

ssl_supported_protocols

编辑
  • 值类型为 字符串
  • 允许的值为:'TLSv1.1''TLSv1.2''TLSv1.3'
  • 默认值取决于使用的 JDK。使用最新的 Logstash 时,默认值为 ['TLSv1.2', 'TLSv1.3']'TLSv1.1' 不被认为是安全的,仅为旧版应用程序提供。

建立安全连接时要使用的允许的 SSL/TLS 版本列表。

如果您将插件配置为在任何最新的 JVM(例如 Logstash 附带的 JVM)上使用 'TLSv1.1',则默认情况下该协议被禁用,需要通过更改 $JDK_HOME/conf/security/java.security 配置文件中的 jdk.tls.disabledAlgorithms 手动启用。也就是说,需要从列表中删除 TLSv1.1

ssl_verification_mode

编辑
  • 值可以是以下任何一个:fullnone
  • 默认值为 full

定义如何验证 TLS 连接中另一端出示的证书

full 验证服务器证书是否具有在 not_before 和 not_after 日期范围内的发行日期;链接到受信任的证书颁发机构 (CA),并且主机名或 IP 地址与证书中的名称匹配。

none 不执行证书验证。

此设置仅可在 modeclient 时使用。

ssl_verify

编辑

在 6.2.0 中已弃用。

替换为 ssl_client_authenticationssl_verification_mode

针对 CA 验证 SSL 连接另一端的身份。对于输入,将字段 sslsubject 设置为客户端证书的字段。

常用选项

编辑

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

设置 输入类型 必填

codec

codec

enable_metric

布尔值

id

字符串

codec

编辑

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

enable_metric

编辑

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

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

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

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

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