如何将Graylog日志发送至S3存储桶?求自动归档旧日志的简易方案
如何将Graylog日志自动归档至S3存储桶(简易实现方案)
一、准备S3存储桶与权限
- 登录AWS控制台,创建专门用于Graylog归档的S3存储桶,可选开启版本控制以防止误删归档文件。
- 创建IAM用户,仅赋予该用户S3相关操作权限,权限策略示例:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:ListBucket", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::your-graylog-archive-bucket", "arn:aws:s3:::your-graylog-archive-bucket/*" ] } ] }
- 记录该IAM用户的Access Key ID和Secret Access Key,后续Graylog配置会用到。
二、配置Graylog的S3输出
- 登录Graylog Web界面,进入System > Outputs页面。
- 点击Create output,选择Amazon S3类型,填写配置项:
- Name:自定义名称(比如Graylog-S3-Archive)
- Access Key ID:填入刚才创建的IAM用户Access Key
- Secret Access Key:填入对应的Secret Key
- Region:选择S3存储桶所在的AWS区域(比如us-east-1)
- Bucket name:填入目标S3存储桶名称
- Prefix:可选,设置归档文件的路径前缀(比如
graylog-archives/%Y/%m/,按年月分类) - Compression:选择
gzip(压缩后节省S3存储空间和传输带宽)
- 点击Save,启用该输出。
三、创建自动归档任务
- 进入Graylog的System > Archives页面,点击Create archive job。
- 配置归档任务核心参数:
- Name:自定义任务名称(比如Auto-Archive-Old-Logs)
- Index Set:选择需要归档的日志索引集(比如默认的All Messages索引集)
- Archive Condition:设置归档触发条件,比如:
- 按时间:
index_age > 30d(归档创建超过30天的索引) - 按大小:
index_size > 100GB(归档大小超过100GB的索引)
- 按时间:
- Output:选择刚才配置的S3输出
- Post-Archive Action:选择Delete index(归档完成后自动删除原索引,直接释放本地磁盘空间)
- 点击Save,任务会自动按照设定条件执行归档操作。
注意事项
- 首次配置建议先选择测试索引集或设置较短归档周期(比如1天),验证流程正常后再推广到生产环境。
- 确保Graylog服务器能正常访问S3:若部署在AWS VPC内,建议配置S3 VPC端点避免公网传输;本地环境需确保服务器有公网访问权限。
- 定期检查S3存储桶内的归档文件,可通过Graylog归档任务日志验证归档完整性。
内容的提问来源于stack exchange,提问作者Ricardo Linares
相关产品推荐
相关产品推荐

