S3 输入插件

编辑

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

获取帮助

编辑

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

描述

编辑

从 S3 存储桶的文件中流式传输事件。

S3 输入插件仅支持 AWS S3。不支持其他 S3 兼容的存储解决方案。

每个文件中的每一行都会生成一个事件。以 .gz 结尾的文件被视为 gzip 压缩文件。

已存档到 AWS Glacier 的文件将被跳过。

事件元数据和 Elastic Common Schema (ECS)

编辑

此插件将 CloudFront 元数据添加到事件。当禁用 ECS 兼容性时,该值存储在根级别。启用 ECS 后,该值存储在 @metadata 中,可以在管道中的其他插件中使用。

以下是 ECS 兼容模式如何影响输出。

禁用 ECS ECS v1 可用性 描述

cloudfront_fields

[@metadata][s3][cloudfront][fields]

当文件是 CloudFront 日志时可用

日志的列名

cloudfront_version

[@metadata][s3][cloudfront][version]

当文件是 CloudFront 日志时可用

日志的版本

S3 输入配置选项

编辑

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

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

 

access_key_id

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

此插件使用 AWS SDK,并支持多种获取凭据的方式,将按此顺序尝试

  1. 静态配置,在 logstash 插件配置中使用 access_key_idsecret_access_key 参数
  2. aws_credentials_file 指定的外部凭据文件
  3. 环境变量 AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY
  4. 环境变量 AMAZON_ACCESS_KEY_IDAMAZON_SECRET_ACCESS_KEY
  5. IAM 实例配置文件(在 EC2 中运行时可用)

additional_settings

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

用于参数化与 s3 连接的设置的键值对。 请参阅AWS SDK 文档中的完整列表。 示例

    input {
      s3 {
        access_key_id => "1234"
        secret_access_key => "secret"
        bucket => "logstash-test"
        additional_settings => {
          force_path_style => true
          follow_redirects => false
        }
      }
    }

aws_credentials_file

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

包含 AWS 凭据哈希的 YAML 文件的路径。 仅当未设置 access_key_idsecret_access_key 时,才会加载此文件。文件的内容应如下所示

    :access_key_id: "12345"
    :secret_access_key: "54321"

backup_add_prefix

编辑

在处理后,将前缀附加到密钥(包括 s3 中的文件名的完整路径)。 如果备份到另一个(或相同的)存储桶,这实际上允许您选择一个新的文件夹来放置文件

backup_to_bucket

编辑

用于备份已处理文件的 S3 存储桶的名称。

backup_to_dir

编辑

用于备份已处理文件的本地目录的路径。

bucket

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

S3 存储桶的名称。

delete

编辑

是否从原始存储桶中删除已处理的文件。

ecs_compatibility

编辑
  • 值类型是 字符串
  • 支持的值是

    • disabled:不使用与 ECS 兼容的字段名称
    • v1v8:使用与 Elastic Common Schema 兼容的元数据字段

控制此插件与 Elastic Common Schema (ECS) 的兼容性。有关详细信息,请参阅事件元数据和 Elastic Common Schema (ECS)

endpoint

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

要连接的端点。 默认情况下,它是使用 region 的值构造的。这在连接到 S3 兼容服务时很有用,但请注意,这些服务不能保证与 AWS SDK 正确配合使用。

exclude_pattern

编辑

要从存储桶中排除的键的 Ruby 样式正则表达式。

请注意,匹配模式的文件将在列出后被跳过。请考虑尽可能使用prefix

示例

"exclude_pattern" => "\/2020\/04\/"

此模式排除路径中包含 "/2020/04/" 的所有日志。

gzip_pattern

编辑
  • 值类型是 字符串
  • 默认值是 "\.gz(ip)?$"

用于确定输入文件是否为 gzip 格式的正则表达式。

include_object_properties

编辑

是否将 S3 对象的属性(last_modified、content_type、metadata)包含到每个事件的 [@metadata][s3] 中。无论此设置如何,[@metadata][s3][key] 将始终存在。

interval

编辑
  • 值类型是 数字
  • 默认值是 60

一次运行完成后,等待再次检查文件列表的时间间隔。值以秒为单位。

prefix

编辑

如果指定,则存储桶中文件名的前缀必须匹配(不是正则表达式)

proxy_uri

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

如果需要,则指向代理服务器的 URI

region

编辑
  • 值类型是 字符串
  • 默认值是 "us-east-1"

AWS 区域

role_arn

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

要承担的 AWS IAM 角色(如果有)。 这用于生成临时凭据,通常用于跨账户访问。 有关详细信息,请参阅AssumeRole API 文档

role_session_name

编辑
  • 值类型是 字符串
  • 默认值是 "logstash"

承担 IAM 角色时使用的会话名称。

secret_access_key

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

AWS 秘密访问密钥

session_token

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

用于临时凭据的 AWS 会话令牌

sincedb_path

编辑

在何处写入 since 数据库(跟踪上次处理的文件添加到 S3 的日期)。 默认值会将 sincedb 文件写入目录 {path.data}/plugins/inputs/s3/

如果指定,则此设置必须是文件名路径,而不仅仅是目录。

temporary_directory

编辑
  • 值类型是 字符串
  • 默认值是 "/tmp/logstash"

设置 logstash 在处理临时文件之前存储临时文件的目录。

use_aws_bundled_ca

编辑

使用 AWS SDK 附带的捆绑 CA 证书来验证 SSL 对等证书。 对于默认证书不可用的情况,例如 Windows,您可以将此项设置为 true

watch_for_new_files

编辑

是否监视新文件。禁用此选项会导致输入在处理单个列表中的文件后自行关闭。

通用选项

编辑

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

设置 输入类型 必需

add_field

哈希

codec

codec

enable_metric

布尔值

id

字符串

tags

数组

type

字符串

add_field

编辑
  • 值类型为 hash
  • 默认值是 {}

向事件添加一个字段

codec

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

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

enable_metric

编辑
  • 值类型为 boolean
  • 默认值是 true

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

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

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

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

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

tags

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

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

这有助于以后的处理。

type

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

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

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

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

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