S3 输出插件
编辑S3 输出插件
编辑其他版本,请参见 版本化插件文档。
获取帮助
编辑如有关于插件的问题,请在 Discuss 论坛中发帖。如发现错误或有功能请求,请在 Github 中提交 issue。有关 Elastic 支持的插件列表,请参阅 Elastic 支持矩阵。
描述
编辑此插件将 Logstash 事件批量上传到 Amazon Simple Storage Service (Amazon S3)。
S3 输出插件仅支持 AWS S3。不支持其他与 S3 兼容的存储解决方案。
S3 输出将临时文件创建到操作系统的临时目录中。您可以使用 temporary_directory
选项指定保存位置。
对于包含多个启用了 restore 选项的 s3 输出的配置,每个输出都应定义其自己的 _temporary_directory_。
要求
编辑- Amazon S3 存储桶和 S3 访问权限(通常为 access_key_id 和 secret_access_key)
- S3 PutObject 权限
S3 输出文件
编辑`ls.s3.312bc026-2f5d-49bc-ae9f-5940cf4ad9a6.2013-04-18T10.00.tag_hello.part0.txt`
ls.s3 |
表示 Logstash 插件 s3 |
|
312bc026-2f5d-49bc-ae9f-5940cf4ad9a6 |
每个文件一个新的随机 UUID。 |
|
2013-04-18T10.00 |
表示您指定 time_file 时的时间。 |
|
tag_hello |
表示事件的标签。 |
|
part0 |
如果指定 size_file,则如果您的文件大小 > size_file,它将生成更多部分。当文件已满时,它会被推送到存储桶,然后从临时目录中删除。如果文件为空,则只需将其删除。空文件不会被推送。 |
崩溃恢复
编辑当 restore
设置为 true 时,此插件将恢复并上传崩溃/异常终止后的临时日志文件。
用法
编辑这是一个 Logstash 配置示例
output { s3{ access_key_id => "crazy_key" (optional) secret_access_key => "monkey_access_key" (optional) region => "eu-west-1" (optional, default = "us-east-1") bucket => "your_bucket" (required) size_file => 2048 (optional) - Bytes time_file => 5 (optional) - Minutes codec => "plain" (optional) canned_acl => "private" (optional. Options are "private", "public-read", "public-read-write", "authenticated-read", "aws-exec-read", "bucket-owner-read", "bucket-owner-full-control", "log-delivery-write". Defaults to "private" ) }
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 文档。示例
output { s3 { access_key_id => "1234", secret_access_key => "secret", region => "eu-west-1", 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"
canned_acl
编辑- 值可以是:
private
、public-read
、public-read-write
、authenticated-read
、aws-exec-read
、bucket-owner-read
、bucket-owner-full-control
、log-delivery-write
- 默认值为
"private"
放置文件时要使用的 S3 预设 ACL。默认为“private”。
endpoint
编辑- 值类型为 字符串
- 此设置没有默认值。
要连接到的端点。默认情况下,它是使用 region
的值构建的。这在连接到与 S3 兼容的服务时非常有用,但请注意,这些服务不能保证与 AWS SDK 正确配合使用。端点应为 HTTP 或 HTTPS URL,例如 https://example.com
prefix
编辑- 值类型为 字符串
- 默认值为
""
为上传的文件名指定前缀,以模拟 S3 上的目录。前缀不需要前导斜杠。此选项支持 Logstash 插值。例如,可以使用 prefix = "%{+YYYY}/%{+MM}/%{+dd}"
将文件名前缀设置为事件日期。
在使用前缀中的插值字符串时要小心。这有可能创建大量唯一的前缀,从而导致大量正在进行的上传。这种情况可能会导致性能和稳定性问题,当您使用延迟上传的 rotation_strategy 时,这种情况可能会进一步加剧。
rotation_strategy
编辑- 值可以是:
size_and_time
、size
、time
- 默认值为
"size_and_time"
控制何时关闭文件并将其推送到 S3。
如果将此值设置为 size
,则使用 size_file
中设置的值。如果将此值设置为 time
,则使用 time_file
中设置的值。如果将此值设置为 size_and_time
,则使用 size_file
和 time_file
中的值,并在任一值匹配时拆分文件。
默认策略同时检查大小和时间。第一个匹配的值将触发文件轮转。
size_file
编辑- 值类型为 数字
- 默认值为
5242880
设置文件大小(以字节为单位)。当字节数超过size_file
值时,将创建一个新文件。如果使用标签,Logstash将为每个标签生成特定大小的文件。
ssekms_key_id
编辑- 值类型为 字符串
- 此设置没有默认值。
与server_side_encryption ⇒ aws:kms
一起指定时使用的密钥。如果设置了server_side_encryption ⇒ aws:kms
但未设置此密钥,则使用默认的KMS密钥。http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html
storage_class
编辑- 值可以是:
STANDARD
,REDUCED_REDUNDANCY
,STANDARD_IA
,ONEZONE_IA
,INTELLIGENT_TIERING
,GLACIER
,DEEP_ARCHIVE
,OUTPOSTS
,GLACIER_IR
,SNOW
,EXPRESS_ONEZONE
- 默认值为
"STANDARD"
指定上传文件时使用的S3存储类别。有关不同存储类别的更多信息,请访问:http://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html 默认为STANDARD。
temporary_directory
编辑- 值类型为 字符串
- 默认值为
"/tmp/logstash"
设置Logstash在发送到S3之前存储临时文件的目录,默认为Linux系统中的临时目录/tmp/logstash。
time_file
编辑- 值类型为 数字
- 默认值为
15
设置关闭存储桶当前子时间段的时间(以分钟为单位)。如果rotation_strategy
设置为time
或size_and_time
,则time_file
不能设置为0。否则,插件将引发配置错误。
常用选项
编辑所有输出插件都支持这些配置选项