logstash-output-applicationinsights 0.9.2 → 0.9.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/CHANGELOG.md +4 -4
- data/Gemfile +1 -1
- data/LICENSE +15 -15
- data/README.md +73 -73
- data/lib/logstash/outputs/applicationinsights.rb +108 -108
- data/logstash-output-applicationinsights.gemspec +24 -24
- metadata +18 -19
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: af5cf01c8b1e3519a2c983bf37016d7bd4dd6179077ec38cd9363fbf1c8f73bc
|
4
|
+
data.tar.gz: 1a5458ad2234e18ab9c971f384c409d4c50d39df99466eb0b3504200d63d49a4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7e35df617e78407d686f2e3b7755fd640e137578fd2e46066b71836d2121e67f365c6d59c322472d6249c83666a2f49cb1180c11284b47aaaf2b2f4d6664065c
|
7
|
+
data.tar.gz: cc2e20785977ea236e690b3fd8d40a551160f0b4859b82911f3b383bc83afffd57fe36b4ebbdb69bee2f9487f0ec9ee1be50eb8d3c2622e8a6bdfc6a49edab2d
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
## 2016.06.03
|
2
|
-
* First version.
|
3
|
-
|
4
|
-
## 2016.06.30
|
1
|
+
## 2016.06.03
|
2
|
+
* First version.
|
3
|
+
|
4
|
+
## 2016.06.30
|
5
5
|
* Added metrics and event reporting support
|
data/Gemfile
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
source 'https://rubygems.org'
|
1
|
+
source 'https://rubygems.org'
|
2
2
|
gemspec
|
data/LICENSE
CHANGED
@@ -1,15 +1,15 @@
|
|
1
|
-
Copyright (c) Microsoft. All rights reserved.
|
2
|
-
Microsoft would like to thank its contributors, a list
|
3
|
-
of whom are at http://aka.ms/entlib-contributors
|
4
|
-
|
5
|
-
Licensed under the Apache License, Version 2.0 (the "License"); you
|
6
|
-
may not use this file except in compliance with the License. You may
|
7
|
-
obtain a copy of the License at
|
8
|
-
|
9
|
-
http://www.apache.org/licenses/LICENSE-2.0
|
10
|
-
|
11
|
-
Unless required by applicable law or agreed to in writing, software
|
12
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
14
|
-
implied. See the License for the specific language governing permissions
|
15
|
-
and limitations under the License.
|
1
|
+
Copyright (c) Microsoft. All rights reserved.
|
2
|
+
Microsoft would like to thank its contributors, a list
|
3
|
+
of whom are at http://aka.ms/entlib-contributors
|
4
|
+
|
5
|
+
Licensed under the Apache License, Version 2.0 (the "License"); you
|
6
|
+
may not use this file except in compliance with the License. You may
|
7
|
+
obtain a copy of the License at
|
8
|
+
|
9
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
|
11
|
+
Unless required by applicable law or agreed to in writing, software
|
12
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
14
|
+
implied. See the License for the specific language governing permissions
|
15
|
+
and limitations under the License.
|
data/README.md
CHANGED
@@ -1,73 +1,73 @@
|
|
1
|
-
# Logstash output plugin for Application Insights
|
2
|
-
|
3
|
-
## Summary
|
4
|
-
|
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-output-applicationinsights
|
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
|
-
__*ikey*__
|
16
|
-
|
17
|
-
The Application Insights Instrumentation key.
|
18
|
-
|
19
|
-
__*ai_type*__
|
20
|
-
|
21
|
-
The type of Application Insights event: "trace", "metric" and "event" are supported
|
22
|
-
|
23
|
-
### Optional Parameters
|
24
|
-
__*ai_message_field*__
|
25
|
-
|
26
|
-
Specifies the name of the event field to be used as the Message field of the Application Insights trace. If not specified, Message in Application Insights will be "Null".
|
27
|
-
|
28
|
-
__*ai_properties_field*__
|
29
|
-
|
30
|
-
Specifies the name of the event field to be used as the Properties field of the Application Insights trace. The type of the field needs to be Hash. If not specified, all fields in event will be used.
|
31
|
-
|
32
|
-
__*ai_severity_level_field*__
|
33
|
-
|
34
|
-
Specifies the name of the event field to be used as the Severity level of the Application Insights trace. If not specified, all traces will be "Informational".
|
35
|
-
|
36
|
-
__*ai_severity_level_mapping*__
|
37
|
-
|
38
|
-
Specifies how to map the values read from *ai_severity_level_field* to Application Insights severity level. This is a hash containing the possible values from event as keys and corresponding Application Insights Severity Level constants as values.
|
39
|
-
|
40
|
-
See example below for how to map [Azure diagnostics log level values](https://msdn.microsoft.com/en-us/library/azure/microsoft.windowsazure.diagnostics.loglevel.aspx) to [Application Insights severity values](https://github.com/Microsoft/ApplicationInsights-Ruby/blob/master/lib/application_insights/channel/contracts/severity_level.rb).
|
41
|
-
|
42
|
-
__*ai_metrics_names*__
|
43
|
-
|
44
|
-
Specifies the names of the event fields to be used as metrics name; the value of each field specified will be reported as metric value. If not specified, no metric will be reported.
|
45
|
-
|
46
|
-
__*ai_event_name*__
|
47
|
-
|
48
|
-
Specifies the name of the event to be reported; If not specified, no event will be reported.
|
49
|
-
|
50
|
-
__*dev_mode*__
|
51
|
-
|
52
|
-
If this is set to True, the plugin sends telemetry to Application Insights immediately; otherwise the plugin respects production sending policies defined by other properties.
|
53
|
-
|
54
|
-
### Examples
|
55
|
-
```
|
56
|
-
output
|
57
|
-
{
|
58
|
-
applicationinsights
|
59
|
-
{
|
60
|
-
ikey => "00000000-0000-0000-0000-000000000000"
|
61
|
-
dev_mode => true
|
62
|
-
ai_message_field => "EventMessage"
|
63
|
-
ai_properties_field => "EventProperties"
|
64
|
-
ai_severity_level_field => "level"
|
65
|
-
ai_severity_level_mapping => { 5 => 0 4 => 1 3 => 2 2 => 3 1 => 4 0 => 4 }
|
66
|
-
}
|
67
|
-
}
|
68
|
-
```
|
69
|
-
|
70
|
-
## More information
|
71
|
-
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.
|
72
|
-
|
73
|
-
Please also see [Analyze Diagnostics Data with ELK template](https://github.com/Azure/azure-quickstart-templates/tree/master/diagnostics-with-elk) for quick deployment of ELK to Azure.
|
1
|
+
# Logstash output plugin for Application Insights
|
2
|
+
|
3
|
+
## Summary
|
4
|
+
|
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-output-applicationinsights
|
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
|
+
__*ikey*__
|
16
|
+
|
17
|
+
The Application Insights Instrumentation key.
|
18
|
+
|
19
|
+
__*ai_type*__
|
20
|
+
|
21
|
+
The type of Application Insights event: "trace", "metric" and "event" are supported
|
22
|
+
|
23
|
+
### Optional Parameters
|
24
|
+
__*ai_message_field*__
|
25
|
+
|
26
|
+
Specifies the name of the event field to be used as the Message field of the Application Insights trace. If not specified, Message in Application Insights will be "Null".
|
27
|
+
|
28
|
+
__*ai_properties_field*__
|
29
|
+
|
30
|
+
Specifies the name of the event field to be used as the Properties field of the Application Insights trace. The type of the field needs to be Hash. If not specified, all fields in event will be used.
|
31
|
+
|
32
|
+
__*ai_severity_level_field*__
|
33
|
+
|
34
|
+
Specifies the name of the event field to be used as the Severity level of the Application Insights trace. If not specified, all traces will be "Informational".
|
35
|
+
|
36
|
+
__*ai_severity_level_mapping*__
|
37
|
+
|
38
|
+
Specifies how to map the values read from *ai_severity_level_field* to Application Insights severity level. This is a hash containing the possible values from event as keys and corresponding Application Insights Severity Level constants as values.
|
39
|
+
|
40
|
+
See example below for how to map [Azure diagnostics log level values](https://msdn.microsoft.com/en-us/library/azure/microsoft.windowsazure.diagnostics.loglevel.aspx) to [Application Insights severity values](https://github.com/Microsoft/ApplicationInsights-Ruby/blob/master/lib/application_insights/channel/contracts/severity_level.rb).
|
41
|
+
|
42
|
+
__*ai_metrics_names*__
|
43
|
+
|
44
|
+
Specifies the names of the event fields to be used as metrics name; the value of each field specified will be reported as metric value. If not specified, no metric will be reported.
|
45
|
+
|
46
|
+
__*ai_event_name*__
|
47
|
+
|
48
|
+
Specifies the name of the event to be reported; If not specified, no event will be reported.
|
49
|
+
|
50
|
+
__*dev_mode*__
|
51
|
+
|
52
|
+
If this is set to True, the plugin sends telemetry to Application Insights immediately; otherwise the plugin respects production sending policies defined by other properties.
|
53
|
+
|
54
|
+
### Examples
|
55
|
+
```
|
56
|
+
output
|
57
|
+
{
|
58
|
+
applicationinsights
|
59
|
+
{
|
60
|
+
ikey => "00000000-0000-0000-0000-000000000000"
|
61
|
+
dev_mode => true
|
62
|
+
ai_message_field => "EventMessage"
|
63
|
+
ai_properties_field => "EventProperties"
|
64
|
+
ai_severity_level_field => "level"
|
65
|
+
ai_severity_level_mapping => { 5 => 0 4 => 1 3 => 2 2 => 3 1 => 4 0 => 4 }
|
66
|
+
}
|
67
|
+
}
|
68
|
+
```
|
69
|
+
|
70
|
+
## More information
|
71
|
+
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.
|
72
|
+
|
73
|
+
Please also see [Analyze Diagnostics Data with ELK template](https://github.com/Azure/azure-quickstart-templates/tree/master/diagnostics-with-elk) for quick deployment of ELK to Azure.
|
@@ -1,108 +1,108 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
require "logstash/outputs/base"
|
3
|
-
require "logstash/namespace"
|
4
|
-
require "application_insights"
|
5
|
-
|
6
|
-
include ApplicationInsights
|
7
|
-
include ApplicationInsights::Channel
|
8
|
-
|
9
|
-
class LogStash::Outputs::ApplicationInsights < LogStash::Outputs::Base
|
10
|
-
config_name "applicationinsights"
|
11
|
-
|
12
|
-
config :ikey, :validate => :string, :required => true
|
13
|
-
config :ai_type, :validate => :string, :required => true
|
14
|
-
config :dev_mode, :validate => :boolean, :required => false, :default => false
|
15
|
-
config :ai_message_field, :validate => :string, :required => false, :default => nil
|
16
|
-
config :ai_properties_field, :validate => :string, :required => false, :default => nil
|
17
|
-
config :ai_severity_level_field, :validate => :string, :required => false, :default => nil
|
18
|
-
config :ai_severity_level_mapping, :validate => :hash, :required => false, :default => nil
|
19
|
-
config :ai_metrics_names, :validate => :array, :required => false, :default => nil
|
20
|
-
config :ai_event_name, :validate => :string, :required => false, :default => nil
|
21
|
-
|
22
|
-
public
|
23
|
-
def register
|
24
|
-
create_client
|
25
|
-
end # def register
|
26
|
-
|
27
|
-
public
|
28
|
-
def multi_receive(events)
|
29
|
-
events.each do |event|
|
30
|
-
begin
|
31
|
-
ai_properties = get_ai_properties(event)
|
32
|
-
if @ai_type == "trace"
|
33
|
-
ai_message = get_field(event, @ai_message_field)
|
34
|
-
ai_severity = get_ai_severity(event)
|
35
|
-
@client.track_trace(ai_message, ai_severity, { :properties => ai_properties })
|
36
|
-
elsif @ai_type == "metric"
|
37
|
-
if !@ai_metrics_names.nil? && @ai_metrics_names.any?
|
38
|
-
@ai_metrics_names.each do |metric_name|
|
39
|
-
metric_value = get_field(event, metric_name)
|
40
|
-
if metric_value.nil?
|
41
|
-
@logger.warn("#{@metric_name} specified in ai_metrics_names not found in event data.")
|
42
|
-
else
|
43
|
-
@client.track_metric(metric_name, metric_value.to_f, { :properties => ai_properties })
|
44
|
-
end # if
|
45
|
-
end # do
|
46
|
-
end # if ai_metric_fields
|
47
|
-
elsif @ai_type == "event"
|
48
|
-
@client.track_event(@ai_event_name, { :properties => ai_properties }) if !@ai_event_name.nil?
|
49
|
-
end # if ai_type
|
50
|
-
|
51
|
-
@client.flush if @dev_mode
|
52
|
-
|
53
|
-
rescue => e
|
54
|
-
@logger.error("Error occurred sending data to AI.", :exception => e)
|
55
|
-
end # begin
|
56
|
-
end # do
|
57
|
-
end # def multi_receive
|
58
|
-
|
59
|
-
def close
|
60
|
-
@client.flush
|
61
|
-
end # def close
|
62
|
-
|
63
|
-
def create_client
|
64
|
-
telemetry_context = TelemetryContext.new
|
65
|
-
async_queue = AsynchronousQueue.new(AsynchronousSender.new)
|
66
|
-
telemetry_channel = TelemetryChannel.new(telemetry_context, async_queue)
|
67
|
-
@client = TelemetryClient.new(@ikey, telemetry_channel)
|
68
|
-
end # def create_client
|
69
|
-
|
70
|
-
def get_field(event, field_name)
|
71
|
-
return nil if field_name.nil?
|
72
|
-
|
73
|
-
field = event
|
74
|
-
@logger.warn("#{field_name} not found in event data.") if field.nil?
|
75
|
-
event.remove(field_name) unless field.nil? # Removes the duplicated AI field.
|
76
|
-
field
|
77
|
-
end # def get_ai_message
|
78
|
-
|
79
|
-
def get_ai_properties(event)
|
80
|
-
ai_properties = event.to_hash.fetch(@ai_properties_field, nil)
|
81
|
-
if !@ai_properties_field.nil? && ai_properties.nil?
|
82
|
-
@logger.warn("#{@ai_properties_field} specified in ai_properties_field not found in event data. Will use all fields in event as AI properties.")
|
83
|
-
end # if
|
84
|
-
|
85
|
-
ai_properties || event.to_hash
|
86
|
-
end # def get_ai_properties
|
87
|
-
|
88
|
-
def get_ai_severity(event)
|
89
|
-
return nil if @ai_severity_level_field.nil?
|
90
|
-
|
91
|
-
severity_value = event
|
92
|
-
|
93
|
-
if !@ai_severity_level_mapping.nil? && @ai_severity_level_mapping.any?
|
94
|
-
ai_severity_level = @ai_severity_level_mapping.fetch(severity_value, nil)
|
95
|
-
else
|
96
|
-
ai_severity_level = severity_value
|
97
|
-
end # unless
|
98
|
-
|
99
|
-
if ai_severity_level.nil?
|
100
|
-
@logger.warn("Cannot map value '#{severity_value}' from '#{@ai_severity_level_field}' to AI severity level. Will use default value.")
|
101
|
-
else
|
102
|
-
event.remove(@ai_severity_level_field) # Removes the duplicated severity field.
|
103
|
-
end # if
|
104
|
-
|
105
|
-
ai_severity_level
|
106
|
-
end # def get_ai_severity
|
107
|
-
|
108
|
-
end # LogStash::Outputs::ApplicationInsights
|
1
|
+
# encoding: utf-8
|
2
|
+
require "logstash/outputs/base"
|
3
|
+
require "logstash/namespace"
|
4
|
+
require "application_insights"
|
5
|
+
|
6
|
+
include ApplicationInsights
|
7
|
+
include ApplicationInsights::Channel
|
8
|
+
|
9
|
+
class LogStash::Outputs::ApplicationInsights < LogStash::Outputs::Base
|
10
|
+
config_name "applicationinsights"
|
11
|
+
|
12
|
+
config :ikey, :validate => :string, :required => true
|
13
|
+
config :ai_type, :validate => :string, :required => true
|
14
|
+
config :dev_mode, :validate => :boolean, :required => false, :default => false
|
15
|
+
config :ai_message_field, :validate => :string, :required => false, :default => nil
|
16
|
+
config :ai_properties_field, :validate => :string, :required => false, :default => nil
|
17
|
+
config :ai_severity_level_field, :validate => :string, :required => false, :default => nil
|
18
|
+
config :ai_severity_level_mapping, :validate => :hash, :required => false, :default => nil
|
19
|
+
config :ai_metrics_names, :validate => :array, :required => false, :default => nil
|
20
|
+
config :ai_event_name, :validate => :string, :required => false, :default => nil
|
21
|
+
|
22
|
+
public
|
23
|
+
def register
|
24
|
+
create_client
|
25
|
+
end # def register
|
26
|
+
|
27
|
+
public
|
28
|
+
def multi_receive(events)
|
29
|
+
events.each do |event|
|
30
|
+
begin
|
31
|
+
ai_properties = get_ai_properties(event)
|
32
|
+
if @ai_type == "trace"
|
33
|
+
ai_message = get_field(event, @ai_message_field)
|
34
|
+
ai_severity = get_ai_severity(event)
|
35
|
+
@client.track_trace(ai_message, ai_severity, { :properties => ai_properties })
|
36
|
+
elsif @ai_type == "metric"
|
37
|
+
if !@ai_metrics_names.nil? && @ai_metrics_names.any?
|
38
|
+
@ai_metrics_names.each do |metric_name|
|
39
|
+
metric_value = get_field(event, metric_name)
|
40
|
+
if metric_value.nil?
|
41
|
+
@logger.warn("#{@metric_name} specified in ai_metrics_names not found in event data.")
|
42
|
+
else
|
43
|
+
@client.track_metric(metric_name, metric_value.to_f, { :properties => ai_properties })
|
44
|
+
end # if
|
45
|
+
end # do
|
46
|
+
end # if ai_metric_fields
|
47
|
+
elsif @ai_type == "event"
|
48
|
+
@client.track_event(@ai_event_name, { :properties => ai_properties }) if !@ai_event_name.nil?
|
49
|
+
end # if ai_type
|
50
|
+
|
51
|
+
@client.flush if @dev_mode
|
52
|
+
|
53
|
+
rescue => e
|
54
|
+
@logger.error("Error occurred sending data to AI.", :exception => e)
|
55
|
+
end # begin
|
56
|
+
end # do
|
57
|
+
end # def multi_receive
|
58
|
+
|
59
|
+
def close
|
60
|
+
@client.flush
|
61
|
+
end # def close
|
62
|
+
|
63
|
+
def create_client
|
64
|
+
telemetry_context = TelemetryContext.new
|
65
|
+
async_queue = AsynchronousQueue.new(AsynchronousSender.new)
|
66
|
+
telemetry_channel = TelemetryChannel.new(telemetry_context, async_queue)
|
67
|
+
@client = TelemetryClient.new(@ikey, telemetry_channel)
|
68
|
+
end # def create_client
|
69
|
+
|
70
|
+
def get_field(event, field_name)
|
71
|
+
return nil if field_name.nil?
|
72
|
+
|
73
|
+
field = event.get(field_name) # Extracts specified field value as the AI Message.
|
74
|
+
@logger.warn("#{field_name} not found in event data.") if field.nil?
|
75
|
+
event.remove(field_name) unless field.nil? # Removes the duplicated AI field.
|
76
|
+
field
|
77
|
+
end # def get_ai_message
|
78
|
+
|
79
|
+
def get_ai_properties(event)
|
80
|
+
ai_properties = event.to_hash.fetch(@ai_properties_field, nil)
|
81
|
+
if !@ai_properties_field.nil? && ai_properties.nil?
|
82
|
+
@logger.warn("#{@ai_properties_field} specified in ai_properties_field not found in event data. Will use all fields in event as AI properties.")
|
83
|
+
end # if
|
84
|
+
|
85
|
+
ai_properties || event.to_hash
|
86
|
+
end # def get_ai_properties
|
87
|
+
|
88
|
+
def get_ai_severity(event)
|
89
|
+
return nil if @ai_severity_level_field.nil?
|
90
|
+
|
91
|
+
severity_value = event.get(@ai_severity_level_field)
|
92
|
+
|
93
|
+
if !@ai_severity_level_mapping.nil? && @ai_severity_level_mapping.any?
|
94
|
+
ai_severity_level = @ai_severity_level_mapping.fetch(severity_value, nil)
|
95
|
+
else
|
96
|
+
ai_severity_level = severity_value
|
97
|
+
end # unless
|
98
|
+
|
99
|
+
if ai_severity_level.nil?
|
100
|
+
@logger.warn("Cannot map value '#{severity_value}' from '#{@ai_severity_level_field}' to AI severity level. Will use default value.")
|
101
|
+
else
|
102
|
+
event.remove(@ai_severity_level_field) # Removes the duplicated severity field.
|
103
|
+
end # if
|
104
|
+
|
105
|
+
ai_severity_level
|
106
|
+
end # def get_ai_severity
|
107
|
+
|
108
|
+
end # LogStash::Outputs::ApplicationInsights
|
@@ -1,24 +1,24 @@
|
|
1
|
-
Gem::Specification.new do |s|
|
2
|
-
s.name = 'logstash-output-applicationinsights'
|
3
|
-
s.version = '0.9.
|
4
|
-
s.licenses = ['Apache License (2.0)']
|
5
|
-
s.summary = "This plugin sends data to Application Insights."
|
6
|
-
s.description = "This gem is a Logstash plugin. It sends data to Application Insights."
|
7
|
-
s.authors = ["Microsoft Corporation"]
|
8
|
-
s.email = 'azdiag@microsoft.com'
|
9
|
-
s.homepage = "https://github.com/Azure/azure-diagnostics-tools"
|
10
|
-
s.require_paths = ["lib"]
|
11
|
-
|
12
|
-
# Files
|
13
|
-
s.files = Dir['lib/**/*','spec/**/*','vendor/**/*','*.gemspec','*.md','Gemfile','LICENSE']
|
14
|
-
# Tests
|
15
|
-
s.test_files = s.files.grep(%r{^(test|spec|features)/})
|
16
|
-
|
17
|
-
# Special flag to let us know this is actually a logstash plugin
|
18
|
-
s.metadata = { "logstash_plugin" => "true", "logstash_group" => "output" }
|
19
|
-
|
20
|
-
# Gem dependencies
|
21
|
-
s.add_runtime_dependency 'logstash-core-plugin-api', '>= 1.60', '<= 2.99'
|
22
|
-
s.add_runtime_dependency 'application_insights', '~> 0.5.3'
|
23
|
-
s.add_development_dependency 'logstash-devutils'
|
24
|
-
end
|
1
|
+
Gem::Specification.new do |s|
|
2
|
+
s.name = 'logstash-output-applicationinsights'
|
3
|
+
s.version = '0.9.3'
|
4
|
+
s.licenses = ['Apache License (2.0)']
|
5
|
+
s.summary = "This plugin sends data to Application Insights."
|
6
|
+
s.description = "This gem is a Logstash plugin. It sends data to Application Insights."
|
7
|
+
s.authors = ["Microsoft Corporation"]
|
8
|
+
s.email = 'azdiag@microsoft.com'
|
9
|
+
s.homepage = "https://github.com/Azure/azure-diagnostics-tools"
|
10
|
+
s.require_paths = ["lib"]
|
11
|
+
|
12
|
+
# Files
|
13
|
+
s.files = Dir['lib/**/*','spec/**/*','vendor/**/*','*.gemspec','*.md','Gemfile','LICENSE']
|
14
|
+
# Tests
|
15
|
+
s.test_files = s.files.grep(%r{^(test|spec|features)/})
|
16
|
+
|
17
|
+
# Special flag to let us know this is actually a logstash plugin
|
18
|
+
s.metadata = { "logstash_plugin" => "true", "logstash_group" => "output" }
|
19
|
+
|
20
|
+
# Gem dependencies
|
21
|
+
s.add_runtime_dependency 'logstash-core-plugin-api', '>= 1.60', '<= 2.99'
|
22
|
+
s.add_runtime_dependency 'application_insights', '~> 0.5.3'
|
23
|
+
s.add_development_dependency 'logstash-devutils'
|
24
|
+
end
|
metadata
CHANGED
@@ -1,18 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: logstash-output-applicationinsights
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Microsoft Corporation
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-04-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: logstash-core-plugin-api
|
15
|
-
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
@@ -20,7 +20,9 @@ dependencies:
|
|
20
20
|
- - "<="
|
21
21
|
- !ruby/object:Gem::Version
|
22
22
|
version: '2.99'
|
23
|
-
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
26
|
requirements:
|
25
27
|
- - ">="
|
26
28
|
- !ruby/object:Gem::Version
|
@@ -28,36 +30,34 @@ dependencies:
|
|
28
30
|
- - "<="
|
29
31
|
- !ruby/object:Gem::Version
|
30
32
|
version: '2.99'
|
31
|
-
prerelease: false
|
32
|
-
type: :runtime
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: application_insights
|
35
|
-
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
36
36
|
requirements:
|
37
37
|
- - "~>"
|
38
38
|
- !ruby/object:Gem::Version
|
39
39
|
version: 0.5.3
|
40
|
-
|
40
|
+
type: :runtime
|
41
|
+
prerelease: false
|
42
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
43
|
requirements:
|
42
44
|
- - "~>"
|
43
45
|
- !ruby/object:Gem::Version
|
44
46
|
version: 0.5.3
|
45
|
-
prerelease: false
|
46
|
-
type: :runtime
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: logstash-devutils
|
49
|
-
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
50
50
|
requirements:
|
51
51
|
- - ">="
|
52
52
|
- !ruby/object:Gem::Version
|
53
53
|
version: '0'
|
54
|
-
|
54
|
+
type: :development
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
55
57
|
requirements:
|
56
58
|
- - ">="
|
57
59
|
- !ruby/object:Gem::Version
|
58
60
|
version: '0'
|
59
|
-
prerelease: false
|
60
|
-
type: :development
|
61
61
|
description: This gem is a Logstash plugin. It sends data to Application Insights.
|
62
62
|
email: azdiag@microsoft.com
|
63
63
|
executables: []
|
@@ -77,7 +77,7 @@ licenses:
|
|
77
77
|
metadata:
|
78
78
|
logstash_plugin: 'true'
|
79
79
|
logstash_group: output
|
80
|
-
post_install_message:
|
80
|
+
post_install_message:
|
81
81
|
rdoc_options: []
|
82
82
|
require_paths:
|
83
83
|
- lib
|
@@ -92,9 +92,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
92
92
|
- !ruby/object:Gem::Version
|
93
93
|
version: '0'
|
94
94
|
requirements: []
|
95
|
-
|
96
|
-
|
97
|
-
signing_key:
|
95
|
+
rubygems_version: 3.1.2
|
96
|
+
signing_key:
|
98
97
|
specification_version: 4
|
99
98
|
summary: This plugin sends data to Application Insights.
|
100
99
|
test_files:
|