首页 > 解决方案 > Google fluentd - 在标签中使用环境变量

问题描述

我正在尝试在 google-fluentd 的配置文件中添加标签。根据文档https://cloud.google.com/logging/docs/agent/configuration#label-setup,它声明labels用于静态标签。但是,有什么方法可以将环境变量作为值添加到这些标签中?

...
<match **>
  @type google_cloud
  # Adding labels to the log metadata
  labels {
    "source": "transform",
    "transformId": "\"#{ENV['TRANSFORM_ID']}\""
  }
  buffer_type file
  buffer_path /var/log/google-fluentd/buffers
...

在上面的代码片段中,这里指的是主/etc/google-fluentd/google-fluentd.conf文件。静态标签source: transform被添加到日志中,但是transformId从中获取值的标签env variable不起作用。

标签: loggingenvironment-variablesfluentdstackdriver

解决方案


我通过以下方式得到了这个工作: labels "#{ENV['LABEL_JSON']}"

然后传递 env 变量 - 键值对,如 "LABEL_JSON": "{\"TRANSFORM_ID\": \"transformId\", \"TRANSFORM_NAME\": \"jane\"}"


推荐阅读