logstash-input-azuretopic 0.9.4 → 0.9.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 920a3fe6cdefdd9eff1a069db821c5d46a2dfa26
4
- data.tar.gz: 43c1175122166b6056d02b9a2c5ce036756a574b
3
+ metadata.gz: bff96ab704d2022e1acd6e570e1a5799786cf731
4
+ data.tar.gz: a5dbe91b469f3837d40086f4b775058a84d86cb4
5
5
  SHA512:
6
- metadata.gz: 69e8e39ae33c970ae3080971266a2ba1b385d8ad231dc31cac5a19c329f71a95cb7cb782eb5e89d99748ae6e9f4484bc54420c9bd4e31dca6d16c7ccfc8f85d2
7
- data.tar.gz: 0eb86594cee80b4880949d0b9f8c831a997b2b70ba2629f5dc593155ff04a7642044b642b1b10a26810a61796a8b67f07f33f7f4d037b55bd0b4b73c404cbaca
6
+ metadata.gz: 8636a2ae87ab2f3390e2f2090a268f6c7694d68659c73e3a2495d66e9962fdd6f123b138f11531493a5ff4f782fae0d961d3cba1ae3498eca8c2c4b76f644003
7
+ data.tar.gz: 8f8c7a1ec144c369da617092ad6062817a753b1f890734ad5334745cebee5f3d03e1865362788d3eadbffea740e3d5b051aa0d9011a126a41c043a61685d0544
data/CHANGELOG.md CHANGED
@@ -0,0 +1,4 @@
1
+ ## 2016.05.03
2
+ * Made the plugin to respect Logstash shutdown signal.
3
+ * Updated the *logstash-core* runtime dependency requirement to '~> 2.0'.
4
+ * Updated the *logstash-devutils* development dependency requirement to '>= 0.0.16'
data/Gemfile CHANGED
@@ -1,3 +1,2 @@
1
1
  source 'https://rubygems.org'
2
- gemspec
3
- gem 'azure', '~> 0.7.1'
2
+ gemspec
data/README.md CHANGED
@@ -1,91 +1,51 @@
1
- # Notice
2
- This plugin is a part of [Microsoft Azure Diagnostics with ELK](https://github.com/mspnp/semantic-logging/tree/v3/ELK).
3
-
4
- [See more documentation.](https://github.com/mspnp/semantic-logging/blob/v3/ELK/md/LogstashExtensions.md#azure-wad-table)
5
-
6
- # Logstash Plugin
7
-
8
- This is a plugin for [Logstash](https://github.com/elasticsearch/logstash).
9
-
10
- It is fully free and fully open source. The license is Apache 2.0, meaning you are pretty much free to use it however you want in whatever way.
11
-
12
- ## Documentation
13
-
14
- Logstash provides infrastructure to automatically generate documentation for this plugin. We use the asciidoc format to write documentation so any comments in the source code will be first converted into asciidoc and then into html. All plugin documentation are placed under one [central location](http://www.elasticsearch.org/guide/en/logstash/current/).
15
-
16
- - For formatting code or config example, you can use the asciidoc `[source,ruby]` directive
17
- - For more asciidoc formatting tips, see the excellent reference here https://github.com/elasticsearch/docs#asciidoc-guide
18
-
19
- ## Need Help?
20
-
21
- Need help? Try #logstash on freenode IRC or the https://discuss.elastic.co/c/logstash discussion forum.
22
-
23
- ## Developing
24
-
25
- ### 1. Plugin Developement and Testing
26
-
27
- #### Code
28
- - To get started, you'll need JRuby with the Bundler gem installed.
29
-
30
- - Create a new plugin or clone and existing from the GitHub [logstash-plugins](https://github.com/logstash-plugins) organization. We also provide [example plugins](https://github.com/logstash-plugins?query=example).
31
-
32
- - Install dependencies
33
- ```sh
34
- bundle install
35
- ```
36
-
37
- #### Test
38
-
39
- - Update your dependencies
40
-
41
- ```sh
42
- bundle install
43
- ```
44
-
45
- - Run tests
46
-
47
- ```sh
48
- bundle exec rspec
49
- ```
50
-
51
- ### 2. Running your unpublished Plugin in Logstash
52
-
53
- #### 2.1 Run in a local Logstash clone
54
-
55
- - Edit Logstash `Gemfile` and add the local plugin path, for example:
56
- ```ruby
57
- gem "logstash-filter-awesome", :path => "/your/local/logstash-filter-awesome"
58
- ```
59
- - Install plugin
60
- ```sh
61
- bin/plugin install --no-verify
62
- ```
63
- - Run Logstash with your plugin
64
- ```sh
65
- bin/logstash -e 'filter {awesome {}}'
66
- ```
67
- At this point any modifications to the plugin code will be applied to this local Logstash setup. After modifying the plugin, simply rerun Logstash.
68
-
69
- #### 2.2 Run in an installed Logstash
70
-
71
- You can use the same **2.1** method to run your plugin in an installed Logstash by editing its `Gemfile` and pointing the `:path` to your local plugin development directory or you can build the gem and install it using:
72
-
73
- - Build your plugin gem
74
- ```sh
75
- gem build logstash-filter-awesome.gemspec
76
- ```
77
- - Install the plugin from the Logstash home
78
- ```sh
79
- bin/plugin install /your/local/plugin/logstash-filter-awesome.gem
80
- ```
81
- - Start Logstash and proceed to test the plugin
82
-
83
- ## Contributing
84
-
85
- All contributions are welcome: ideas, patches, documentation, bug reports, complaints, and even something you drew up on a napkin.
86
-
87
- Programming is not a required skill. Whatever you've seen about open source and maintainers or community members saying "send patches or die" - you will not see that here.
88
-
89
- It is more important to the community that you are able to contribute.
90
-
91
- For more information about contributing, see the [CONTRIBUTING](https://github.com/elasticsearch/logstash/blob/master/CONTRIBUTING.md) file.
1
+ # Logstash input plugin for Azure Service Bus Topics
2
+
3
+ ## Summary
4
+ This plugin reads messages from Azure Service Bus Topics.
5
+
6
+ ## Installation
7
+ You can install this plugin using the Logstash "plugin" or "logstash-plugin" (for newer versions of Logstash) command:
8
+ ```sh
9
+ logstash-plugin install logstash-input-azuretopic
10
+ ```
11
+ For more information, see Logstash reference [Working with plugins](https://www.elastic.co/guide/en/logstash/current/working-with-plugins.html).
12
+
13
+ ## Configuration
14
+ ### Required Parameters
15
+ __*namespace*__
16
+
17
+ The Service Bus namespace.
18
+
19
+ __*access_key*__
20
+
21
+ The access key to the Service Bus resource.
22
+
23
+ __*subscription*__
24
+
25
+ The name of the Topic Subscription.
26
+
27
+ __*topic*__
28
+
29
+ The name of the Topic.
30
+
31
+ ### Optional Parameters
32
+ __*deliverycount*__
33
+
34
+ Specifies the number of times to try (and retry) to process a message before the message shall be deleted. The default value is 10.
35
+
36
+ ### Examples
37
+ ```
38
+ input
39
+ {
40
+ azuretopic
41
+ {
42
+ namespace => "mysbns"
43
+ access_key => "VGhpcyBpcyBhIGZha2Uga2V5Lg=="
44
+ subscription => "mytopicsubscription"
45
+ topic => "mytopic"
46
+ }
47
+ }
48
+ ```
49
+
50
+ ## More information
51
+ The source code of this plugin is hosted in GitHub repo [Microsoft Azure Diagnostics with ELK](https://github.com/Azure/azure-diagnostics-tools). We welcome you to provide feedback and/or contribute to the project.
@@ -1,62 +1,62 @@
1
- # encoding: utf-8
2
- require "logstash/inputs/base"
3
- require "logstash/namespace"
4
-
5
- require "azure"
6
-
7
- # Reads events from Azure topics
8
- class LogStash::Inputs::Azuretopic < LogStash::Inputs::Base
9
- class Interrupted < StandardError; end
10
-
11
- config_name "azuretopic"
12
- milestone 0
13
-
14
- default :codec, "json_list"
15
-
16
- config :namespace, :validate => :string
17
- config :access_key, :validate => :string
18
- config :subscription, :validate => :string
19
- config :topic, :validate => :string
20
- config :deliverycount, :validate => :number, :default => 10
21
-
22
- def initialize(*args)
23
- super(*args)
24
- end # def initialize
25
-
26
- public
27
- def register
28
- Azure.configure do |config|
29
- config.sb_namespace = @namespace
30
- config.sb_access_key = @access_key
31
- end
32
- @azure_service_bus = Azure::ServiceBus::ServiceBusService.new
33
- end # def register
34
-
35
- def process(output_queue)
36
- message = @azure_service_bus.receive_subscription_message(@topic ,@subscription, { :peek_lock => true, :timeout => 1 } )
37
- if message
38
- codec.decode(message.body) do |event|
39
- output_queue << event
40
- end # codec.decode
41
- @azure_service_bus.delete_subscription_message(message)
42
- end
43
- rescue LogStash::ShutdownSignal => e
44
- raise e
45
- rescue => e
46
- @logger.error("Oh My, An error occurred.", :exception => e)
47
- if message and message.delivery_count > @deliverycount
48
- @azure_service_bus.delete_subscription_message(message)
49
- end
50
- end # def process
51
-
52
- public
53
- def run(output_queue)
54
- while true
55
- process(output_queue)
56
- end # loop
57
- end # def run
58
-
59
- public
60
- def teardown
61
- end # def teardown
62
- end # class LogStash::Inputs::Azuretopic
1
+ # encoding: utf-8
2
+ require "logstash/inputs/base"
3
+ require "logstash/namespace"
4
+
5
+ require "azure"
6
+
7
+ # Reads events from Azure topics
8
+ class LogStash::Inputs::Azuretopic < LogStash::Inputs::Base
9
+ class Interrupted < StandardError; end
10
+
11
+ config_name "azuretopic"
12
+ milestone 1
13
+
14
+ default :codec, "json"
15
+
16
+ config :namespace, :validate => :string
17
+ config :access_key, :validate => :string
18
+ config :subscription, :validate => :string
19
+ config :topic, :validate => :string
20
+ config :deliverycount, :validate => :number, :default => 10
21
+
22
+ def initialize(*args)
23
+ super(*args)
24
+ end # def initialize
25
+
26
+ public
27
+ def register
28
+ Azure.configure do |config|
29
+ config.sb_namespace = @namespace
30
+ config.sb_access_key = @access_key
31
+ end
32
+ @azure_service_bus = Azure::ServiceBus::ServiceBusService.new
33
+ end # def register
34
+
35
+ def process(output_queue)
36
+ message = @azure_service_bus.receive_subscription_message(@topic ,@subscription, { :peek_lock => true, :timeout => 1 } )
37
+ if message
38
+ codec.decode(message.body) do |event|
39
+ output_queue << event
40
+ end # codec.decode
41
+ @azure_service_bus.delete_subscription_message(message)
42
+ end
43
+ rescue LogStash::ShutdownSignal => e
44
+ raise e
45
+ rescue => e
46
+ @logger.error("Oh My, An error occurred.", :exception => e)
47
+ if message and message.delivery_count > @deliverycount
48
+ @azure_service_bus.delete_subscription_message(message)
49
+ end
50
+ end # def process
51
+
52
+ public
53
+ def run(output_queue)
54
+ while !stop?
55
+ process(output_queue)
56
+ end # loop
57
+ end # def run
58
+
59
+ public
60
+ def teardown
61
+ end # def teardown
62
+ end # class LogStash::Inputs::Azuretopic
@@ -1,16 +1,16 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'logstash-input-azuretopic'
3
- s.version = '0.9.4'
3
+ s.version = '0.9.5'
4
4
  s.licenses = ['Apache License (2.0)']
5
- s.summary = "This plugin will collect Microsoft Azure Diagnostics data from Azure Service Bus."
6
- s.description = "This gem is a logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/plugin install gemname. This gem is not a stand-alone program."
5
+ s.summary = "This plugin reads messages from Azure Service Bus Topics."
6
+ s.description = "This gem is a Logstash plugin. It reads messages from Azure Service Bus Topics."
7
7
  s.authors = ["Microsoft Corporation"]
8
8
  s.email = 'azdiag@microsoft.com'
9
9
  s.homepage = "https://github.com/Azure/azure-diagnostics-tools"
10
10
  s.require_paths = ["lib"]
11
11
 
12
12
  # Files
13
- s.files = `git ls-files`.split($\)
13
+ s.files = Dir['lib/**/*','spec/**/*','vendor/**/*','*.gemspec','*.md','Gemfile','LICENSE']
14
14
  # Tests
15
15
  s.test_files = s.files.grep(%r{^(test|spec|features)/})
16
16
 
@@ -18,7 +18,7 @@ Gem::Specification.new do |s|
18
18
  s.metadata = { "logstash_plugin" => "true", "logstash_group" => "input" }
19
19
 
20
20
  # Gem dependencies
21
- s.add_runtime_dependency 'logstash-core', '>= 1.4.0', '< 2.0.0'
21
+ s.add_runtime_dependency 'logstash-core', '~> 2.0'
22
22
  s.add_runtime_dependency 'azure', '~> 0.7.1'
23
- s.add_development_dependency 'logstash-devutils'
23
+ s.add_development_dependency 'logstash-devutils', '>= 0.0.16'
24
24
  end
metadata CHANGED
@@ -1,64 +1,58 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-input-azuretopic
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.4
4
+ version: 0.9.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Microsoft Corporation
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-03-09 00:00:00.000000000 Z
11
+ date: 2016-05-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- requirement: !ruby/object:Gem::Requirement
14
+ name: logstash-core
15
+ version_requirements: !ruby/object:Gem::Requirement
15
16
  requirements:
16
- - - '>='
17
+ - - "~>"
17
18
  - !ruby/object:Gem::Version
18
- version: 1.4.0
19
- - - <
19
+ version: '2.0'
20
+ requirement: !ruby/object:Gem::Requirement
21
+ requirements:
22
+ - - "~>"
20
23
  - !ruby/object:Gem::Version
21
- version: 2.0.0
22
- name: logstash-core
24
+ version: '2.0'
23
25
  prerelease: false
24
26
  type: :runtime
27
+ - !ruby/object:Gem::Dependency
28
+ name: azure
25
29
  version_requirements: !ruby/object:Gem::Requirement
26
30
  requirements:
27
- - - '>='
31
+ - - "~>"
28
32
  - !ruby/object:Gem::Version
29
- version: 1.4.0
30
- - - <
31
- - !ruby/object:Gem::Version
32
- version: 2.0.0
33
- - !ruby/object:Gem::Dependency
33
+ version: 0.7.1
34
34
  requirement: !ruby/object:Gem::Requirement
35
35
  requirements:
36
- - - ~>
36
+ - - "~>"
37
37
  - !ruby/object:Gem::Version
38
38
  version: 0.7.1
39
- name: azure
40
39
  prerelease: false
41
40
  type: :runtime
41
+ - !ruby/object:Gem::Dependency
42
+ name: logstash-devutils
42
43
  version_requirements: !ruby/object:Gem::Requirement
43
44
  requirements:
44
- - - ~>
45
+ - - ">="
45
46
  - !ruby/object:Gem::Version
46
- version: 0.7.1
47
- - !ruby/object:Gem::Dependency
47
+ version: 0.0.16
48
48
  requirement: !ruby/object:Gem::Requirement
49
49
  requirements:
50
- - - '>='
50
+ - - ">="
51
51
  - !ruby/object:Gem::Version
52
- version: '0'
53
- name: logstash-devutils
52
+ version: 0.0.16
54
53
  prerelease: false
55
54
  type: :development
56
- version_requirements: !ruby/object:Gem::Requirement
57
- requirements:
58
- - - '>='
59
- - !ruby/object:Gem::Version
60
- version: '0'
61
- description: This gem is a logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/plugin install gemname. This gem is not a stand-alone program.
55
+ description: This gem is a Logstash plugin. It reads messages from Azure Service Bus Topics.
62
56
  email: azdiag@microsoft.com
63
57
  executables: []
64
58
  extensions: []
@@ -68,7 +62,6 @@ files:
68
62
  - Gemfile
69
63
  - LICENSE
70
64
  - README.md
71
- - Rakefile
72
65
  - lib/logstash/inputs/azuretopic.rb
73
66
  - logstash-input-azuretopic.gemspec
74
67
  - spec/inputs/azuretopic_spec.rb
@@ -84,12 +77,12 @@ require_paths:
84
77
  - lib
85
78
  required_ruby_version: !ruby/object:Gem::Requirement
86
79
  requirements:
87
- - - '>='
80
+ - - ">="
88
81
  - !ruby/object:Gem::Version
89
82
  version: '0'
90
83
  required_rubygems_version: !ruby/object:Gem::Requirement
91
84
  requirements:
92
- - - '>='
85
+ - - ">="
93
86
  - !ruby/object:Gem::Version
94
87
  version: '0'
95
88
  requirements: []
@@ -97,6 +90,6 @@ rubyforge_project:
97
90
  rubygems_version: 2.4.8
98
91
  signing_key:
99
92
  specification_version: 4
100
- summary: This plugin will collect Microsoft Azure Diagnostics data from Azure Service Bus.
93
+ summary: This plugin reads messages from Azure Service Bus Topics.
101
94
  test_files:
102
95
  - spec/inputs/azuretopic_spec.rb
data/Rakefile DELETED
@@ -1 +0,0 @@
1
- require "logstash/devutils/rake"