TCP 输出插件

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

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

获取帮助

编辑

有关插件的问题,请在Discuss论坛中打开一个主题。对于错误或功能请求,请在Github中打开一个 issue。有关 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(主题备用名称)。

只有当modeserver且设置了ssl_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 上使用 'TLSv1.1',例如与 Logstash 打包的 JVM,则默认情况下会禁用该协议,并且需要通过更改 $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 字段中的变量替换仅支持环境变量,不支持使用来自秘密存储的值。