Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 Fluentd:在单个文件中存储多个容器日志(AWS S3)_Amazon S3_Kubernetes_Logging_Fluentd_Fluent Docker - Fatal编程技术网

Amazon s3 Fluentd:在单个文件中存储多个容器日志(AWS S3)

Amazon s3 Fluentd:在单个文件中存储多个容器日志(AWS S3),amazon-s3,kubernetes,logging,fluentd,fluent-docker,Amazon S3,Kubernetes,Logging,Fluentd,Fluent Docker,我想在AWS S3的单个文件中存储多个容器日志 我们有一个应用程序的多个组件,比如说用户界面、服务器、引擎、警报。所有在AWS EKS集群中作为POD运行 我有一个FluentD守护程序集将S3中的所有日志存储在单独的文件中(S3://app/app-ui-1.log,S3://app/app-server-1.log,S3://app/app-engine-1.log,S3://app/app-alert-1.log),运行良好 但我的要求是将所有组件日志存储在一个文件中 内容应该是 <

我想在AWS S3的单个文件中存储多个容器日志

我们有一个应用程序的多个组件,比如说用户界面、服务器、引擎、警报。所有在AWS EKS集群中作为POD运行

我有一个FluentD守护程序集将S3中的所有日志存储在单独的文件中(S3://app/app-ui-1.log,S3://app/app-server-1.log,S3://app/app-engine-1.log,S3://app/app-alert-1.log),运行良好


但我的要求是将所有组件日志存储在一个文件中

内容应该是

<TIMESTAMP> UI-Log message
<TIMESTAMP> UI-Log message
<TIMESTAMP> SERVER-Log message
<TIMESTAMP> ENGINE-Log message
UI日志消息
用户界面日志消息
服务器日志消息
引擎日志消息
我尝试使用下面的FluentD配置,但它将每个组件的日志存储在单独的文件中,如

UI日志转到s3://app/app-all-logs/1.log

Server日志转到s3://app/app-all-logs/2.log

引擎日志转到s3://app/app所有日志/3。日志

FluentD配置文件:

<source>
  @type tail
  path /var/log/containers/app-*.log
  pos_file /var/log/all/all.log.pos
  tag all.**
  <parse>
    @type none
  </parse>
  read_from_head true
</source>


<match all.**>
   @type s3

   aws_key_id "#{ENV['AWS_ACCESS_KEY']}"
   aws_sec_key "#{ENV['AWS_SECRET_ACCESS_KEY']}"
   s3_bucket "#{ENV['S3_LOGS_BUCKET_NAME']}"
   s3_region "#{ENV['S3_LOGS_BUCKET_REGION']}"
   path "#{ENV['S3_LOGS_BUCKET_PREFIX']}"
   s3_object_key_format %{path}/app-all-logs/%Y%m%d/%{index}.log

   buffer_chunk_limit 20m
   buffer_path /var/log/all/fluentd-buffer
   store_as log
   flush_interval 600s
   time_slice_format %Y/%m/%d
   utc

   <format>
      @type single_value
   </format>

   <instance_profile_credentials>
     ip_address IP_ADDRESS
     port       PORT
   </instance_profile_credentials>
</match>

@型尾
路径/var/log/containers/app-*.log
pos_文件/var/log/all/all.log.pos
标记全部**
@无类型
从你的头上读出来是真的
@s3型
aws_key_id“#{ENV['aws_ACCESS_key']}”
aws_secu_key“#{ENV['aws_SECRET_ACCESS_key']}”
s3_bucket“#{ENV['s3_LOGS_bucket_NAME']}”
s3#u区域“#{ENV['s3#u日志#u桶#u区域']}”
路径“#{ENV['S3_LOGS_BUCKET_PREFIX']}”
s3_object_key_format%{path}/app all logs/%Y%m%d/%{index}.log
缓冲区\u块\u限制20m
缓冲区\路径/var/log/all/fluentd缓冲区
将_存储为日志
冲洗间隔600s
时间片格式%Y/%m/%d
utc
@键入单个值
ip地址ip地址
左舷