amazon-s3 - 如何在 S3 路径 fluentd-output-s3 插件中使用记录转换器中的字段
问题描述
我们在 fluentd 管道中有以下记录转换器配置:
<filter docker.**>
@type record_transformer
enable_ruby true
<record>
servername as1
hostname "#{Socket.gethostname}"
project xyz
env prod
service ${record["docker"]["labels"]["com.docker.compose.service"]}
</record>
remove_keys $.docker.container_hostname,$.docker.id, $.docker.image_id,$.docker.labels.com.docker.compose.config-hash, $.docker.labels.com.docker.compose.oneoff, $.docker.labels.com.docker.compose.project, $.docker.labels.com.docker.compose.service
</filter>
我们正在使用 S3 插件将日志推送到 S3。现在我们要使用自定义路径将日志保存在 S3 上ProjectName/ENv/service
,为此我们创建 S3 输出插件,如下所示:
<store>
@type s3
s3_bucket test
s3_region us-east-1
store_as gzip_command
path logs
s3_object_key_format %{path}/${project}/${env}/${service}/%Y/%m/%d/%{time_slice}_%{index}.%{file_extension}
<buffer tag,time,project,env,service>
type file
path /var/log/td-agent/container-buffer-s3
timekey 300 # 1 minutes
timekey_wait 1m
timekey_use_utc true
chunk_limit_size 256m
</buffer>
time_slice_format %Y%m%d%H
</store>
不幸的是,这对我们不起作用。低于警告日志:
{"time":"2021-08-07 17:59:49","level":"warn","message":"chunk key placeholder 'project' not replaced. template:logs/${project}/${env}/${service}/%Y/%m/%d/%{time_slice}_%{index}.gz","worker_id":0}
期待对此的指导或任何建议。
解决方案
this config is correct and its working for us.
<store>
@type s3
s3_bucket test
s3_region us-east-1
store_as gzip_command
path logs
s3_object_key_format %{path}/${project}/${env}/${service}/%Y/%m/%d/%{time_slice}_%{index}.%{file_extension}
<buffer tag,time,project,env,service>
type file
path /var/log/td-agent/container-buffer-s3
timekey 300 # 1 minutes
timekey_wait 1m
timekey_use_utc true
chunk_limit_size 256m
</buffer>
time_slice_format %Y%m%d%H
</store>
推荐阅读
- reactjs - Redux / Thunk / slice 函数不返回参数调用的数据
- azure-devops - 在 linux app Service azure 上部署 react js web app
- c# - 如何使用 FIXML 请求 .ashx 作为请求数据?
- c# - 日期时间自定义格式
- google-chrome - chrome 扩展 - 显示带有按钮的通知 - 设置按钮不起作用
- bash - 获取 github 中上传新文件的位置
- api - 在 2Checkout 支付 api 中获取错误代码:PE106?
- python - 单元格中的 pandas 数据以引号开头但不结尾导致错误标记数据。C 错误
- python - 简单的猪拉丁语
- javascript - 如何使用 useCallback 来修复地图函数中无用的渲染?