logstash-output-application_insights 0.2.0 → 0.2.1

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: 3218d55e7606dde93f2414ddaf149afc7793c2ad
4
- data.tar.gz: 51b48f9e2438b62892070a4a1fc729d59eed4404
3
+ metadata.gz: bfd7fa91c562aaf482965ae4b0243dc64529f053
4
+ data.tar.gz: 605bd30348073847a7eb42cc2d492f8c8b088fcb
5
5
  SHA512:
6
- metadata.gz: 8795709d9c9d9ab0a33b5b2298dfb0d8259cf7c1d10849cbc7074eff14f8d6915b868ca8e9832e17e5aeffb5d1739ac104d2e3fffb6d4f710ca8728117cd5650
7
- data.tar.gz: 4eaa0df1d5fdf204c667f848c028e4daaa24ed4311bb936c9194f848a5a98362a72cc3b8aa9e70dfadd4fe3dd885ff525dea48d6c34e4d3ea52ff8eed8e6ad37
6
+ metadata.gz: 019136969939d09b9fc152155f226c118aef4328909a94bd168ca76b212f69b73f4eb52b5c1aa5e953e3c1601be14712cc8fdf370506d60ecaa4e20252b0ed65
7
+ data.tar.gz: e9b0cddd450f56f5afd3379418e71494d7d88ded7f365d8bcf6f4add8233e933b7367aa1fb542ed38ec80d75963debccbf9cb30a90ed244bbe216aca2de03252
data/README.md CHANGED
@@ -14,6 +14,8 @@
14
14
 
15
15
  * Logstash 2.3.2
16
16
  * Logstash 2.3.4
17
+ * Logstash 2.4.0
18
+ * Logstash 5.0.0
17
19
 
18
20
  Note:
19
21
 
