6个版本
0.1.5 | 2023年3月22日 |
---|---|
0.1.4 | 2021年4月18日 |
0.1.3 | 2021年3月25日 |
78 在 #s3
每月28次下载
64KB
1.5K SLoC
描述
将日志缓冲到S3,通过大小和/或时间周期进行批量处理。此功能旨在替代在云中运行的(例如)Apache HTTPD服务器上的rotatelogs
。
用法
stream-logs-to-s3[options]s3://bucket/path-template
选项
-d, --持续时间#<单位>
在刷新到S3之前缓冲的最大持续时间;默认为1小时。持续时间可以是humantime crate接受的任何字符串,例如,“1小时12分钟5秒”。-t, --tempdir目录
用于缓冲的临时目录;默认为(如果设置)$TMPDIR
,否则为/tmp
。-s, --大小#<单位>>
在刷新到S3之前缓冲的最大大小;默认为1MiB。大小可以是byte_unit crate接受的任何字符串,例如,“123KiB”。-i, --输入<文件名>
从指定的文件(应为FIFO)读取输入,而不是从stdin;这通常用于测试。-z, --gzip
使用gzip压缩输出。-h, --帮助
显示此用法信息
环境变量
stream-logs-to-s3
使用标准的 AWS SDK / Rusoto 方法指定AWS凭据。
AWS_DEFAULT_REGION
/AWS_REGION
指定要调用S3的区域。默认为us-east-1
。AWS_PROFILE
如果指定,则从~/.aws/credentials
文件中的此部分读取AWS凭据。AWS_ACCESS_KEY_ID
/AWS_SECRET_ACCESS_KEY
/AWS_SESSION_TOKEN
如果指定,则使用指定的AWS凭据。
如果没有指定凭据,则从EC2或ECS元数据端点读取。
路径模板
路径模板可以包括以下变量。时间戳以UTC时区生成。
{host_id}
— EC2 实例 ID、ECS 任务 ID、主机名或 IP 地址。{year}
— 当前年份。{month}
— 当前月份,为两位数字字符串。{day}
— 当前日期,为两位数字字符串。{hour}
— 当前小时,为两位数字字符串。{minute}
— 当前分钟,为两位数字字符串。{second}
— 当前秒,为两位数字字符串。{unique}
— 确保文件名唯一性的唯一标识符。
要在输出中包含原始的 {
或 }
,请将其加倍:{{
/ }}
。
许可
本程序采用 MIT 和 Apache-2.0 许可证的双重许可。
版权所有 © 2021 Ionosphere, LLC。
依赖项
~19–37MB
~584K SLoC