From 11d2a64fb400c8be2696dea3f5e49b8042f43802 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Krze=C5=9Bniak?= Date: Mon, 2 Jul 2018 13:41:16 +0200 Subject: [PATCH] Deprecation fileset for Elasticsearch filebeat module (#7474) --- CHANGELOG.asciidoc | 1 + filebeat/docs/fields.asciidoc | 5 +++ filebeat/filebeat.reference.yml | 6 ++++ filebeat/include/fields.go | 2 +- .../module/elasticsearch/_meta/config.yml | 6 ++++ .../deprecation/_meta/fields.yml | 4 +++ .../elasticsearch/deprecation/config/log.yml | 15 ++++++++ .../deprecation/ingest/pipeline.json | 36 +++++++++++++++++++ .../elasticsearch/deprecation/manifest.yml | 13 +++++++ .../test/elasticsearch_deprecation.log | 4 +++ .../test/other_elasticsearch_deprecation.log | 16 +++++++++ filebeat/modules.d/elasticsearch.yml.disabled | 6 ++++ 12 files changed, 113 insertions(+), 1 deletion(-) create mode 100644 filebeat/module/elasticsearch/deprecation/_meta/fields.yml create mode 100644 filebeat/module/elasticsearch/deprecation/config/log.yml create mode 100755 filebeat/module/elasticsearch/deprecation/ingest/pipeline.json create mode 100644 filebeat/module/elasticsearch/deprecation/manifest.yml create mode 100644 filebeat/module/elasticsearch/deprecation/test/elasticsearch_deprecation.log create mode 100644 filebeat/module/elasticsearch/deprecation/test/other_elasticsearch_deprecation.log diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index 1de9491fd30..25274dc66e1 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -206,6 +206,7 @@ https://github.com/elastic/beats/compare/v6.2.3...master[Check the HEAD diff] - Add GC fileset to the Elasticsearch module. {pull}7305[7305] - Add Audit log fileset to the Elasticsearch module. {pull}7365[7365] - Add Slow log fileset to the Elasticsearch module. {pull}7473[7473] +- Add deprecation fileset to the Elasticsearch module. {pull}7474[7474] *Heartbeat* diff --git a/filebeat/docs/fields.asciidoc b/filebeat/docs/fields.asciidoc index 9f29a2b096c..d48c77b2a44 100644 --- a/filebeat/docs/fields.asciidoc +++ b/filebeat/docs/fields.asciidoc @@ -916,6 +916,11 @@ The body of the request, if enabled -- +[float] +== deprecation fields + + + [float] == gc fields diff --git a/filebeat/filebeat.reference.yml b/filebeat/filebeat.reference.yml index f28b6f06941..4d84eb22a70 100644 --- a/filebeat/filebeat.reference.yml +++ b/filebeat/filebeat.reference.yml @@ -110,6 +110,12 @@ filebeat.modules: # Filebeat will choose the paths depending on your OS. #var.paths: + deprecation: + enabled: true + # Set custom paths for the log files. If left empty, + # Filebeat will choose the paths depending on your OS. + #var.paths: + #------------------------------- Icinga Module ------------------------------- #- module: icinga # Main logs diff --git a/filebeat/include/fields.go b/filebeat/include/fields.go index a9fb0a7d6eb..927407c6a1f 100644 --- a/filebeat/include/fields.go +++ b/filebeat/include/fields.go @@ -31,5 +31,5 @@ func init() { // Asset returns asset data func Asset() string { - return "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" + return "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" } diff --git a/filebeat/module/elasticsearch/_meta/config.yml b/filebeat/module/elasticsearch/_meta/config.yml index af0d2fdcfc0..0c2562f2796 100644 --- a/filebeat/module/elasticsearch/_meta/config.yml +++ b/filebeat/module/elasticsearch/_meta/config.yml @@ -24,3 +24,9 @@ # Set custom paths for the log files. If left empty, # Filebeat will choose the paths depending on your OS. #var.paths: + + deprecation: + enabled: true + # Set custom paths for the log files. If left empty, + # Filebeat will choose the paths depending on your OS. + #var.paths: diff --git a/filebeat/module/elasticsearch/deprecation/_meta/fields.yml b/filebeat/module/elasticsearch/deprecation/_meta/fields.yml new file mode 100644 index 00000000000..b4f8083631e --- /dev/null +++ b/filebeat/module/elasticsearch/deprecation/_meta/fields.yml @@ -0,0 +1,4 @@ +- name: deprecation + type: group + description: > + fields: diff --git a/filebeat/module/elasticsearch/deprecation/config/log.yml b/filebeat/module/elasticsearch/deprecation/config/log.yml new file mode 100644 index 00000000000..e49d0c86542 --- /dev/null +++ b/filebeat/module/elasticsearch/deprecation/config/log.yml @@ -0,0 +1,15 @@ +type: log +paths: +{{ range $i, $path := .paths }} + - {{$path}} +{{ end }} +exclude_files: [".gz$","_slowlog.log$","_access.log$"] +multiline: + pattern: '^\[[0-9]{4}-[0-9]{2}-[0-9]{2}' + negate: true + match: after + +fields: + service.name: "elasticsearch" + +fields_under_root: true diff --git a/filebeat/module/elasticsearch/deprecation/ingest/pipeline.json b/filebeat/module/elasticsearch/deprecation/ingest/pipeline.json new file mode 100755 index 00000000000..17bb9ddd409 --- /dev/null +++ b/filebeat/module/elasticsearch/deprecation/ingest/pipeline.json @@ -0,0 +1,36 @@ +{ + "description": "Pipeline for parsing the Elasticsearch deprecation log file.", + "on_failure": [ + { + "set": { + "field": "error.message", + "value": "{{ _ingest.on_failure_message }}" + } + } + ], + "processors": [ + { + "rename": { + "field": "@timestamp", + "target_field": "event.created" + } + }, + { + "grok": { + "field": "message", + "pattern_definitions": { + "GREEDYMULTILINE": "(.|\n)*" + }, + "patterns": [ + "\\[%{TIMESTAMP_ISO8601:timestamp}\\]\\[%{LOGLEVEL:log.level}%{SPACE}*\\]\\[%{DATA:elasticsearch.server.component}%{SPACE}*\\] %{GREEDYMULTILINE:message}" + ] + } + }, + { + "rename": { + "field": "timestamp", + "target_field": "@timestamp" + } + } + ] +} diff --git a/filebeat/module/elasticsearch/deprecation/manifest.yml b/filebeat/module/elasticsearch/deprecation/manifest.yml new file mode 100644 index 00000000000..63bc20cb74e --- /dev/null +++ b/filebeat/module/elasticsearch/deprecation/manifest.yml @@ -0,0 +1,13 @@ +module_version: 1.0 + +var: + - name: paths + default: + - /var/log/elasticsearch/*_deprecation.log + os.darwin: + - /usr/local/elasticsearch/*_deprecation.log + os.windows: + - c:/ProgramData/Elastic/Elasticsearch/logs/*_deprecation.log + +ingest_pipeline: ingest/pipeline.json +prospector: config/log.yml diff --git a/filebeat/module/elasticsearch/deprecation/test/elasticsearch_deprecation.log b/filebeat/module/elasticsearch/deprecation/test/elasticsearch_deprecation.log new file mode 100644 index 00000000000..f797c1c2031 --- /dev/null +++ b/filebeat/module/elasticsearch/deprecation/test/elasticsearch_deprecation.log @@ -0,0 +1,4 @@ +[2018-04-23T16:40:13,737][WARN ][o.e.d.a.a.i.t.p.PutIndexTemplateRequest] Deprecated field [template] used, replaced by [index_patterns] +[2018-04-23T16:40:13,862][WARN ][o.e.d.a.a.i.t.p.PutIndexTemplateRequest] Deprecated field [template] used, replaced by [index_patterns] +[2018-04-23T16:40:14,792][WARN ][o.e.d.a.a.i.t.p.PutIndexTemplateRequest] Deprecated field [template] used, replaced by [index_patterns] +[2018-04-23T16:40:15,127][WARN ][o.e.d.a.a.i.t.p.PutIndexTemplateRequest] Deprecated field [template] used, replaced by [index_patterns] diff --git a/filebeat/module/elasticsearch/deprecation/test/other_elasticsearch_deprecation.log b/filebeat/module/elasticsearch/deprecation/test/other_elasticsearch_deprecation.log new file mode 100644 index 00000000000..8dc0fe8eacd --- /dev/null +++ b/filebeat/module/elasticsearch/deprecation/test/other_elasticsearch_deprecation.log @@ -0,0 +1,16 @@ +[2017-11-30T13:38:16,911][WARN ][o.e.d.c.ParseField ] Deprecated field [inline] used, expected [source] instead +[2017-11-30T13:38:16,941][WARN ][o.e.d.c.ParseField ] Deprecated field [inline] used, expected [source] instead +[2017-11-30T13:39:28,986][WARN ][o.e.d.i.m.UidFieldMapper ] Fielddata access on the _uid field is deprecated, use _id instead +[2017-11-30T13:39:36,339][WARN ][o.e.d.i.m.UidFieldMapper ] Fielddata access on the _uid field is deprecated, use _id instead +[2017-11-30T13:40:49,540][WARN ][o.e.d.i.m.UidFieldMapper ] Fielddata access on the _uid field is deprecated, use _id instead +[2017-11-30T14:08:37,413][WARN ][o.e.d.i.m.UidFieldMapper ] Fielddata access on the _uid field is deprecated, use _id instead +[2017-11-30T14:08:37,413][WARN ][o.e.d.i.m.UidFieldMapper ] Fielddata access on the _uid field is deprecated, use _id instead +[2017-11-30T14:08:46,006][WARN ][o.e.d.i.m.UidFieldMapper ] Fielddata access on the _uid field is deprecated, use _id instead +[2017-11-30T14:08:46,006][WARN ][o.e.d.i.m.UidFieldMapper ] Fielddata access on the _uid field is deprecated, use _id instead +[2017-12-01T14:05:54,017][WARN ][o.e.d.i.m.AllFieldMapper ] [_all] is deprecated in 6.0+ and will be removed in 7.0. As a replacement, you can use [copy_to] on mapping fields to create your own catch all field. +[2017-12-01T14:05:54,019][WARN ][o.e.d.i.m.AllFieldMapper ] [_all] is deprecated in 6.0+ and will be removed in 7.0. As a replacement, you can use [copy_to] on mapping fields to create your own catch all field. +[2017-12-01T14:06:52,059][WARN ][o.e.d.i.m.AllFieldMapper ] [_all] is deprecated in 6.0+ and will be removed in 7.0. As a replacement, you can use [copy_to] on mapping fields to create your own catch all field. +[2017-12-01T14:46:10,428][WARN ][o.e.d.s.a.InternalOrder$Parser] Deprecated aggregation order key [_term] used, replaced by [_key] +[2017-12-04T16:17:18,271][WARN ][o.e.d.a.a.i.t.p.PutIndexTemplateRequest] Deprecated field [template] used, replaced by [index_patterns] +[2017-12-04T16:17:18,282][WARN ][o.e.d.i.m.MapperService ] [_default_] mapping is deprecated since it is not useful anymore now that indexes cannot have more than one type +[2017-12-04T16:20:43,248][WARN ][o.e.d.i.m.MapperService ] [_default_] mapping is deprecated since it is not useful anymore now that indexes cannot have more than one type diff --git a/filebeat/modules.d/elasticsearch.yml.disabled b/filebeat/modules.d/elasticsearch.yml.disabled index af0d2fdcfc0..0c2562f2796 100644 --- a/filebeat/modules.d/elasticsearch.yml.disabled +++ b/filebeat/modules.d/elasticsearch.yml.disabled @@ -24,3 +24,9 @@ # Set custom paths for the log files. If left empty, # Filebeat will choose the paths depending on your OS. #var.paths: + + deprecation: + enabled: true + # Set custom paths for the log files. If left empty, + # Filebeat will choose the paths depending on your OS. + #var.paths: