diff --git a/README.md b/README.md index 710199d..8e05d87 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,7 @@ * [Source](#source) * [Filter](#filter) * [Match](#match) + * [Match with buffer and chunk_keys](#match-with-buffer-and-chunk_keys) * [Match Store](#match-store) * [Plugin Installation](#plugin-installation) * [Requirements](#requirements) @@ -88,7 +89,7 @@ include '::fluentd' Path to configuration files **Default:** '/etc/td-agent' - + `config_dir` Configuration directory name @@ -139,7 +140,10 @@ include '::fluentd' 'type' => 'local', 'path' => 'test.pos' }, - 'tag' => 'application.test' + 'tag' => 'application.test', + 'parse' => { + 'message_format' => 'auto' + } } } ``` @@ -159,6 +163,9 @@ include '::fluentd' path test.pos tag application.test + + message_format auto + ``` #### Filter @@ -217,7 +224,41 @@ include '::fluentd' ``` -### Match Store +#### Match with buffer and chunk_keys + +buffer_chunk_keys will not be included in the template. They will be filtered and only be used as a "pattern" for the buffer section. + +``` +::fluentd::match { 'test': + priority => 98, + pattern => 'test.**', + config => { + type => 'file', + path => '/var/log/td-agent/test/${host}', + append => true, + buffer_chunk_keys => 'host', + buffer => { + type => file, + path => /var/log/td-agent/test/buffer/, + flush_mode => immediate, + }, + }, +} +``` +**creates:** +``` + + type file + path /var/log/td-agent/test/${host} + append true + + type file + path /var/log/td-agent/test/buffer/ + flush_mode immediate + + +``` +#### Match Store ```puppet ::fluentd::match { 'test': priority => 30, @@ -233,7 +274,13 @@ include '::fluentd' }, { 'type' => 'file', - 'path' => '/tmp/td-agent-debug.log', + 'path' => '/tmp/td-agent-debug-${host}.log', + 'buffer_chunk_keys' => 'host', + 'buffer' => [{ + '@type' => 'file', + path => '/var/log/td-agent/buffer/', + flush_mode => 'immediate', + }] } ] } @@ -252,7 +299,11 @@ include '::fluentd' type file - path /tmp/crs + path /tmp/td-agent-debug-${host}.log + + @type file + path /var/log/td-agent/buffer/ + flush_mode immediate ``` diff --git a/templates/match.erb b/templates/match.erb index f623894..7fc487a 100644 --- a/templates/match.erb +++ b/templates/match.erb @@ -1,7 +1,8 @@ > <% @config.each do |key, val| -%> + <%- if key == 'buffer_chunk_keys'; next; end-%> <%- if val.is_a?( Hash ) -%> - <<%= key -%>> + <<%= key -%><%- if key == 'buffer' && !@config['buffer_chunk_keys'].nil? -%> <%= @config['buffer_chunk_keys'] -%><%- end -%>> <%- val.each do |key, val| -%> <%= key -%> <%= val %> <%- end -%> @@ -13,7 +14,7 @@ <%- k.each do |x, y| -%> <%- if y.is_a?( Array ) -%> <%- y.each do |a, b| -%> - <<%= x -%>> + <<%= x -%><%- if x == 'buffer' && !k['buffer_chunk_keys'].nil? -%> <%= k['buffer_chunk_keys'] -%><%- end -%>> <%- if a.is_a?( Hash ) -%> <%- a.each do |c, d| -%> <%= c -%> <%= d %> @@ -24,6 +25,7 @@ > <%- end -%> <%- else -%> + <%- if x == 'buffer_chunk_keys'; next; end -%> <%= x -%> <%= y %> <%- end -%> <%- end -%> diff --git a/templates/source.erb b/templates/source.erb index d047690..82478b9 100644 --- a/templates/source.erb +++ b/templates/source.erb @@ -2,8 +2,8 @@ <% @config.each do |key, val| -%> <%- if val.is_a?( Hash ) -%> <<%= key -%>> - <%- val.each do |key2, val2| -%> - <%= key2 -%> <%= val2 %> + <%- val.each do |key, val| -%> + <%= key -%> <%= val %> <%- end -%> > <%- else -%>