logstash-output-azure_service_bus 0.3.2 → 0.3.5

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: '083f7b36cee46fdb059036aaf5d1be5147d9847698668ccd47d2d55e2178726b'
4
- data.tar.gz: 83a758c5fec612555dcd2bbd019ce6cc8fc6a387d0d0203b1f5af8bc8316ffd8
3
+ metadata.gz: 0f143bc449a2eb5ba96c5744fbbf835612b4e2bf4a3a55bc66636a77da7913dc
4
+ data.tar.gz: 61f7366ca88e30e4c8f08320d0b9d625483af5d70d3613641ae4944ae40eb2c1
5
5
  SHA512:
6
- metadata.gz: 0be573d501e76e02a9ccc60fdbdaf79cde4550e9e0930ba6bfed8ace0721f9a659c176720ecacc6774bb27c80ae2329f1adadc10af2e476bb747f8b11f47bb64
7
- data.tar.gz: 5de0f339d87b98804a369638051134c854d4860f9eb9d87d8a616ada52609cadad91edd89012562c9f64dfe111a3aa839214f5ecb575a63100ca611d05d1779e
6
+ metadata.gz: 002f1d700b00f56c3c8c446c37f55d483cefbe467d9d654646d7f21ea0b13c86a532a88c555e2686e97284543c4f0f74e65a4087b9d4717f0532e3a54cd8ac09
7
+ data.tar.gz: de134b2fc179f46fb2cb941cef151bf08c7daadaf7850368439450b17e14bf314ccf930c6ca8b802b9195bf90062f9a494c576614c1f7f26b1fcec834e8e550f
@@ -23,13 +23,16 @@ class LogStash::Outputs::AzureServiceBus < LogStash::Outputs::Base
23
23
  retry_statuses: [401, 403, 404, 410, 429, 500], # https://docs.microsoft.com/en-us/rest/api/servicebus/send-message-batch#response-codes
24
24
  retry_block: lambda do |env, _options, _retries, exception|
25
25
  if env.status.nil?
26
- @logger.warn("Problem (#{exception}) for #{env.method.upcase} #{env.url}")
26
+ @logger.warn("Problem while sending message(s) to Service Bus: #{exception.inspect}")
27
27
  else
28
- @logger.warn("Problem (HTTP #{env.status}) for #{env.method.upcase} #{env.url}")
28
+ @logger.warn("Problem while sending message(s) to Service Bus: HTTP #{env.status}")
29
+ if env.status == 401
30
+ refresh_access_token
31
+ env.request_headers['Authorization'] = "Bearer #{@access_token}"
32
+ end
29
33
  end
30
34
  end,
31
- retry_if: lambda do |env, _exc|
32
- refresh_access_token if env.status == 401
35
+ retry_if: lambda do |_env, _exc|
33
36
  true # Always retry
34
37
  end
35
38
  }
@@ -68,30 +71,31 @@ class LogStash::Outputs::AzureServiceBus < LogStash::Outputs::Base
68
71
  end
69
72
  rescue StandardError => e
70
73
  # Hopefully we never make it here and "throw away" messages since we have an agressive retry strategy.
71
- @logger.error("Error (#{e}) while sending message to Service Bus")
74
+ @logger.error("Error while sending message(s) to Service Bus: #{e.inspect}")
72
75
  else
73
- if response.status == 200
76
+ if response.status == 201
74
77
  @logger.debug("Sent #{messages.length} message(s) to Service Bus")
75
78
  else
76
- @logger.error("Error while sending message to Service Bus: HTTP #{response.status}")
79
+ @logger.error("Error while sending message(s) to Service Bus: HTTP #{response.status}")
77
80
  end
78
81
  end
79
82
 
80
83
  def refresh_access_token
81
- @logger.info('Refreshing Azure access token')
84
+ @logger.info('Refreshing Azure access token...')
82
85
  begin
83
86
  response = Faraday.get('http://169.254.169.254/metadata/identity/oauth2/token', { 'api-version' => '2018-02-01', 'resource' => 'https://servicebus.azure.net/' }) do |req|
84
87
  req.headers = { 'Metadata' => 'true' }
85
- req.options.timeout = 4
88
+ req.options.timeout = 10
86
89
  end
87
90
  rescue StandardError => e # We just catch everything and move on since @service_bus_conn will handle retries.
88
- @logger.error("Error while fetching access token: #{e}")
91
+ @logger.error("Error while fetching access token: #{e.inpsect}")
89
92
  else
90
93
  if response.status == 200
91
94
  data = JSON.parse(response.body)
92
95
  @access_token = data['access_token']
96
+ @logger.info('Successfully refreshed Azure access token')
93
97
  else
94
- @logger.error("HTTP error when fetching access token: #{response.body}")
98
+ @logger.error("Error while fetching access token: HTTP #{response.status}")
95
99
  end
96
100
  end
97
101
  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.3.2'
3
+ s.version = '0.3.5'
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,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-output-azure_service_bus
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.3.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Harrison Golden