logstash-output-newrelic 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9ee56614832b2c9301c8c3b63748c276ee40f5a6a5eb8fd641ed492f1e37c236
4
- data.tar.gz: 05d3654fe08c97178690ee79f779249f9b141aa3201b6c8862364ff30f07ae2a
3
+ metadata.gz: 750803d3594bfcf428aa32102cdb23679ae0f91a2efa5dc970e7520b8550fdaa
4
+ data.tar.gz: 101d475ad8adabc356c8041f8ef97481f20aba9041aac4df78e003b524e79196
5
5
  SHA512:
6
- metadata.gz: 74e759723023a155f8b278b19c7e1cf28018854dea57bbd243a6b67758f180011dd7878ae64aff8b68381dd225f352f2e03ca045a14eca724774476c1c90d706
7
- data.tar.gz: 5e3c021c98de4960ee1c3782d82a27beaa9d5951e1dfb39039de93d7dd5bfa31c41df8a758152f52a2caa4e3db29212cfa54a9035f6612696fefeadc56ff7912
6
+ metadata.gz: 8b770681904d2286b9cdb63231af2e1dffe6f438308796d4b1171916d39ebd98c4f3b702f924305fab7ec4d8965da6ee1f9c444e012bb20e42e5f057d8076dff
7
+ data.tar.gz: cab594f0010916cbbaf54403df7d3f431a5999fdac6418ca52ee7730b4981e55700658d5275fcd33055f296ba310e63f32610ab9f1636d6ab1ecea95f239345a
data/DEVELOPER.md CHANGED
@@ -12,7 +12,7 @@
12
12
  * Write tests and production code!
13
13
  * Bump version: edit version file `version.rb`
14
14
  * Run tests: `jruby -S bundle exec rspec`
15
- * Build the gem: `jruby -S gem build logstash-output-newrelic-internal.gemspec`
15
+ * Build the gem: `jruby -S gem build logstash-output-newrelic.gemspec`
16
16
 
17
17
  ## Pushing changes to the public repo
18
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/newrelic-fluent-bit-output
@@ -24,14 +24,17 @@ After updating the New Relic repo with changes, changes will need to be pushed t
24
24
 
25
25
  # Testing it with a local Logstash install
26
26
 
27
- * Remove previous version: `logstash-plugin remove logstash-output-newrelic-internal`
28
- * Add new version: `logstash-plugin install logstash-output-newrelic-internal-<version>.gem `
27
+ Note: you may need to run the following commands outside of your checkout, since these should not
28
+ be run with the JRuby version that you've configured your checkout to use (by using rbenv).
29
+
30
+ * Remove previous version: `logstash-plugin remove logstash-output-newrelic`
31
+ * Add new version: `logstash-plugin install logstash-output-newrelic-<version>.gem`
29
32
  * Restart logstash: For Homebrew: `brew services restart logstash`
30
33
  * Cause a change that you've configured Logstash to pick up (for instance, append to a file you're having it monitor)
31
34
  * Look in `https://staging-one.newrelic.com/launcher/logger.log-launcher` for your log message
32
35
 
33
36
  # Push changes to RubyGems
