S3 输入插件
编辑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,并支持多种获取凭据的方式,将按此顺序尝试
- 静态配置,在 logstash 插件配置中使用
access_key_id
和secret_access_key
参数 - 由
aws_credentials_file
指定的外部凭据文件 - 环境变量
AWS_ACCESS_KEY_ID
和AWS_SECRET_ACCESS_KEY
- 环境变量
AMAZON_ACCESS_KEY_ID
和AMAZON_SECRET_ACCESS_KEY
- 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_id
和 secret_access_key
时,才会加载此文件。文件的内容应如下所示
:access_key_id: "12345" :secret_access_key: "54321"
backup_add_prefix
编辑- 值类型是 字符串
- 默认值是
nil
在处理后,将前缀附加到密钥(包括 s3 中的文件名的完整路径)。 如果备份到另一个(或相同的)存储桶,这实际上允许您选择一个新的文件夹来放置文件
ecs_compatibility
编辑- 值类型是 字符串
-
支持的值是
-
disabled
:不使用与 ECS 兼容的字段名称 -
v1
、v8
:使用与 Elastic Common Schema 兼容的元数据字段
-
控制此插件与 Elastic Common Schema (ECS) 的兼容性。有关详细信息,请参阅事件元数据和 Elastic Common Schema (ECS)。
endpoint
编辑- 值类型是 字符串
- 此设置没有默认值。
要连接的端点。 默认情况下,它是使用 region
的值构造的。这在连接到 S3 兼容服务时很有用,但请注意,这些服务不能保证与 AWS SDK 正确配合使用。
exclude_pattern
编辑- 值类型是 字符串
- 默认值是
nil
要从存储桶中排除的键的 Ruby 样式正则表达式。
请注意,匹配模式的文件将在列出后被跳过。请考虑尽可能使用prefix
。
示例
"exclude_pattern" => "\/2020\/04\/"
此模式排除路径中包含 "/2020/04/" 的所有日志。
include_object_properties
编辑- 值类型是 布尔值
- 默认值是
false
是否将 S3 对象的属性(last_modified、content_type、metadata)包含到每个事件的 [@metadata][s3]
中。无论此设置如何,[@metadata][s3][key]
将始终存在。
role_arn
编辑- 值类型是 字符串
- 此设置没有默认值。
要承担的 AWS IAM 角色(如果有)。 这用于生成临时凭据,通常用于跨账户访问。 有关详细信息,请参阅AssumeRole API 文档。
sincedb_path
编辑- 值类型是 字符串
- 默认值是
nil
在何处写入 since 数据库(跟踪上次处理的文件添加到 S3 的日期)。 默认值会将 sincedb 文件写入目录 {path.data}/plugins/inputs/s3/ 中
如果指定,则此设置必须是文件名路径,而不仅仅是目录。
通用选项
编辑所有输入插件都支持这些配置选项
codec
编辑- 值类型为 codec
- 默认值为
"plain"
用于输入数据的编解码器。输入编解码器是一种方便的方法,可以在数据进入输入之前解码数据,而无需在 Logstash 管道中使用单独的过滤器。