Fluentd 構成で環境変数を使用する方法を考えていたので、試してみました。
<match **>
type elasticsearch
logstash_format true
logstash_prefix $ENV_VAR
host ***
port ***
include_tag_key true
tag_key _key
</match>
しかし、うまくいきません。
Fluentd 構成で環境変数を使用する方法を考えていたので、試してみました。
<match **>
type elasticsearch
logstash_format true
logstash_prefix $ENV_VAR
host ***
port ***
include_tag_key true
tag_key _key
</match>
しかし、うまくいきません。
編集:
これははるかに良い解決策です:
「--use-v1-config」オプションを Fluentd に渡す場合、これは次のように「#{ENV['env_var_name']」で可能です。
<match foobar.**> # ENV["FOO"] is foobar
type elasticsearch
logstash_prefix "#{ENV['FOO']}"
logstash_format true
include_tag_key true
tag_key _key
host ****
port ****
</match>
古い、くだらない答えはここにあります。
fluent-plugin-record-reformer
してfluent-plugin-forest
<match hello.world>
type record_reformer
tag ${ENV["FOO"]}.${tag_prefix[-1]} # adding the env variable as a tag prefix
</match>
<match foobar.**> # ENV["FOO"] is foobar
type forest
subtype elasticsearch
<template>
logstash_prefix ${tag_parts[0]}
logstash_format true
include_tag_key true
tag_key _key
host ****
port ****
</template>
</match>
特に<match **>
そこでは使用しないでください。これにより、すべてのイベントがキャッチされ、デバッグが困難な動作が発生します。