From 4b60157a474af1b16440aa111fcda576fb09f560 Mon Sep 17 00:00:00 2001 From: Mathieu Martin Date: Fri, 30 Nov 2018 11:33:50 -0500 Subject: [PATCH 1/6] Perform ECS field renames: - redis.log.level => log.level - redis.log.message => message - redis.log.pid => process.pid --- filebeat/module/redis/log/ingest/pipeline.json | 10 +++------- .../redis/log/test/test.log-expected.json | 18 +++++++++--------- 2 files changed, 12 insertions(+), 16 deletions(-) diff --git a/filebeat/module/redis/log/ingest/pipeline.json b/filebeat/module/redis/log/ingest/pipeline.json index 5e61b64be40..fbdbb7cedfc 100644 --- a/filebeat/module/redis/log/ingest/pipeline.json +++ b/filebeat/module/redis/log/ingest/pipeline.json @@ -5,8 +5,8 @@ "grok": { "field": "message", "patterns": [ - "(%{POSINT:redis.log.pid}:%{CHAR:redis.log.role} )?%{REDISTIMESTAMP:redis.log.timestamp} %{REDISLEVEL:redis.log.level} %{GREEDYDATA:redis.log.message}", - "%{POSINT:redis.log.pid}:signal-handler \\(%{POSINT:redis.log.timestamp}\\) %{GREEDYDATA:redis.log.message}" + "(%{POSINT:process.pid}:%{CHAR:redis.log.role} )?%{REDISTIMESTAMP:redis.log.timestamp} %{REDISLEVEL:log.level} %{GREEDYDATA:message}", + "%{POSINT:process.pid}:signal-handler \\(%{POSINT:redis.log.timestamp}\\) %{GREEDYDATA:message}" ], "pattern_definitions": { "CHAR": "[a-zA-Z]", @@ -16,17 +16,13 @@ }, { "script": { "lang": "painless", - "inline": "if (ctx.redis.log.level == '.') {\n ctx.redis.log.level = 'debug';\n } else if (ctx.redis.log.level == '-') {\n ctx.redis.log.level = 'verbose';\n } else if (ctx.redis.log.level == '*') {\n ctx.redis.log.level = 'notice';\n } else if (ctx.redis.log.level == '#') {\n ctx.redis.log.level = 'warning';\n }" + "inline": "if (ctx.log.level == '.') {\n ctx.log.level = 'debug';\n } else if (ctx.log.level == '-') {\n ctx.log.level = 'verbose';\n } else if (ctx.log.level == '*') {\n ctx.log.level = 'notice';\n } else if (ctx.log.level == '#') {\n ctx.log.level = 'warning';\n }" } }, { "script": { "lang": "painless", "inline": "if (ctx.redis.log.role == 'M') {\n ctx.redis.log.role = 'master';\n } else if (ctx.redis.log.role == 'S') {\n ctx.redis.log.role = 'slave';\n } else if (ctx.redis.log.role == 'C') {\n ctx.redis.log.role = 'child';\n } else if (ctx.redis.log.role == 'X') {\n ctx.redis.log.role = 'sentinel';\n }\n " } - }, { - "remove": { - "field": "message" - } }, { "rename": { "field": "@timestamp", diff --git a/filebeat/module/redis/log/test/test.log-expected.json b/filebeat/module/redis/log/test/test.log-expected.json index 514778dadfb..199c88ddaa5 100644 --- a/filebeat/module/redis/log/test/test.log-expected.json +++ b/filebeat/module/redis/log/test/test.log-expected.json @@ -4,10 +4,10 @@ "event.dataset": "log", "event.module": "redis", "input.type": "log", + "log.level": "notice", "log.offset": 0, - "redis.log.level": "notice", - "redis.log.message": "Saving the final RDB snapshot before exiting.", - "redis.log.pid": "98738", + "message": "Saving the final RDB snapshot before exiting.", + "process.pid": "98738", "redis.log.role": "master" }, { @@ -15,18 +15,18 @@ "event.dataset": "log", "event.module": "redis", "input.type": "log", + "log.level": "debug", "log.offset": 76, - "redis.log.level": "debug", - "redis.log.message": "0 clients connected (0 slaves), 618932 bytes in use, 0 shared objects." + "message": "0 clients connected (0 slaves), 618932 bytes in use, 0 shared objects." }, { "@timestamp": "2018-05-31T04:32:08.000Z", "event.dataset": "log", "event.module": "redis", "input.type": "log", + "log.level": "notice", "log.offset": 165, - "redis.log.level": "notice", - "redis.log.message": "The server is now ready to accept connections on port 6379\"" + "message": "The server is now ready to accept connections on port 6379\"" }, { "@timestamp": "2017-05-30T10:57:24.000Z", @@ -34,7 +34,7 @@ "event.module": "redis", "input.type": "log", "log.offset": 250, - "redis.log.message": "Received SIGINT scheduling shutdown...", - "redis.log.pid": "5092" + "message": "Received SIGINT scheduling shutdown...", + "process.pid": "5092" } ] \ No newline at end of file From e93393909719cee599c12ac15eb93dca5307839d Mon Sep 17 00:00:00 2001 From: Mathieu Martin Date: Fri, 30 Nov 2018 11:39:49 -0500 Subject: [PATCH 2/6] Coerce PID to int --- filebeat/module/redis/log/ingest/pipeline.json | 4 ++-- filebeat/module/redis/log/test/test.log-expected.json | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/filebeat/module/redis/log/ingest/pipeline.json b/filebeat/module/redis/log/ingest/pipeline.json index fbdbb7cedfc..2aab669f86e 100644 --- a/filebeat/module/redis/log/ingest/pipeline.json +++ b/filebeat/module/redis/log/ingest/pipeline.json @@ -5,8 +5,8 @@ "grok": { "field": "message", "patterns": [ - "(%{POSINT:process.pid}:%{CHAR:redis.log.role} )?%{REDISTIMESTAMP:redis.log.timestamp} %{REDISLEVEL:log.level} %{GREEDYDATA:message}", - "%{POSINT:process.pid}:signal-handler \\(%{POSINT:redis.log.timestamp}\\) %{GREEDYDATA:message}" + "(%{POSINT:process.pid:int}:%{CHAR:redis.log.role} )?%{REDISTIMESTAMP:redis.log.timestamp} %{REDISLEVEL:log.level} %{GREEDYDATA:message}", + "%{POSINT:process.pid:int}:signal-handler \\(%{POSINT:redis.log.timestamp}\\) %{GREEDYDATA:message}" ], "pattern_definitions": { "CHAR": "[a-zA-Z]", diff --git a/filebeat/module/redis/log/test/test.log-expected.json b/filebeat/module/redis/log/test/test.log-expected.json index 199c88ddaa5..f6cfeea6138 100644 --- a/filebeat/module/redis/log/test/test.log-expected.json +++ b/filebeat/module/redis/log/test/test.log-expected.json @@ -7,7 +7,7 @@ "log.level": "notice", "log.offset": 0, "message": "Saving the final RDB snapshot before exiting.", - "process.pid": "98738", + "process.pid": 98738, "redis.log.role": "master" }, { @@ -35,6 +35,6 @@ "input.type": "log", "log.offset": 250, "message": "Received SIGINT scheduling shutdown...", - "process.pid": "5092" + "process.pid": 5092 } ] \ No newline at end of file From ee60ed2324fd14d3c9ead5b774adededca135f24 Mon Sep 17 00:00:00 2001 From: Mathieu Martin Date: Tue, 18 Dec 2018 16:57:12 -0500 Subject: [PATCH 3/6] Perform coercions with `:long` instead of `:int` --- filebeat/module/redis/log/ingest/pipeline.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/filebeat/module/redis/log/ingest/pipeline.json b/filebeat/module/redis/log/ingest/pipeline.json index 2aab669f86e..45a3aebf618 100644 --- a/filebeat/module/redis/log/ingest/pipeline.json +++ b/filebeat/module/redis/log/ingest/pipeline.json @@ -5,8 +5,8 @@ "grok": { "field": "message", "patterns": [ - "(%{POSINT:process.pid:int}:%{CHAR:redis.log.role} )?%{REDISTIMESTAMP:redis.log.timestamp} %{REDISLEVEL:log.level} %{GREEDYDATA:message}", - "%{POSINT:process.pid:int}:signal-handler \\(%{POSINT:redis.log.timestamp}\\) %{GREEDYDATA:message}" + "(%{POSINT:process.pid:long}:%{CHAR:redis.log.role} )?%{REDISTIMESTAMP:redis.log.timestamp} %{REDISLEVEL:log.level} %{GREEDYDATA:message}", + "%{POSINT:process.pid:long}:signal-handler \\(%{POSINT:redis.log.timestamp}\\) %{GREEDYDATA:message}" ], "pattern_definitions": { "CHAR": "[a-zA-Z]", From 4fc688012d0de2a1653444003cf9438740533178 Mon Sep 17 00:00:00 2001 From: Mathieu Martin Date: Wed, 19 Dec 2018 13:39:40 -0500 Subject: [PATCH 4/6] Alias Redis field definitions to ECS field --- filebeat/docs/fields.asciidoc | 23 ++++++++++------------ filebeat/include/fields.go | 2 +- filebeat/module/redis/log/_meta/fields.yml | 21 ++++++++++---------- 3 files changed, 22 insertions(+), 24 deletions(-) diff --git a/filebeat/docs/fields.asciidoc b/filebeat/docs/fields.asciidoc index da02a17c30d..270188d2f6f 100644 --- a/filebeat/docs/fields.asciidoc +++ b/filebeat/docs/fields.asciidoc @@ -6798,43 +6798,40 @@ Redis log files -*`redis.log.pid`*:: +*`redis.log.role`*:: + -- -type: long +type: keyword -The process ID of the Redis server. +The role of the Redis instance. Can be one of `master`, `slave`, `child` (for RDF/AOF writing child), or `sentinel`. -- -*`redis.log.role`*:: +*`redis.log.pid`*:: + -- -type: keyword - -The role of the Redis instance. Can be one of `master`, `slave`, `child` (for RDF/AOF writing child), or `sentinel`. +type: alias +alias to: process.pid -- *`redis.log.level`*:: + -- -type: keyword - -The log level. Can be one of `debug`, `verbose`, `notice`, or `warning`. +type: alias +alias to: log.level -- *`redis.log.message`*:: + -- -type: text - -The log message +type: alias +alias to: message -- diff --git a/filebeat/include/fields.go b/filebeat/include/fields.go index 0058a3282db..80fdbd970b9 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/redis/log/_meta/fields.yml b/filebeat/module/redis/log/_meta/fields.yml index b79050f5f36..efbf2997cfd 100644 --- a/filebeat/module/redis/log/_meta/fields.yml +++ b/filebeat/module/redis/log/_meta/fields.yml @@ -3,20 +3,21 @@ description: > Redis log files fields: - - name: pid - type: long - description: > - The process ID of the Redis server. - name: role type: keyword description: > The role of the Redis instance. Can be one of `master`, `slave`, `child` (for RDF/AOF writing child), or `sentinel`. + + - name: pid + type: alias + path: process.pid + migration: true - name: level - type: keyword - description: > - The log level. Can be one of `debug`, `verbose`, `notice`, or `warning`. + type: alias + path: log.level + migration: true - name: message - type: text - description: > - The log message + type: alias + path: message + migration: true From 23bfa6e49e07c8216daf334cc183891c3bcfd5a8 Mon Sep 17 00:00:00 2001 From: Mathieu Martin Date: Wed, 19 Dec 2018 13:39:58 -0500 Subject: [PATCH 5/6] Document redis module file migrations in ecs-migration --- dev-tools/ecs-migration.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/dev-tools/ecs-migration.yml b/dev-tools/ecs-migration.yml index cbdbc1e911d..5303b59b7a7 100644 --- a/dev-tools/ecs-migration.yml +++ b/dev-tools/ecs-migration.yml @@ -433,6 +433,20 @@ to: user_agent.original alias: true +## Redis module + +- from: redis.log.pid + to: process.pid + alias: true + +- from: redis.log.level + to: log.level + alias: true + +- from: redis.log.message + to: message + alias: true + # From Auditbeat's auditd module. - from: source.hostname to: source.domain From 32c7d229b723793f575e2692968b4490ec66916d Mon Sep 17 00:00:00 2001 From: Mathieu Martin Date: Wed, 19 Dec 2018 13:41:08 -0500 Subject: [PATCH 6/6] Changelog --- CHANGELOG.asciidoc | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index 4c6f925ddab..e72756a3cd5 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -69,6 +69,7 @@ https://github.com/elastic/beats/compare/v7.0.0-alpha1...master[Check the HEAD d - Stop runners disabled by hints after previously being started. {pull}9305[9305] - Fix saved objects in filebeat haproxy dashboard. {pull}9417[9417] - Use `log.source.address` instead of `log.source.ip` for network input sources. {pull}9487[9487] +- Rename many `redis.log.*` fields to map to ECS. {pull}9315[9315] *Heartbeat*