logstash-output-azure_service_bus 0.3.2 → 0.3.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
  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