[fluidd] 一个关于我如何迷上 IDCF 对象存储的故事
我叫指原,是一名基础设施工程师。
前几天,我有机会在IDCF的环境下搭建了一个服务器,当时有提到用对象存储来存储日志,但是我就迷上了它,所以这是我当时的笔记。
配置看起来像这样
API服务器( Fluentd) ⇒ 日志聚合服务器( Fluentd) ⇒ 对象存储
我认为这是一个常见的配置。
初始配置
IDCF有官方流程,所以我参考它进行了设置。
我使用 Fluent-s3-plugin 因为它是 S3 兼容存储。
初始设置如下所示
<store>类型 s3 aws_key_id XXXXXXXXXXXXXXXXXX aws_sec_key XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX s3_bucket bucket_name s3_endpoint http://ds.jp-east.idcfcloud.com check_apikey_on_start false s3_object_key_format %{path}%{time_slice}_%{index}.%{file_ext extension} 路径日志/ buffer_path /var /log/flutter/idcf/buffer/flush_interval 60s time_slice_format %Y%m%d/%Y%m%d-%H</store>
但是,由于某种原因,它没有上传到对象存储。 。
创建缓冲文件没有问题。
我已经查看了错误,但无法弄清楚......
我非常着迷...
答案写在 Fluent-plugin-s3 文档中。
签名版本
API 请求的签名版本。s3
表示
签名版本 2,v4
表示签名版本 4。默认值为nil
(遵循 SDK 的默认值),当您使用仅接受版本签名 2 的 S3 兼容存储时,这会很有用。
重点是 API 请求的签名版本。
- 使用签名版本 2 时指定 s3,使用签名版本 4 时指定 v4。
- 使用签名版本2的S3兼容存储很方便。
- 默认基于SDK版本。
是这样的感觉吗?看来您需要根据您所使用的存储的签名版本来输入设置。
由于对象存储似乎只支持签名版本2
签名版本 s3
我添加了这个并且效果很好。
看来 Fluent-s3-plugin 端也已经支持了 S3 签名版本 4。
概括
我对签名版本了解了很多,因为它可以在其他环境中用于 S3 兼容存储。
我倾向于避免使用官方文件,包括这份文件,因为它们通常是英文的,但它们通常都写有答案。
让我们提高英语技能吧!
如果您觉得这篇文章有帮助,请点赞!