New

The executive guide to generative AI

Read more

Logstash 输入插件

编辑

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

获取帮助

编辑

有关该插件的问题,请在Discuss论坛中开一个主题。对于错误或功能请求,请在Github中打开一个 issue。有关 Elastic 支持的插件列表,请查阅Elastic 支持矩阵

描述

编辑

侦听由管道中的 Logstash 输出插件 发送的事件,该管道可能位于另一个进程或另一台主机上。上游输出必须具有到此插件绑定接口上的端口(默认为 9800)的 TCP 路由。

不建议也不支持通过任何其他方式(而非 plugins-outputs-logstash)向此输入发送事件。我们将保持与任何两个受支持的输出/输入对版本的交叉兼容性,并保留更改协议和编码等详细信息的权利。

最小配置

编辑
启用 SSL 禁用 SSL
input {
  logstash {
    ssl_keystore_path
         => "/path/to/logstash.p12"
    ssl_keystore_password
         => "${PASS}"
  }
}
input {
  logstash {
    ssl_enabled => false
  }
}

配置概念

编辑

此输入插件需要配置为绑定到 TCP 端口,并且可以通过提供 主机 的 IP 地址来限制绑定到特定接口。

安全:SSL 身份

编辑

除非禁用 SSL,否则此插件需要配置身份材料

安全:SSL 信任

编辑

通过 SSL 通信时,可以配置此插件以请求或要求连接的客户端通过 ssl_client_authentication 提供其自身的身份声明。

默认情况下,使用系统信任存储验证客户端提供的证书,以确保它们当前有效且受信任,并且客户端可以证明其拥有相关的私钥。您可以使用以下方法提供备用信任源

客户端证书验证不会验证所提供证书上的身份声明,例如证书是否包含与客户端连接的 IP 地址匹配的主题备用名称。

安全:凭据

编辑

您还可以配置此插件以要求通过配置 usernamepassword 来提供特定的用户名/密码。这样做需要连接的 logstash-output 插件客户端提供匹配的 usernamepassword

当禁用 SSL 时,数据和凭据将以明文形式接收。

Logstash 输入配置选项

编辑

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

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

 

host

编辑
  • 值类型是字符串 IP 地址
  • 默认值为 0.0.0.0 (所有接口)

通过提供其 IP 地址来指定要侦听的接口。默认情况下,此输入侦听所有可用的接口。

password

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

用于基于密码的身份验证的密码。需要 username

port

编辑
  • 值类型是数字端口
  • 默认值为 9800

指定要侦听的端口。

ssl_certificate

编辑

PEM 编码的证书或证书链的路径,用于向连接的客户端标识此插件。该证书包括有关客户端用于建立连接的 IP 地址或主机名的身份声明。

ssl_certificate_authorities

编辑

一个或多个 PEM 编码的文件,定义用于客户端身份验证的证书颁发机构。此设置可用于覆盖系统信任存储,以验证客户端提供的 SSL 证书。

ssl_client_authentication

编辑
  • 值可以是以下任何值:

    • none:不请求客户端的证书,也不验证提供的证书
    • optional:请求客户端的证书,并仅当提供证书时才针对我们的信任机构验证证书
    • required:要求客户端提供由受信任的证书颁发机构签名的有效证书
  • 默认值为 "none"

默认情况下,服务器不执行任何客户端身份验证。这意味着启用 SSL 后,客户端的连接是私有的,但此输入将允许来自任何客户端的 SSL 连接。如果您希望配置此插件以拒绝来自不受信任主机的连接,则需要配置此插件以验证客户端,并且可能还需要配置其信任源

ssl_enabled

编辑

默认情况下启用 SSL,这需要配置此插件以提供其身份

您可以使用 +ssl_enabled => false+ 禁用 SSL。禁用后,设置任何 ssl_* 配置会导致配置失败。

ssl_key

编辑
  • 值类型是路径
  • 此设置没有默认值。
  • 当使用 ssl_certificate 配置连接身份时,需要此选项。
  • 不能与禁用 SSL 的配置组合使用。

PEM 编码的加密 PKCS8 SSL 证书密钥的路径。

ssl_keystore_password

编辑
  • 值类型是密码
  • 此设置没有默认值。
  • 当使用 ssl_keystore_path 配置连接身份时,需要此选项。
  • 不能与禁用 SSL 的配置组合使用。

ssl_keystore_path 的密码

ssl_keystore_path

编辑
  • 值类型是路径
  • 此设置没有默认值。
  • 存在时,还需要 ssl_keystore_password
  • 不能与禁用 SSL 的配置组合使用。

JKS 或 PKCS12 格式的密钥库的路径,用于向 Elasticsearch 标识此插件。

ssl_key_passphrase

编辑
  • 值类型是密码
  • 此设置没有默认值。
  • 当使用 ssl_certificate 配置连接身份时,需要此选项。
  • 不能与禁用 SSL 的配置组合使用。

ssl_key 的密码或密码短语。

username

编辑
  • 值类型是字符串
  • 此设置没有默认值。

用于基于密码的身份验证的用户名。当使用 username 配置此输入插件时,它还需要 password,并且任何上游 logstash-output 插件也必须配置为匹配的 username/password 对。

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

通用选项

编辑

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

设置 输入类型 必需

add_field

hash

enable_metric

布尔值

id

字符串

tags

数组

type

字符串

add_field

编辑
  • 值类型为 哈希
  • 默认值为 {}

向事件添加字段

enable_metric

编辑

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

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

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

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

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

tags

编辑
  • 值类型为 数组
  • 此设置没有默认值。

向您的事件添加任意数量的标签。

这有助于后续处理。

type

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

向此输入处理的所有事件添加 type 字段。

类型主要用于过滤器激活。

类型作为事件本身的一部分存储,因此您也可以使用类型在 Kibana 中搜索它。

如果您尝试在已经具有类型的事件上设置类型(例如,当您从 shipper 向 indexer 发送事件时),则新的输入将不会覆盖现有类型。在 shipper 上设置的类型在其生命周期内一直与该事件相关联,即使发送到另一个 Logstash 服务器也是如此。

Was this helpful?
Feedback