34
- After updating the source code and gem version in `version.rb`, push the changes to RubyGems. Note, you must be a gem owner to publish changes on [RubyGems.org](https://rubygems.org/profiles/NR-LOGGING)
37
+ After updating the source code and gem version in `version.rb`, push the changes to RubyGems. There is an older version of the gem that we do not want to overwrite — `version 0.9.1`. Please be sure you are publishing changes to the correct gem i.e. `version 1.0.0` or higher. Note, you must be a gem owner to publish changes on [RubyGems.org](https://rubygems.org/profiles/NR-LOGGING). Once you've created the account, you will need to run `gem signin` to login to RubyGems via the command line.
35
38
 
36
39
  * Build the gem: `gem build logstash-output-newrelic.gemspec`
37
- * Publish the gem: `gem push logstash-output-newrelic-logging-<VERSION>.gem` with the updated version (ex: `gem push logstash-output-newrelic-logging-0.2.16.gem`)
40
+ * Publish the gem: `gem push logstash-output-newrelic-<VERSION>.gem` with the updated version (ex: `gem push logstash-output-newrelic-1.0.0.gem`)
data/README.md CHANGED
@@ -4,7 +4,15 @@ This is a plugin for [Logstash](https://github.com/elastic/logstash) that output
4
4
 
5
5
  ## Installation
6
6
  Install the New Relic Logstash plugin using the following command:</br>
7
- `logstash-plugin install logstash-output-newrelic-logging`
7
+ `logstash-plugin install logstash-output-newrelic`
8
+
9
+ (Optional) If you are interested in installing the gem directly, run the following command. If you want a specific version, specify it by appending the `-v <VERSION>` option.<br/>
10
+ `gem install logstash-output-newrelic`
11
+
12
+ ```
13
+ Old version: 0.9.1 (unmaintained)
14
+ Current: 1.0.0
15
+ ```
8
16
 
9
17
  ## Configuration
10
18
 
@@ -17,7 +25,7 @@ Get your API Insert Key:
17
25
  Example:
18
26
  ```rb
19
27
  output {
20
- newrelic_internal {
28
+ newrelic {
21
29
  api_key => "<API_INSERT_KEY>"
22
30
  }
23
31
  }
@@ -1,24 +1,24 @@
1
1
  # encoding: utf-8
2
2
  require "logstash/outputs/base"
3
- require "logstash/outputs/newrelic_internal_version/version"
3
+ require "logstash/outputs/newrelic_version/version"
4
4
  require 'net/http'
5
5
  require 'uri'
6
6
  require 'zlib'
7
7
  require 'json'
8
8
  require 'java'
9
9
 
10
- class LogStash::Outputs::NewRelicInternal < LogStash::Outputs::Base
10
+ class LogStash::Outputs::NewRelic < LogStash::Outputs::Base
11
11
  java_import java.util.concurrent.Executors;
12
12
  java_import java.util.concurrent.Semaphore;
13
13
 
14
- config_name "newrelic_internal"
14
+ config_name "newrelic"
15
15
 
16
16
  config :api_key, :validate => :password, :required => true
17
17
  config :retry_seconds, :validate => :number, :default => 5
18
18
  config :max_delay, :validate => :number, :default => 30
19
19
  config :retries, :validate => :number, :default => 5
20
20
  config :concurrent_requests, :validate => :number, :default => 1
21
- config :base_uri, :validate => :string, :default => "https://insights-collector.newrelic.com/logs/v1"
21
+ config :base_uri, :validate => :string, :default => "https://log-api.newrelic.com/log/v1"
22
22
 
23
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
24
 
@@ -72,15 +72,15 @@ class LogStash::Outputs::NewRelicInternal < LogStash::Outputs::Base
72
72
  payload.push(encode(event.to_hash))
73
73
  end
74
74
  payload = {
75
- 'logs' => payload,
76
75
  'common' => {
77
76
  'attributes' => {
78
77
  'plugin' => {
79
78
  'type' => 'logstash',
80
- 'version' => LogStash::Outputs::NewRelicInternalVersion::VERSION,
79
+ 'version' => LogStash::Outputs::NewRelicVersion::VERSION,
81
80
  }
82
81
  }
83
- }
82
+ },
83
+ 'logs' => payload
84
84
  }
85
85
  @semaphor.acquire()
86
86
  execute = @executor.java_method :submit, [java.lang.Runnable]
@@ -123,4 +123,4 @@ class LogStash::Outputs::NewRelicInternal < LogStash::Outputs::Base
123
123
  request.body = payload
124
124
  http.request(request)
125
125
  end
126
- end # class LogStash::Outputs::NewRelicInternal
126
+ end # class LogStash::Outputs::NewRelic
@@ -0,0 +1,7 @@
1
+ module LogStash
2
+ module Outputs
3
+ module NewRelicVersion
4
+ VERSION = "1.0.1"
5
+ end
6
+ end
7
+ end
@@ -1,15 +1,14 @@
1
1
  lib = File.expand_path('../lib/', __FILE__)
2
2
  $:.unshift lib unless $:.include?(lib)
3
3
 
4
- require 'logstash/outputs/newrelic_internal_version/version'
4
+ require 'logstash/outputs/newrelic_version/version'
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = 'logstash-output-newrelic'
8
- s.version = LogStash::Outputs::NewRelicInternalVersion::VERSION
8
+ s.version = LogStash::Outputs::NewRelicVersion::VERSION
9
9
  s.licenses = ['Apache-2.0']
10
- s.summary = 'Forwards logs as custom events to insights'
11
- s.description = 'Gzips and decorates logstash events to be properly formatted as custom events'
12
- s.homepage = 'https://source.datanerd.us/logging/logstash-output-newrelic'
10
+ s.summary = "Sends Lostash events to New Relic"
11
+ s.homepage = 'https://github.com/newrelic/logstash-output-plugin'
13
12
  s.authors = ['New Relic Logging Team']
14
13
  s.email = 'logging-team@newrelic.com'
15
14
  s.require_paths = ['lib']
@@ -1,13 +1,13 @@
1
1
  # encoding: utf-8
2
2
  require "logstash/devutils/rspec/spec_helper"
3
- require "logstash/outputs/newrelic_internal"
4
- require "logstash/outputs/newrelic_internal_version/version"
3
+ require "logstash/outputs/newrelic"
4
+ require "logstash/outputs/newrelic_version/version"
5
5
  require "logstash/codecs/plain"
6
6
  require "logstash/event"
7
7
  require "webmock/rspec"
8
8
  require "zlib"
9
9
 
10
- describe LogStash::Outputs::NewRelicInternal do
10
+ describe LogStash::Outputs::NewRelic do
11
11
  let (:api_key) { "someAccountKey" }
12
12
  let (:base_uri) { "https://testing-example-collector.com" }
13
13
  let (:retry_seconds) { 0 }
@@ -40,7 +40,7 @@ describe LogStash::Outputs::NewRelicInternal do
40
40
  end
41
41
 
42
42
  before(:each) do
43
- @newrelic_output = LogStash::Plugin.lookup("output", "newrelic_internal").new(simple_config)
43
+ @newrelic_output = LogStash::Plugin.lookup("output", "newrelic").new(simple_config)
44
44
  @newrelic_output.register
45
45
  end
46
46
 
@@ -53,7 +53,7 @@ describe LogStash::Outputs::NewRelicInternal do
53
53
  no_api_key_config = {
54
54
  }
55
55
 
56
- expect { LogStash::Plugin.lookup("output", "newrelic_internal").new(no_api_key_config) }.to raise_error LogStash::ConfigurationError
56
+ expect { LogStash::Plugin.lookup("output", "newrelic").new(no_api_key_config) }.to raise_error LogStash::ConfigurationError
57
57
  end
58
58
  end
59
59
 
@@ -83,8 +83,10 @@ describe LogStash::Outputs::NewRelicInternal 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' &&
86
88
  data['common']['attributes']['plugin']['type'] == 'logstash' &&
87
- data['common']['attributes']['plugin']['version'] == LogStash::Outputs::NewRelicInternalVersion::VERSION })
89
+ data['common']['attributes']['plugin']['version'] == LogStash::Outputs::NewRelicVersion::VERSION })
88
90
  .to have_been_made
89
91
  end
90
92
 
@@ -217,7 +219,7 @@ describe LogStash::Outputs::NewRelicInternal do
217
219
  # Create a new plugin with this specific config that has longer retry sleep
218
220
  # configuration than we normally want
219
221
  @newrelic_output&.shutdown
220
- @newrelic_output = LogStash::Plugin.lookup("output", "newrelic_internal").new(specific_config)
222
+ @newrelic_output = LogStash::Plugin.lookup("output", "newrelic").new(specific_config)
221
223
  @newrelic_output.register
222
224
 
223
225
  expect(@newrelic_output.sleep_duration(0)).to equal(5)
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.0
4
+ version: 1.0.1
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-06-25 00:00:00.000000000 Z
11
+ date: 2019-06-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement
@@ -80,8 +80,7 @@ dependencies:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
- description: Gzips and decorates logstash events to be properly formatted as custom
84
- events
83
+ description:
85
84
  email: logging-team@newrelic.com
86
85
  executables: []
87
86
  extensions: []
@@ -93,11 +92,11 @@ files:
93
92
  - Gemfile
94
93
  - LICENSE
95
94
  - README.md
96
- - lib/logstash/outputs/newrelic_internal.rb
97
- - lib/logstash/outputs/newrelic_internal_version/version.rb
95
+ - lib/logstash/outputs/newrelic.rb
96
+ - lib/logstash/outputs/newrelic_version/version.rb
98
97
  - logstash-output-newrelic.gemspec
99
- - spec/outputs/newrelic_internal_spec.rb
100
- homepage: https://source.datanerd.us/logging/logstash-output-newrelic
98
+ - spec/outputs/newrelic_spec.rb
99
+ homepage: https://github.com/newrelic/logstash-output-plugin
101
100
  licenses:
102
101
  - Apache-2.0
103
102
  metadata:
@@ -122,6 +121,6 @@ rubyforge_project:
122
121
  rubygems_version: 2.7.6
123
122
  signing_key:
124
123
  specification_version: 4
125
- summary: Forwards logs as custom events to insights
124
+ summary: Sends Lostash events to New Relic
126
125
  test_files:
127
- - spec/outputs/newrelic_internal_spec.rb
126
+ - spec/outputs/newrelic_spec.rb
@@ -1,7 +0,0 @@
1
- module LogStash
2
- module Outputs
3
- module NewRelicInternalVersion
4
- VERSION = "1.0.0"
5
- end
6
- end
7
- end