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