FK-ELK日志架构系列2:Fluentd配置-使用环境变量

在使用Fluentd进行配置的过程中,由于要采用sidecar的方式将fluentd组件作为docker挂载到微服务的pod上,所以就面临每个微服务的日志名称不同,导致fluentd采集日志文件就需要动态变化,最好使用变量的方式来实现。

经过实践,发现可以采用配置环境变量的方式,将fluentd的配置文件里的动态变化的地方来引用环境变量,这样就实现了,一个配置文件,可以挂载到所有的微服务pod上,不用每个微服务都配置一个单独的fluentd配置文件了。

注:这里说的环境变量,是指K8S里的ENV方式设置的,在docker里是可以直接获取的env环境变量。

简单一句话就是:采用环境变量设置的方式,实现了一个配置文件模板。

fluentd部署模式:

FK-ELK日志架构系列2:Fluentd配置-使用环境变量_第1张图片

1. fluentd使用环境变量的方式:

两种方式:

  • 单独使用环境变量
 tag  "#{ENV['CONF_INFO']}"
  • 拼接字符串
tag  "app.#{ENV['CONF_INFO']}"

2.配置文件如下:


  @type    tail  #### tail方式采集日志
  format   none
  path     /data/log/*-info.*.log
  pos_file "#{ENV['SERVICE_POS_INFO']}"
  tag      "#{ENV['CONF_INFO']}"
  @label @mainstream_info



 

你可能感兴趣的:(FK-ELK日志系列)