logstash-output-azure_service_bus 0.1.4 → 0.2.0

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
  SHA256:
3
- metadata.gz: a67fa04bdae51dece5761e74a988a0ebe3650bb9ef0bdf3e2865d13a7d978e9a
4
- data.tar.gz: 5e81d65989042929f02f2500af06d50a816f7507b2acd83fa89ffddff553af8c
3
+ metadata.gz: 016441e1bf597f2bdea94a9123cf4a5fb10541ee6181455bb070a623cd0d1b74
4
+ data.tar.gz: 872320c9b33b392745ddd08781bbd3f6bb14516150808d9f79079ead73bd5fea
5
5
  SHA512:
6
- metadata.gz: edec37ad077bc312121e37d2fca8820c910af1c2a73c0dc44dc943be699e08267b155fc5cf5351aa7732e49a72604cee66ec6b6a4b25904c71b17aa7c19db490
7
- data.tar.gz: 46662ca942a33c7f19d80cf05a895ad3f729dd41970868703f5ee701b8c8bc9940642c486be64f5296771247ddd2e527c257227af9aeee6dc52b8ea17f626cf9
6
+ metadata.gz: a69069641020d293436f0a6b9bb633734b030fc16731a006ab54deabc5e42958fbcae23c13aa370c200b51fbb8af7fe7c47f98256a9bb051fbf07a7438cd724a
7
+ data.tar.gz: 9ced162d4a22745c9507c2e38800f493a04f9cb938d63ba3fcde836d5d997f9774f3eeaa28caf7c38f4fb11c22a8f15a77ae8be73d54feecf5928bd778afa43c
@@ -10,29 +10,30 @@ class LogStash::Outputs::AzureServiceBus < LogStash::Outputs::Base
10
10
 
11
11
  config :service_bus_namespace, :validate => :string, :required => true
12
12
  config :service_bus_entity, :validate => :string, :required => true
13
+ config :uuid_field, :validate => :string
13
14
 
14
15
  def register
15
16
  retry_options = {
16
- max: 5,
17
+ max: 3,
17
18
  interval: 1,
18
19
  interval_randomness: 0.5,
19
- backoff_factor: 3,
20
+ backoff_factor: 2,
20
21
  retry_statuses: [429, 500],
21
22
  exceptions: [Faraday::ConnectionFailed, Faraday::TimeoutError, Faraday::RetriableResponse],
22
23
  methods: %i[get post],
23
- retry_block: ->(_env, _options, retries, exception) { @logger.error("Error (#{exception}) for #{env.method.upcase} #{env.url} - #{retries + 1} retry(s) left") }
24
+ retry_block: ->(env, _options, retries, exception) { @logger.warn("Error (#{exception}) for #{env.method.upcase} #{env.url} - #{retries + 1} retry(s) left") }
24
25
  }
25
26
  @token_conn = Faraday.new(
26
27
  url: 'http://169.254.169.254/metadata/identity/oauth2/token',
27
28
  params: { 'api-version' => '2018-02-01', 'resource' => 'https://servicebus.azure.net/' },
28
29
  headers: { 'Metadata' => 'true' },
29
- request: { timeout: 1 }
30
+ request: { timeout: 4 }
30
31
  ) do |f|
31
32
  f.request :retry, retry_options
32
33
  end
33
34
  @service_bus_conn = Faraday.new(
34
35
  url: "https://#{@service_bus_namespace}.servicebus.windows.net/#{@service_bus_entity}/",
35
- request: { timeout: 3 }
36
+ request: { timeout: 10 }
36
37
  ) do |f|
37
38
  f.request :retry, retry_options
38
39
  end
@@ -48,7 +49,11 @@ class LogStash::Outputs::AzureServiceBus < LogStash::Outputs::Base
48
49
  def send_events(events)
49
50
  messages = []
50
51
  events.each do |event|
51
- messages.append({ 'Body' => JSON.generate(event.to_hash), 'BrokerProperties' => { 'ContentType' => 'application/json' } })
52
+ if @uuid_field.nil?
53
+ messages.append({ 'Body' => JSON.generate(event.to_hash), 'BrokerProperties' => { 'ContentType' => 'application/json' } })
54
+ else
55
+ messages.append({ 'Body' => JSON.generate(event.to_hash), 'BrokerProperties' => { 'ContentType' => 'application/json', 'MessageId' => event.get(@uuid_field) } })
56
+ end
52
57
  end
53
58
  post_messages(messages)
54
59
  end
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'logstash-output-azure_service_bus'
3
- s.version = '0.1.4'
3
+ s.version = '0.2.0'
4
4
  s.licenses = ['Apache-2.0']
5
5
  s.summary = 'Send Logstash messages to Azure Service Bus.'
6
6
  s.homepage = 'https://github.com/gharryg/logstash-output-azure_service_bus'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-output-azure_service_bus
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Harrison Golden
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-04-04 00:00:00.000000000 Z
11
+ date: 2022-04-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement