Redis 输出插件

编辑
  • 插件版本:v5.2.0
  • 发布日期:2024-06-04
  • 变更日志

其他版本,请查看 版本化插件文档

获取帮助

编辑

如有任何关于插件的问题,请在 Discuss 论坛中发帖。如有错误或功能需求,请在 Github 中提交问题。有关 Elastic 支持的插件列表,请参阅 Elastic 支持矩阵

描述

编辑

此输出插件将使用 RPUSH 命令将事件发送到 Redis 队列。Redis v0.0.7+ 版本支持 RPUSH 命令。使用 PUBLISH 命令发送到频道至少需要 v1.3.8+ 版本。虽然您可以尝试使用这些 Redis 版本,但最佳性能和稳定性会在较新的稳定版本中获得。建议使用 2.6.0+ 版本。

更多信息,请查看 Redis 首页

Redis 输出配置选项

编辑

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

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

 

batch

编辑

如果希望 Redis 批量处理值并发送 1 个 RPUSH 命令(而不是每个值一个命令)来推送到列表,则将其设置为 true。请注意,目前这仅适用于 data_type="list" 模式。

如果为 true,我们将每 "batch_events" 个事件或 "batch_timeout" 秒发送一个 RPUSH(以先到者为准)。仅支持 data_type 为 "list" 的情况。

batch_events

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

如果 batch 设置为 true,则为我们为 RPUSH 排队的事件数。

batch_timeout

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

如果 batch 设置为 true,则在有待刷新事件时,RPUSH 命令之间的最大时间量。

congestion_interval

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

检查拥塞的频率。默认为一秒。零表示每次事件都检查。

congestion_threshold

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

如果 Redis data_typelist 且项目数超过 @congestion_threshold,则阻塞直到有人消费它们并减少拥塞,否则如果没有任何消费者,Redis 将耗尽内存,除非它已配置了 OOM 保护。但即使有 OOM 保护,单个 Redis 列表也可能阻塞 Redis 的所有其他用户,直到 Redis CPU 占用率达到允许的最大 RAM 大小。默认值为 0 表示此限制被禁用。仅支持 list Redis data_type

data_type

编辑
  • 值可以是:list, channel
  • 此设置没有默认值。

列表或频道。如果 data_type 为 list,我们将对 key 设置 RPUSH。如果 data_type 为 channel,我们将对 key 使用 PUBLISH。

  • 值类型为 数字
  • 默认值为 0

Redis 数据库编号。

host

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

Redis 服务器的主机名(或主机名列表)。可以在任何主机名上指定端口,这将覆盖全局端口配置。如果主机列表是一个数组,Logstash 将随机选择一个主机进行连接,如果该主机断开连接,它将选择另一个主机。

例如

    "127.0.0.1"
    ["127.0.0.1", "127.0.0.2"]
    ["127.0.0.1:6380", "127.0.0.1"]
  • 值类型为 字符串
  • 此设置没有默认值。

Redis 列表或频道的名称。此处可以使用动态名称,例如 logstash-%{type}

password

编辑
  • 值类型为 密码
  • 此设置没有默认值。

用于身份验证的密码。默认情况下没有身份验证。

port

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

要连接的默认端口。可以在任何主机名上覆盖。

启用 SSL 支持。

reconnect_interval

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

重新连接到失败的 Redis 连接的间隔

shuffle_hosts

编辑

在 Logstash 启动期间随机排序主机列表。

ssl_certificate

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

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

ssl_certificate_authorities

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

针对这些权威机构验证证书链。您可以定义多个文件。所有证书都将被读取并添加到信任库。系统 CA 路径会自动包含。

ssl_cipher_suites

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

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

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

编辑
  • 值可以是:full, none
  • 默认值为 full

定义如何验证 TLS 连接中另一端提供的证书

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

none 不执行证书验证。

timeout

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

Redis 初始连接超时时间(秒)。

通用选项

编辑

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

设置 输入类型 必需

codec

codec

enable_metric

布尔值

id

字符串

codec

编辑
  • 值类型为 codec
  • 默认值为 "json"

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

enable_metric

编辑

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

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

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

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

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