Redis 输出插件

编辑

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

获取帮助

编辑

有关插件的问题,请在Discuss论坛中开一个主题。对于错误或功能请求,请在Github中开一个 issue。有关 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 表示禁用此限制。仅当 Redis data_typelist 时才支持。

data_type

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

列表或通道。如果 data_type 为列表,则我们将 RPUSH 设置为 key。如果 data_type 为通道,则我们将 PUBLISH 到 key

  • 值类型为数字
  • 默认值为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。当您有两个或多个相同类型的插件时,这特别有用。例如,如果您有 2 个 redis 输出。在这种情况下添加一个命名 ID 将有助于在使用监控 API 时监控 Logstash。

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

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