Search code examples
tagsenvironment-variablesfluentd

How do I make use of environment variables on tags


How do I make use of environment vars in tags

tag raw.kubernetes.*."#{ENV['ENVIRONMENT']}"."#{ENV['REGION']}"

    <source>
      @id fluentd-containers.log
      @type tail
      path /var/log/containers/*.log
      pos_file /var/log/es-containers.log.pos
      tag raw.kubernetes.*."#{ENV['ENVIRONMENT']}"."#{ENV['REGION']}"

Tags shows up in elasticsearch as

kubernetes.var.log.containers.aoo-web-qa3-b5b47b6d5-w76c2_default_app-web-fd68c32c550064d866ec2e514fe153e2bdda5a0849dbc10ecedc2c6ff30bc549.log."#{ENV['ENVIRONMENT']}"."#{ENV['REGION']}"


Solution

  • As discussed, you need to move quotes outside tag value which makes sure environment variables are picked. Example -

    tag "raw.kubernetes.*.#{ENV['ENVIRONMENT']}.#{ENV['REGION']}"