Logstash - Join two Dicts
i wrote a small working example to explain my question:
input
stdin
codec => "json"
filter
mutate
rename => "[DictA]" => "[ZielDict]"
rename => "[DictB]" => "[ZielDict]"
output
stdout
Input
"DictA":
"valueA": 123
,
"DictB":
"valueB": 456
Output
"@version" => "1",
"host" => "78f85c66a671",
"@timestamp" => 2018-11-15T12:11:01.193Z,
"ZielDict" =>
"valueB" => 456
Wanted Output (i dont want to override DictA!)
"@version" => "1",
"host" => "78f85c66a671",
"@timestamp" => 2018-11-15T12:11:01.193Z,
"ZielDict" =>
"valueA" => 123
"valueB" => 456
So as you can see i want to append to the ZielDict instead of overriding it with DictB. How can i handle this?
Thanks in advance!
logstash
add a comment |
i wrote a small working example to explain my question:
input
stdin
codec => "json"
filter
mutate
rename => "[DictA]" => "[ZielDict]"
rename => "[DictB]" => "[ZielDict]"
output
stdout
Input
"DictA":
"valueA": 123
,
"DictB":
"valueB": 456
Output
"@version" => "1",
"host" => "78f85c66a671",
"@timestamp" => 2018-11-15T12:11:01.193Z,
"ZielDict" =>
"valueB" => 456
Wanted Output (i dont want to override DictA!)
"@version" => "1",
"host" => "78f85c66a671",
"@timestamp" => 2018-11-15T12:11:01.193Z,
"ZielDict" =>
"valueA" => 123
"valueB" => 456
So as you can see i want to append to the ZielDict instead of overriding it with DictB. How can i handle this?
Thanks in advance!
logstash
add a comment |
i wrote a small working example to explain my question:
input
stdin
codec => "json"
filter
mutate
rename => "[DictA]" => "[ZielDict]"
rename => "[DictB]" => "[ZielDict]"
output
stdout
Input
"DictA":
"valueA": 123
,
"DictB":
"valueB": 456
Output
"@version" => "1",
"host" => "78f85c66a671",
"@timestamp" => 2018-11-15T12:11:01.193Z,
"ZielDict" =>
"valueB" => 456
Wanted Output (i dont want to override DictA!)
"@version" => "1",
"host" => "78f85c66a671",
"@timestamp" => 2018-11-15T12:11:01.193Z,
"ZielDict" =>
"valueA" => 123
"valueB" => 456
So as you can see i want to append to the ZielDict instead of overriding it with DictB. How can i handle this?
Thanks in advance!
logstash
i wrote a small working example to explain my question:
input
stdin
codec => "json"
filter
mutate
rename => "[DictA]" => "[ZielDict]"
rename => "[DictB]" => "[ZielDict]"
output
stdout
Input
"DictA":
"valueA": 123
,
"DictB":
"valueB": 456
Output
"@version" => "1",
"host" => "78f85c66a671",
"@timestamp" => 2018-11-15T12:11:01.193Z,
"ZielDict" =>
"valueB" => 456
Wanted Output (i dont want to override DictA!)
"@version" => "1",
"host" => "78f85c66a671",
"@timestamp" => 2018-11-15T12:11:01.193Z,
"ZielDict" =>
"valueA" => 123
"valueB" => 456
So as you can see i want to append to the ZielDict instead of overriding it with DictB. How can i handle this?
Thanks in advance!
logstash
logstash
edited Nov 15 '18 at 12:21
Che Veyo
asked Nov 15 '18 at 12:14
Che VeyoChe Veyo
10511
10511
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
Use the mutate.merge option:
input
stdin
codec => "json"
filter
mutate
merge => "DictA" => "DictB"
output
stdout
With this configuration, you get:
"host" => "frsred-0077",
"@timestamp" => 2018-11-15T13:54:19.923Z,
"DictA" =>
"valueB" => 456,
"valueA" => 123
,
"DictB" =>
"valueB" => 456
,
"@version" => "1"
You'll have to remove the DictB
field and rename the DictA
to get your wanted output.
Thanks it works :)
– Che Veyo
Nov 16 '18 at 18:05
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53319282%2flogstash-join-two-dicts%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Use the mutate.merge option:
input
stdin
codec => "json"
filter
mutate
merge => "DictA" => "DictB"
output
stdout
With this configuration, you get:
"host" => "frsred-0077",
"@timestamp" => 2018-11-15T13:54:19.923Z,
"DictA" =>
"valueB" => 456,
"valueA" => 123
,
"DictB" =>
"valueB" => 456
,
"@version" => "1"
You'll have to remove the DictB
field and rename the DictA
to get your wanted output.
Thanks it works :)
– Che Veyo
Nov 16 '18 at 18:05
add a comment |
Use the mutate.merge option:
input
stdin
codec => "json"
filter
mutate
merge => "DictA" => "DictB"
output
stdout
With this configuration, you get:
"host" => "frsred-0077",
"@timestamp" => 2018-11-15T13:54:19.923Z,
"DictA" =>
"valueB" => 456,
"valueA" => 123
,
"DictB" =>
"valueB" => 456
,
"@version" => "1"
You'll have to remove the DictB
field and rename the DictA
to get your wanted output.
Thanks it works :)
– Che Veyo
Nov 16 '18 at 18:05
add a comment |
Use the mutate.merge option:
input
stdin
codec => "json"
filter
mutate
merge => "DictA" => "DictB"
output
stdout
With this configuration, you get:
"host" => "frsred-0077",
"@timestamp" => 2018-11-15T13:54:19.923Z,
"DictA" =>
"valueB" => 456,
"valueA" => 123
,
"DictB" =>
"valueB" => 456
,
"@version" => "1"
You'll have to remove the DictB
field and rename the DictA
to get your wanted output.
Use the mutate.merge option:
input
stdin
codec => "json"
filter
mutate
merge => "DictA" => "DictB"
output
stdout
With this configuration, you get:
"host" => "frsred-0077",
"@timestamp" => 2018-11-15T13:54:19.923Z,
"DictA" =>
"valueB" => 456,
"valueA" => 123
,
"DictB" =>
"valueB" => 456
,
"@version" => "1"
You'll have to remove the DictB
field and rename the DictA
to get your wanted output.
answered Nov 15 '18 at 13:57
baudspbaudsp
3,12011228
3,12011228
Thanks it works :)
– Che Veyo
Nov 16 '18 at 18:05
add a comment |
Thanks it works :)
– Che Veyo
Nov 16 '18 at 18:05
Thanks it works :)
– Che Veyo
Nov 16 '18 at 18:05
Thanks it works :)
– Che Veyo
Nov 16 '18 at 18:05
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53319282%2flogstash-join-two-dicts%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown