Merge "filebeat.yml changes"
[platform-oam.git] / filebeat / config / filebeat.yml
1 # ===============LICENSE_START=======================================================
2 # Acumos Apache-2.0
3 # ===================================================================================
4 # Copyright (C) 2017-2018 AT&T Intellectual Property & Tech Mahindra. All rights reserved.
5 # ===================================================================================
6 # This Acumos software file is distributed by AT&T and Tech Mahindra
7 # under the Apache License, Version 2.0 (the "License");
8 # you may not use this file except in compliance with the License.
9 # You may obtain a copy of the License at
10 #
11 # http://www.apache.org/licenses/LICENSE-2.0
12 #
13 # This file is distributed on an "AS IS" BASIS,
14 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 # See the License for the specific language governing permissions and
16 # limitations under the License.
17 # ===============LICENSE_END=========================================================
18
19 ###################### Filebeat Configuration Example #########################
20
21 # This file is an example configuration file highlighting only the most common
22 # options. The filebeat.full.yml file from the same directory contains all the
23 # supported options with more comments. You can use it as a reference.
24 #
25 # You can find the full configuration reference here:
26 # https://www.elastic.co/guide/en/beats/filebeat/index.html
27
28 #=========================== Filebeat inputs =============================
29
30 # List of inputs to fetch data.
31 filebeat.inputs:
32 # Each - is an input. Most options can be set at the input level, so
33 # you can use different inputs for various configurations.
34 # Below are the input specific configurations.
35
36 # Type of the files. Based on this the way the file is read is decided.
37 # The different types cannot be mixed in one input
38 #
39 # Possible options are:
40 # * log: Reads every line of the log file (default)
41 # * stdin: Reads the standard in
42
43 #------------------------------ Log input --------------------------------
44 - type: log
45
46   # Change to true to enable this input configuration.
47   enabled: false
48
49   # Paths that should be crawled and fetched. Glob based paths.
50   # To fetch all ".log" files from a specific level of subdirectories
51   # /var/log/*/*.log can be used.
52   # For each file found under this path, a harvester is started.
53   # Make sure not file is defined twice as this can lead to unexpected behaviour.
54   paths:
55     - /filebeat-logs/*/*.log 
56     #- /var/log/*.log
57     #- c:\programdata\elasticsearch\logs\*
58
59   # Configure the file encoding for reading files with international characters
60   # following the W3C recommendation for HTML5 (http://www.w3.org/TR/encoding).
61   # Some sample encodings:
62   #   plain, utf-8, utf-16be-bom, utf-16be, utf-16le, big5, gb18030, gbk,
63   #    hz-gb-2312, euc-kr, euc-jp, iso-2022-jp, shift-jis, ...
64   #encoding: plain
65
66
67   # Exclude lines. A list of regular expressions to match. It drops the lines that are
68   # matching any regular expression from the list. The include_lines is called before
69   # exclude_lines. By default, no lines are dropped.
70   #exclude_lines: ['^DBG']
71
72   # Include lines. A list of regular expressions to match. It exports the lines that are
73   # matching any regular expression from the list. The include_lines is called before
74   # exclude_lines. By default, all the lines are exported.
75   #include_lines: ['^ERR', '^WARN']
76
77   # Exclude files. A list of regular expressions to match. Filebeat drops the files that
78   # are matching any regular expression from the list. By default, no files are dropped.
79   #exclude_files: ['.gz$']
80
81   # Optional additional fields. These fields can be freely picked
82   # to add additional information to the crawled log files for filtering
83   #fields:
84   #  level: debug
85   #  review: 1
86
87   # Set to true to store the additional fields as top level fields instead
88   # of under the "fields" sub-dictionary. In case of name conflicts with the
89   # fields added by Filebeat itself, the custom fields overwrite the default
90   # fields.
91   #fields_under_root: false
92
93   # Set to true to publish fields with null values in events.
94   #keep_null: false
95
96   # Ignore files which were modified more then the defined timespan in the past.
97   # ignore_older is disabled by default, so no files are ignored by setting it to 0.
98   # Time strings like 2h (2 hours), 5m (5 minutes) can be used.
99   #ignore_older: 0
100
101   # How often the input checks for new files in the paths that are specified
102   # for harvesting. Specify 1s to scan the directory as frequently as possible
103   # without causing Filebeat to scan too frequently. Default: 10s.
104   #scan_frequency: 10s
105
106   # Defines the buffer size every harvester uses when fetching the file
107   #harvester_buffer_size: 16384
108
109   # Maximum number of bytes a single log event can have
110   # All bytes after max_bytes are discarded and not sent. The default is 10MB.
111   # This is especially useful for multiline log messages which can get large.
112   #max_bytes: 10485760
113
114   # Characters which separate the lines. Valid values: auto, line_feed, vertical_tab, form_feed,
115   # carriage_return, carriage_return_line_feed, next_line, line_separator, paragraph_separator.
116   #line_terminator: auto
117
118   ### Recursive glob configuration
119
120   # Expand "**" patterns into regular glob patterns.
121   #recursive_glob.enabled: true
122
123   ### JSON configuration
124
125   # Decode JSON options. Enable this if your logs are structured in JSON.
126   # JSON key on which to apply the line filtering and multiline settings. This key
127   # must be top level and its value must be string, otherwise it is ignored. If
128   # no text key is defined, the line filtering and multiline features cannot be used.
129   #json.message_key:
130
131   # By default, the decoded JSON is placed under a "json" key in the output document.
132   # If you enable this setting, the keys are copied top level in the output document.
133   #json.keys_under_root: false
134
135   # If keys_under_root and this setting are enabled, then the values from the decoded
136   # JSON object overwrite the fields that Filebeat normally adds (type, source, offset, etc.)
137   # in case of conflicts.
138   #json.overwrite_keys: false
139
140   # If this setting is enabled, Filebeat adds a "error.message" and "error.key: json" key in case of JSON
141   # unmarshaling errors or when a text key is defined in the configuration but cannot
142   # be used.
143   #json.add_error_key: false
144
145   ### Multiline options
146
147   # Multiline can be used for log messages spanning multiple lines. This is common
148   # for Java Stack Traces or C-Line Continuation
149
150   # The regexp Pattern that has to be matched. The example pattern matches all lines starting with [
151   #multiline.pattern: ^\[
152   multiline.pattern: '^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2},[0-9]{3}'
153   multiline.negate: true
154   multiline.match: after
155
156   # Defines if the pattern set under pattern should be negated or not. Default is false.
157   #multiline.negate: false
158
159   # Match can be set to "after" or "before". It is used to define if lines should be append to a pattern
160   # that was (not) matched before or after or as long as a pattern is not matched based on negate.
161   # Note: After is the equivalent to previous and before is the equivalent to to next in Logstash
162   #multiline.match: after
163
164   # The maximum number of lines that are combined to one event.
165   # In case there are more the max_lines the additional lines are discarded.
166   # Default is 500
167   #multiline.max_lines: 500
168
169   # After the defined timeout, an multiline event is sent even if no new pattern was found to start a new event
170   # Default is 5s.
171   #multiline.timeout: 5s
172
173   # Setting tail_files to true means filebeat starts reading new files at the end
174   # instead of the beginning. If this is used in combination with log rotation
175   # this can mean that the first entries of a new file are skipped.
176   #tail_files: false
177
178   # The Ingest Node pipeline ID associated with this input. If this is set, it
179   # overwrites the pipeline option from the Elasticsearch output.
180   #pipeline:
181
182   # If symlinks is enabled, symlinks are opened and harvested. The harvester is opening the
183   # original for harvesting but will report the symlink name as source.
184   #symlinks: false
185
186   # Backoff values define how aggressively filebeat crawls new files for updates
187   # The default values can be used in most cases. Backoff defines how long it is waited
188   # to check a file again after EOF is reached. Default is 1s which means the file
189   # is checked every second if new lines were added. This leads to a near real time crawling.
190   # Every time a new line appears, backoff is reset to the initial value.
191   #backoff: 1s
192
193   # Max backoff defines what the maximum backoff time is. After having backed off multiple times
194   # from checking the files, the waiting time will never exceed max_backoff independent of the
195   # backoff factor. Having it set to 10s means in the worst case a new line can be added to a log
196   # file after having backed off multiple times, it takes a maximum of 10s to read the new line
197   #max_backoff: 10s
198
199   # The backoff factor defines how fast the algorithm backs off. The bigger the backoff factor,
200   # the faster the max_backoff value is reached. If this value is set to 1, no backoff will happen.
201   # The backoff value will be multiplied each time with the backoff_factor until max_backoff is reached
202   #backoff_factor: 2
203
204   # Max number of harvesters that are started in parallel.
205   # Default is 0 which means unlimited
206   #harvester_limit: 0
207
208   ### Harvester closing options
209
210   # Close inactive closes the file handler after the predefined period.
211   # The period starts when the last line of the file was, not the file ModTime.
212   # Time strings like 2h (2 hours), 5m (5 minutes) can be used.
213   #close_inactive: 5m
214
215   # Close renamed closes a file handler when the file is renamed or rotated.
216   # Note: Potential data loss. Make sure to read and understand the docs for this option.
217   #close_renamed: false
218
219   # When enabling this option, a file handler is closed immediately in case a file can't be found
220   # any more. In case the file shows up again later, harvesting will continue at the last known position
221   # after scan_frequency.
222   #close_removed: true
223
224   # Closes the file handler as soon as the harvesters reaches the end of the file.
225   # By default this option is disabled.
226   # Note: Potential data loss. Make sure to read and understand the docs for this option.
227   #close_eof: false
228
229   ### State options
230
231   # Files for the modification data is older then clean_inactive the state from the registry is removed
232   # By default this is disabled.
233   #clean_inactive: 0
234
235   # Removes the state for file which cannot be found on disk anymore immediately
236   #clean_removed: true
237
238   # Close timeout closes the harvester after the predefined time.
239   # This is independent if the harvester did finish reading the file or not.
240   # By default this option is disabled.
241   # Note: Potential data loss. Make sure to read and understand the docs for this option.
242   #close_timeout: 0
243
244   # Defines if inputs is enabled
245   #enabled: true
246   
247  #----------------------------- Logstash output ---------------------------------
248 #output.logstash:
249   # Boolean flag to enable or disable the output module.
250   #enabled: true
251
252   # The Logstash hosts
253   #hosts: ["localhost:5044"]
254   hosts: ["${LOGSTASH_HOST}:${LOGSTASH_PORT}"]
255   bulk_max_size: 1024 
256   # Number of workers per Logstash host.
257   #worker: 1
258
259   # Set gzip compression level.
260   #compression_level: 3
261
262   # Configure escaping HTML symbols in strings.
263   #escape_html: false
264
265   # Optional maximum time to live for a connection to Logstash, after which the
266   # connection will be re-established.  A value of `0s` (the default) will
267   # disable this feature.
268   #
269   # Not yet supported for async connections (i.e. with the "pipelining" option set)
270   #ttl: 30s
271
272   # Optionally load-balance events between Logstash hosts. Default is false.
273   #loadbalance: false
274
275   # Number of batches to be sent asynchronously to Logstash while processing
276   # new batches.
277   #pipelining: 2
278
279   # If enabled only a subset of events in a batch of events is transferred per
280   # transaction.  The number of events to be sent increases up to `bulk_max_size`
281   # if no error is encountered.
282   #slow_start: false
283
284   # The number of seconds to wait before trying to reconnect to Logstash
285   # after a network error. After waiting backoff.init seconds, the Beat
286   # tries to reconnect. If the attempt fails, the backoff timer is increased
287   # exponentially up to backoff.max. After a successful connection, the backoff
288   # timer is reset. The default is 1s.
289   #backoff.init: 1s
290
291   # The maximum number of seconds to wait before attempting to connect to
292   # Logstash after a network error. The default is 60s.
293   #backoff.max: 60s
294
295   # Optional index name. The default index name is set to filebeat
296   # in all lowercase.
297   #index: 'filebeat'
298
299   # SOCKS5 proxy server URL
300   #proxy_url: socks5://user:password@socks5-server:2233
301
302   # Resolve names locally when using a proxy server. Defaults to false.
303   #proxy_use_local_resolver: false
304
305   # Enable SSL support. SSL is automatically enabled if any SSL setting is set.
306   #ssl.enabled: true
307
308   # Configure SSL verification mode. If `none` is configured, all server hosts
309   # and certificates will be accepted. In this mode, SSL based connections are
310   # susceptible to man-in-the-middle attacks. Use only for testing. Default is
311   # `full`.
312   #ssl.verification_mode: full
313
314   # List of supported/valid TLS versions. By default all TLS versions from 1.1
315   # up to 1.3 are enabled.
316   #ssl.supported_protocols: [TLSv1.1, TLSv1.2, TLSv1.3]
317
318   # Optional SSL configuration options. SSL is off by default.
319   # List of root certificates for HTTPS server verifications
320   #ssl.certificate_authorities: ["/etc/pki/root/ca.pem"]
321
322   # Certificate for SSL client authentication
323   #ssl.certificate: "/etc/pki/client/cert.pem"
324
325   # Client certificate key
326   #ssl.key: "/etc/pki/client/cert.key"
327
328   # Optional passphrase for decrypting the Certificate Key.
329   #ssl.key_passphrase: ''
330
331   # Configure cipher suites to be used for SSL connections
332   #ssl.cipher_suites: []
333
334   # Configure curve types for ECDHE-based cipher suites
335   #ssl.curve_types: []
336
337   # Configure what types of renegotiation are supported. Valid options are
338   # never, once, and freely. Default is never.
339   #ssl.renegotiation: never
340
341   # The number of times to retry publishing an event after a publishing failure.
342   # After the specified number of retries, the events are typically dropped.
343   # Some Beats, such as Filebeat and Winlogbeat, ignore the max_retries setting
344   # and retry until all events are published.  Set max_retries to a value less
345   # than 0 to retry until all events are published. The default is 3.
346   #max_retries: 3
347
348   # The maximum number of events to bulk in a single Logstash request. The
349   # default is 2048.
350   #bulk_max_size: 2048
351
352   # The number of seconds to wait for responses from the Logstash server before
353   # timing out. The default is 30s.
354   #timeout: 30s 
355   
356  #================================ Logging ======================================
357 # There are four options for the log output: file, stderr, syslog, eventlog
358 # The file output is the default.
359
360 # Sets log level. The default log level is info.
361 # Available log levels are: error, warning, info, debug
362 #logging.level: info
363
364 # Enable debug output for selected components. To enable all selectors use ["*"]
365 # Other available selectors are "beat", "publish", "service"
366 # Multiple selectors can be chained.
367 #logging.selectors: [ ]
368
369 # Send all logging output to stderr. The default is false.
370 #logging.to_stderr: false
371
372 # Send all logging output to syslog. The default is false.
373 #logging.to_syslog: false
374
375 # Send all logging output to Windows Event Logs. The default is false.
376 #logging.to_eventlog: false
377
378 # If enabled, Filebeat periodically logs its internal metrics that have changed
379 # in the last period. For each metric that changed, the delta from the value at
380 # the beginning of the period is logged. Also, the total values for
381 # all non-zero internal metrics are logged on shutdown. The default is true.
382 #logging.metrics.enabled: true
383
384 # The period after which to log the internal metrics. The default is 30s.
385 #logging.metrics.period: 30s
386
387 # Logging to rotating files. Set logging.to_files to false to disable logging to
388 # files.
389 logging.to_files: true
390 logging.files:
391   # Configure the path where the logs are written. The default is the logs directory
392   # under the home path (the binary location).
393   #path: /var/log/filebeat
394
395   # The name of the files where the logs are written to.
396   #name: filebeat
397
398   # Configure log file size limit. If limit is reached, log file will be
399   # automatically rotated
400   #rotateeverybytes: 10485760 # = 10MB
401
402   # Number of rotated log files to keep. Oldest files will be deleted first.
403   #keepfiles: 7
404
405   # The permissions mask to apply when rotating log files. The default value is 0600.
406   # Must be a valid Unix-style file permissions mask expressed in octal notation.
407   #permissions: 0600
408
409   # Enable log file rotation on time intervals in addition to size-based rotation.
410   # Intervals must be at least 1s. Values of 1m, 1h, 24h, 7*24h, 30*24h, and 365*24h
411   # are boundary-aligned with minutes, hours, days, weeks, months, and years as
412   # reported by the local system clock. All other intervals are calculated from the
413   # Unix epoch. Defaults to disabled.
414   #interval: 0
415
416   # Rotate existing logs on startup rather than appending to the existing
417   # file. Defaults to true.
418   # rotateonstartup: true
419
420 # Set to true to log messages in JSON format.
421 #logging.json: false