@@ -122,6 +124,7 @@ storage_account_name_key => [ ["my-storage-account1", "key1"], "my-storage-accou
122
124
 
123
125
  storage_account_name_key => [ ["my-storage-account1", ["key11", "key12"]], ["my-storage-account1", "key2"], ["my-storage-account1", ["key3"] ]
124
126
  ```
127
+ **Note: the storage account must be of "General purpose" kind.**
125
128
 
126
129
  ### azure_storage_table_prefix
127
130
  A prefix for the azure storage tables name used by this Logstash instance. Default host name
@@ -309,6 +309,10 @@ class LogStash::Outputs::Application_insights < LogStash::Outputs::Base
309
309
 
310
310
  def register
311
311
 
312
+ # puts "++ SETTINGS: #{LogStash::SETTINGS.to_hash}"
313
+ # @logger.info("test test", :xx => "xx", :yy => 1)
314
+ # puts "++ LOGSTASH_HOME: #{LogStash::Environment::LOGSTASH_HOME}"
315
+
312
316
  # logstash define: @original_params = original_params
313
317
  # logstash define: @config = params
314
318
 
@@ -321,7 +325,6 @@ class LogStash::Outputs::Application_insights < LogStash::Outputs::Base
321
325
 
322
326
  # be careful don't use here @logger, as it will override Logstash @logger, and may create starnge behaviour
323
327
  @private_logger = configuration[:logger]
324
-
325
328
  @private_logger.info { "configuration: #{masked_configuration}" }
326
329
 
327
330
  @telemetry = Telemetry.instance
@@ -334,14 +337,14 @@ class LogStash::Outputs::Application_insights < LogStash::Outputs::Base
334
337
  @shutdown_recovery = Shutdown_recovery.instance
335
338
 
336
339
  if @validate_notification
337
- status = Validate_notification.new.validate
338
- raise ConfigurationError, "Failed to access application insights at #{configuration[:application_insights_endpoint]}, due to error #{status[:error].inspect}" unless status[:success]
340
+ result = Validate_notification.new.validate
341
+ raise ConfigurationError, "Failed to access application insights at #{configuration[:application_insights_endpoint]}, due to error #{result[:error].inspect}" unless result[:success]
339
342
  end
340
343
 
341
344
  if @validate_storage
342
- result = Validate_storage.new.validate
343
- result.each do |storage_account_name, status|
344
- raise ConfigurationError, "Failed access azure storage account #{storage_account_name}, due to error #{status[:error].inspect}" unless status[:success]
345
+ results = Validate_storage.new.validate
346
+ results.each do |result|
347
+ raise ConfigurationError, "Failed to #{result[:test]} in azure storage account #{result[:storage_account_name]}, due to error #{result[:error].inspect}" unless result[:success]
345
348
  end
346
349
  end
347
350
 
@@ -269,6 +269,9 @@ class LogStash::Outputs::Application_insights
269
269
  elsif 500 == e.status_code && "Unknown" == e.type && e.description.include?("Processing error")
270
270
  :notification_process_down
271
271
 
272
+ elsif 501 == e.status_code
273
+ :not_implemented
274
+
272
275
  elsif 503 == e.status_code
273
276
  :service_unavailable
274
277
 
@@ -215,6 +215,7 @@ class LogStash::Outputs::Application_insights
215
215
 
216
216
  configuration[:state_table_name] = AZURE_STORAGE_TABLE_LOGSTASH_PREFIX + configuration[:azure_storage_table_prefix] + STATE_TABLE_NAME
217
217
  configuration[:test_storage_container] = AZURE_STORAGE_CONTAINER_LOGSTASH_PREFIX + configuration[:azure_storage_container_prefix] + "-" + STORAGE_TEST_CONTAINER_NAME
218
+ configuration[:test_storage_table] = AZURE_STORAGE_TABLE_LOGSTASH_PREFIX + configuration[:azure_storage_table_prefix] + STORAGE_TEST_TABLE_NAME
218
219
  configuration[:partition_key_prefix] = configuration[:azure_storage_blob_prefix].gsub( "/", "" )
219
220
  configuration[:local_file_prefix] = LOCAL_FS_FILE_PREFIX + configuration[:azure_storage_blob_prefix].gsub( "/", "_" )
220
221
 
@@ -231,6 +232,9 @@ class LogStash::Outputs::Application_insights
231
232
  masked_keys = keys.map { |key| "*****************" }
232
233
  [ name, masked_keys ]
233
234
  }
235
+ masked_configuration.each_pair do |key, value|
236
+ masked_configuration[key] = "nil" if value.nil?
237
+ end
234
238
  masked_configuration[:storage_account_name_key] = masked_storage_account_name_key
235
239
  masked_configuration
236
240
  end
@@ -152,6 +152,7 @@ class LogStash::Outputs::Application_insights
152
152
 
153
153
  STATE_TABLE_NAME = "BlobsState"
154
154
  STORAGE_TEST_CONTAINER_NAME = "test-container"
155
+ STORAGE_TEST_TABLE_NAME = "TestTable"
155
156
 
156
157
  AZURE_STORAGE_CONTAINER_LOGSTASH_PREFIX = "logstash" # lower case only, dash allowed
157
158
  AZURE_STORAGE_BLOB_LOGSTASH_PREFIX = "logstash"
@@ -26,17 +26,34 @@ class LogStash::Outputs::Application_insights
26
26
  # super first parameter must be nil. blob first parameter is channel, otherwise it will pass storage_account_name as channel
27
27
  super( nil )
28
28
  @storage_account_name = storage_account_name
29
+ @test_storage_container = @configuration[:test_storage_container]
30
+ @test_storage_table = @configuration[:test_storage_table]
29
31
  @action = :test_storage
30
- @info = "#{@action} #{@storage_account_name}"
31
- @recoverable = [ :invalid_storage_key, :container_exist, :create_container ]
32
+ @base_info = "#{@action} #{@storage_account_name}"
33
+ @recoverable = [ :invalid_storage_key, :container_exist, :create_container, :table_exist, :create_table ]
32
34
  @force_client = true # to enable get a client even if all storage_accounts marked dead
33
35
  end
34
36
 
35
37
  def test
38
+ test_container
39
+ end
40
+
41
+ def test_container
42
+ @max_tries = 1
43
+ @info = "#{@base_info} - create #{@test_storage_container} container"
44
+ storage_io_block {
45
+ if @recovery.nil? || :invalid_storage_key == @recovery
46
+ @client.blobClient.create_container( @test_storage_container ) unless @configuration[:disable_blob_upload]
47
+ end
48
+ }
49
+ end
50
+
51
+ def test_table
36
52
  @max_tries = 1
53
+ @info = "#{@base_info} - create #{@test_storage_table} table"
37
54
  storage_io_block {
38
55
  if @recovery.nil? || :invalid_storage_key == @recovery
39
- @client.blobClient.create_container( @configuration[:test_storage_container] ) unless @configuration[:disable_blob_upload]
56
+ @client.tableClient.create_table( @test_storage_table ) unless @configuration[:disable_blob_upload]
40
57
  end
41
58
  }
42
59
  end
@@ -30,10 +30,11 @@ class LogStash::Outputs::Application_insights
30
30
  end
31
31
 
32
32
  def validate
33
- result = {}
33
+ result = []
34
34
  @storage_account_name_key.each do |storage_account_name, storage_account_keys|
35
35
  test_storage = Test_storage.new( storage_account_name )
36
- result[storage_account_name] = {:success => test_storage.test, :error => test_storage.last_io_exception }
36
+ result << { :storage_account_name => storage_account_name, :test => "create container", :success => test_storage.test_container, :error => test_storage.last_io_exception }
37
+ result << { :storage_account_name => storage_account_name, :test => "create table", :success => test_storage.test_table, :error => test_storage.last_io_exception }
37
38
  end
38
39
  result
39
40
  end
@@ -20,5 +20,5 @@
20
20
  # ----------------------------------------------------------------------------------
21
21
 
22
22
  # class LogStash::Outputs::Application_insights
23
- APPLICATION_INSIGHTS_VERSION ||= "0.2.0"
23
+ APPLICATION_INSIGHTS_VERSION ||= "0.2.1"
24
24
  # end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-output-application_insights
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
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-11-09 00:00:00.000000000 Z
11
+ date: 2016-11-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement