forked from pcfens/puppet-filebeat
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add support for the 'filestream' input type (pcfens#297)
- Loading branch information
Showing
4 changed files
with
218 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,199 @@ | ||
<%- if @pure_array -%> | ||
<%= scope['filebeat::inputs'].to_yaml() %> | ||
<%- else -%> | ||
--- | ||
- type: <%= @input_type %> | ||
id: <%= @name %> | ||
paths: | ||
<%- @paths.each do |log_path| -%> | ||
- <%= log_path %> | ||
<%- end -%> | ||
<%- if @encoding -%> | ||
encoding: <%= @encoding %> | ||
<%- end -%> | ||
<%- if @include_lines.length > 0 -%> | ||
include_lines: | ||
<%- @include_lines.each do |include_line| -%> | ||
- '<%= include_line %>' | ||
<%- end -%> | ||
<%- end -%> | ||
<%- if @exclude_lines.length > 0 -%> | ||
exclude_lines: | ||
<%- @exclude_lines.each do |exclude_line| -%> | ||
- '<%= exclude_line %>' | ||
<%- end -%> | ||
<%- end -%> | ||
<%- if @exclude_files.length > 0 -%> | ||
exclude_files: | ||
<%- @exclude_files.each do |exclude_file| -%> | ||
- <%= exclude_file %> | ||
<%- end -%> | ||
<%- end -%> | ||
<%- if @ignore_older -%> | ||
ignore_older: <%= @ignore_older %> | ||
<%- end -%> | ||
<%- if @doc_type -%> | ||
document_type: <%= @doc_type %> | ||
<%- end -%> | ||
<%- if @scan_frequency -%> | ||
prospector: | ||
scanner: | ||
check_interval: <%= @scan_frequency %> | ||
<%- end -%> | ||
<%- if @harvester_buffer_size -%> | ||
harvester_buffer_size: <%= @harvester_buffer_size %> | ||
<%- end -%> | ||
<%- if @max_bytes -%> | ||
message_max_bytes: <%= @max_bytes %> | ||
<%- end -%> | ||
<%- if @symlinks -%> | ||
symlinks: <%= @symlinks %> | ||
<%- end -%> | ||
<%- if @close_older -%> | ||
close_older: <%= @close_older %> | ||
<%- end -%> | ||
<%- if @force_close_files -%> | ||
force_close_files: <%= @force_close_files %> | ||
<%- end -%> | ||
<%- if @json.length > 0 -%> | ||
### JSON configuration | ||
json: | ||
# Decode JSON options. Enable this if your logs are structured in JSON. | ||
# JSON key on which to apply the line filtering and multiline settings. This key | ||
# must be top level and its value must be string, otherwise it is ignored. If | ||
# no text key is defined, the line filtering and multiline features cannot be used. | ||
<%- if @json['message_key'] != nil-%> | ||
message_key: '<%= @json['message_key'] %>' | ||
<%- end -%> | ||
|
||
# By default, the decoded JSON is placed under a "json" key in the output document. | ||
# If you enable this setting, the keys are copied top level in the output document. | ||
<%- if @json['keys_under_root'] != nil -%> | ||
keys_under_root: <%= @json['keys_under_root'] %> | ||
<%- end -%> | ||
|
||
# If keys_under_root and this setting are enabled, then the values from the decoded | ||
# JSON object overwrite the fields that Filebeat normally adds (type, source, offset, etc.) | ||
# in case of conflicts. | ||
<%- if @json['overwrite_keys'] != nil -%> | ||
overwrite_keys: <%= @json['overwrite_keys'] %> | ||
<%- end -%> | ||
|
||
# If this setting is enabled, Filebeat adds a "json_error" key in case of JSON | ||
# unmarshaling errors or when a text key is defined in the configuration but cannot | ||
# be used. | ||
<%- if @json['add_error_key'] != nil -%> | ||
add_error_key: <%= @json['add_error_key'] %> | ||
<%- end -%> | ||
<%- end -%> | ||
<%- if @multiline.length > 0 -%> | ||
parsers: | ||
- multiline: | ||
<%- if @multiline['pattern'] -%> | ||
pattern: '<%= @multiline['pattern'] %>' | ||
<%- end -%> | ||
<%- if @multiline['negate'] -%> | ||
negate: <%= @multiline['negate'] %> | ||
<%- end -%> | ||
<%- if @multiline['match'] -%> | ||
match: <%= @multiline['match'] %> | ||
<%- end -%> | ||
<%- if @multiline['max_lines'] -%> | ||
max_lines: <%= @multiline['max_lines'] %> | ||
<%- end -%> | ||
<%- if @multiline['timeout'] -%> | ||
timeout: <%= @multiline['timeout'] %> | ||
<%- end -%> | ||
<%- end -%> | ||
tail_files: <%= @tail_files %> | ||
|
||
# Experimental: If symlinks is enabled, symlinks are opened and harvested. The harvester is openening the | ||
# original for harvesting but will report the symlink name as source. | ||
#symlinks: false | ||
|
||
<%- if @backoff or @max_backoff -%> | ||
backoff: | ||
<%- if @backoff -%> | ||
init: <%= @backoff %> | ||
<%- end -%> | ||
<%- if @max_backoff -%> | ||
max: <%= @max_backoff %> | ||
<%- end -%> | ||
<%- end -%> | ||
|
||
# Experimental: Max number of harvesters that are started in parallel. | ||
# Default is 0 which means unlimited | ||
<%- if @harvester_limit -%> | ||
harvester_limit: <%= @harvester_limit %> | ||
<%- end -%> | ||
|
||
### Harvester closing options | ||
|
||
# Close inactive closes the file handler after the predefined period. | ||
# The period starts when the last line of the file was, not the file ModTime. | ||
# Time strings like 2h (2 hours), 5m (5 minutes) can be used. | ||
<%- if @close_inactive -%> | ||
close_inactive: <%= @close_inactive %> | ||
<%- end -%> | ||
|
||
# Close renamed closes a file handler when the file is renamed or rotated. | ||
# Note: Potential data loss. Make sure to read and understand the docs for this option. | ||
close_renamed: <%= @close_renamed %> | ||
|
||
# When enabling this option, a file handler is closed immediately in case a file can't be found | ||
# any more. In case the file shows up again later, harvesting will continue at the last known position | ||
# after scan_frequency. | ||
close_removed: <%= @close_removed %> | ||
|
||
# Closes the file handler as soon as the harvesters reaches the end of the file. | ||
# By default this option is disabled. | ||
# Note: Potential data loss. Make sure to read and understand the docs for this option. | ||
close_eof: <%= @close_eof %> | ||
|
||
### State options | ||
|
||
# Files for the modification data is older then clean_inactive the state from the registry is removed | ||
# By default this is disabled. | ||
<%- if @clean_inactive -%> | ||
clean_inactive: <%= @clean_inactive %> | ||
<%- end -%> | ||
|
||
# Removes the state for file which cannot be found on disk anymore immediately | ||
clean_removed: <%= @clean_removed %> | ||
|
||
# Close timeout closes the harvester after the predefined time. | ||
# This is independent if the harvester did finish reading the file or not. | ||
# By default this option is disabled. | ||
# Note: Potential data loss. Make sure to read and understand the docs for this option. | ||
<%- if @close_timeout -%> | ||
close_timeout: <%= @close_timeout %> | ||
<%- end -%> | ||
<%- if @pipeline -%> | ||
pipeline: <%= @pipeline %> | ||
<%- end -%> | ||
<%- if @fields.length > 0 -%> | ||
fields: | ||
<%- @fields.each_pair do |k, v| -%> | ||
<%= k %>: <%= v %> | ||
<%- end -%> | ||
<%- end -%> | ||
fields_under_root: <%= @fields_under_root %> | ||
<%- if @ssl.length > 0 -%> | ||
ssl: | ||
<%- @ssl.each_pair do |k, v| -%> | ||
<%= k %>: <%= v %> | ||
<%- end -%> | ||
<%- end -%> | ||
<%- if @tags.length > 0 -%> | ||
tags: | ||
<%- @tags.each do |tag| -%> | ||
- <%= tag %> | ||
<%- end -%> | ||
<%- end -%> | ||
<%- if @processors.length > 0 -%> | ||
processors: | ||
<%- %><%= @processors.to_yaml.lines.drop(1).join.gsub(/^/, ' ') -%> | ||
<%- end -%> | ||
<%- end %> |