logstash-output-newrelic 1.0.1 → 1.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/DEVELOPER.md +3 -3
- data/lib/logstash/outputs/newrelic.rb +20 -5
- data/lib/logstash/outputs/newrelic_version/version.rb +1 -1
- data/spec/outputs/newrelic_spec.rb +10 -11
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 998bef6edbc8fb754b22ab4cca0f25b3e27182e3ac22b5992840ebeab1086764
|
4
|
+
data.tar.gz: 9d2517ffcc0b573a5c2321dea3c4ca8ced58df4563346f93a1925983169c1a6d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5ebeed8b92b33be3ff45d7148ff402d0128fb0a29fa8028380a046b32819ea5c76ee2d388386ebc801a0840371ccc991a2253c7cf5806d8bc9a0cf050420f0d6
|
7
|
+
data.tar.gz: '02922a85561259f830f3c142dbabac0bb59867e8bf1b87c2fc0810304c51f0d9333251768e32715014c0d1c60bc071ad0b5f0f142bf5dbab54677b0dc9fea477'
|
data/DEVELOPER.md
CHANGED
@@ -15,11 +15,11 @@
|
|
15
15
|
* Build the gem: `jruby -S gem build logstash-output-newrelic.gemspec`
|
16
16
|
|
17
17
|
## Pushing changes to the public repo
|
18
|
-
After updating the New Relic repo with changes, changes will need to be pushed to the public GitHub repo at: https://github.com/newrelic/
|
18
|
+
After updating the New Relic repo with changes, changes will need to be pushed to the public GitHub repo at: https://github.com/newrelic/logstash-output-plugin
|
19
19
|
|
20
|
-
* `git remote add public git@github.com:newrelic/
|
20
|
+
* `git remote add public git@github.com:newrelic/logstash-output-plugin.git`
|
21
21
|
* `git push public master:name-of-branch-to-create`
|
22
|
-
* Create a PR from that branch in https://github.com/newrelic/
|
22
|
+
* Create a PR from that branch in https://github.com/newrelic/logstash-output-plugin
|
23
23
|
* Get the PR reviewed, merged, and delete the branch!
|
24
24
|
|
25
25
|
# Testing it with a local Logstash install
|
@@ -20,8 +20,6 @@ class LogStash::Outputs::NewRelic < LogStash::Outputs::Base
|
|
20
20
|
config :concurrent_requests, :validate => :number, :default => 1
|
21
21
|
config :base_uri, :validate => :string, :default => "https://log-api.newrelic.com/log/v1"
|
22
22
|
|
23
|
-
# TODO: do we need to define "concurrency"? https://www.elastic.co/guide/en/logstash/current/_how_to_write_a_logstash_output_plugin.html
|
24
|
-
|
25
23
|
public
|
26
24
|
|
27
25
|
def register
|
@@ -41,10 +39,27 @@ class LogStash::Outputs::NewRelic < LogStash::Outputs::Base
|
|
41
39
|
end
|
42
40
|
|
43
41
|
def encode(event_hash)
|
42
|
+
log_message_hash = {
|
43
|
+
'attributes' => {}
|
44
|
+
}
|
44
45
|
|
45
|
-
event_hash.
|
46
|
-
|
47
|
-
|
46
|
+
if event_hash.has_key?('message')
|
47
|
+
log_message_hash['attributes'] = maybe_parse_json(event_hash['message'])
|
48
|
+
end
|
49
|
+
|
50
|
+
event_hash.each do |key, value|
|
51
|
+
if key == 'message' || key == 'timestamp'
|
52
|
+
# intrinsic attributes go at the top level
|
53
|
+
log_message_hash[key] = value
|
54
|
+
elsif key == '@timestamp'
|
55
|
+
# Do not add @timestamp
|
56
|
+
else
|
57
|
+
# non-intrinsic attributes get put into 'attributes'
|
58
|
+
log_message_hash['attributes'][key] = value
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
log_message_hash
|
48
63
|
end
|
49
64
|
|
50
65
|
def maybe_parse_message_json(event_hash)
|
@@ -83,8 +83,6 @@ describe LogStash::Outputs::NewRelic do
|
|
83
83
|
wait_for(a_request(:post, base_uri)
|
84
84
|
.with { |request|
|
85
85
|
data = multiple_gzipped_messages(request.body)[0]
|
86
|
-
data.keys[0] == 'common' &&
|
87
|
-
data.keys[1] == 'logs' &&
|
88
86
|
data['common']['attributes']['plugin']['type'] == 'logstash' &&
|
89
87
|
data['common']['attributes']['plugin']['version'] == LogStash::Outputs::NewRelicVersion::VERSION })
|
90
88
|
.to have_been_made
|
@@ -111,8 +109,9 @@ describe LogStash::Outputs::NewRelic do
|
|
111
109
|
wait_for(a_request(:post, base_uri)
|
112
110
|
.with { |request|
|
113
111
|
message = single_gzipped_message(request.body)
|
112
|
+
puts message
|
114
113
|
message['message'] == 'Test message' &&
|
115
|
-
message['other'] == 'Other value' })
|
114
|
+
message['attributes']['other'] == 'Other value' })
|
116
115
|
.to have_been_made
|
117
116
|
end
|
118
117
|
|
@@ -126,10 +125,10 @@ describe LogStash::Outputs::NewRelic do
|
|
126
125
|
wait_for(a_request(:post, base_uri)
|
127
126
|
.with { |request|
|
128
127
|
message = single_gzipped_message(request.body)
|
129
|
-
message['in-json-1'] == '1' &&
|
130
|
-
message['in-json-2'] == '2' &&
|
131
|
-
message['sub-object'] == {"in-json-3" => "3"} &&
|
132
|
-
message['other'] == 'Other value' })
|
128
|
+
message['attributes']['in-json-1'] == '1' &&
|
129
|
+
message['attributes']['in-json-2'] == '2' &&
|
130
|
+
message['attributes']['sub-object'] == {"in-json-3" => "3"} &&
|
131
|
+
message['attributes']['other'] == 'Other value' })
|
133
132
|
.to have_been_made
|
134
133
|
end
|
135
134
|
|
@@ -144,7 +143,7 @@ describe LogStash::Outputs::NewRelic do
|
|
144
143
|
.with { |request|
|
145
144
|
message = single_gzipped_message(request.body)
|
146
145
|
message['message'] == message_json_array &&
|
147
|
-
message['other'] == 'Other value' })
|
146
|
+
message['attributes']['other'] == 'Other value' })
|
148
147
|
.to have_been_made
|
149
148
|
end
|
150
149
|
|
@@ -159,7 +158,7 @@ describe LogStash::Outputs::NewRelic do
|
|
159
158
|
.with { |request|
|
160
159
|
message = single_gzipped_message(request.body)
|
161
160
|
message['message'] == message_json_string &&
|
162
|
-
message['other'] == 'Other value' })
|
161
|
+
message['attributes']['other'] == 'Other value' })
|
163
162
|
.to have_been_made
|
164
163
|
end
|
165
164
|
|
@@ -174,7 +173,7 @@ describe LogStash::Outputs::NewRelic do
|
|
174
173
|
.with { |request|
|
175
174
|
message = single_gzipped_message(request.body)
|
176
175
|
message['message'] == 'Test message' &&
|
177
|
-
message['other'] == other_json })
|
176
|
+
message['attributes']['other'] == other_json })
|
178
177
|
.to have_been_made
|
179
178
|
end
|
180
179
|
|
@@ -187,7 +186,7 @@ describe LogStash::Outputs::NewRelic do
|
|
187
186
|
wait_for(a_request(:post, base_uri)
|
188
187
|
.with { |request|
|
189
188
|
message = single_gzipped_message(request.body)
|
190
|
-
message['other'] == 'Other value' })
|
189
|
+
message['attributes']['other'] == 'Other value' })
|
191
190
|
.to have_been_made
|
192
191
|
end
|
193
192
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: logstash-output-newrelic
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- New Relic Logging Team
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-07-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|