logstash-output-opsgenie 2.0.5 → 2.1.0

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
  SHA1:
3
- metadata.gz: 3ce37cd6b42addf3adfc040f151489be96f67498
4
- data.tar.gz: 943b8f90e027c01be25b9b4b26d59a629117f3b8
3
+ metadata.gz: 2ee26d60c05c3c473e778354fa9ec42a40b5fe33
4
+ data.tar.gz: 2bc3a2b1db6804848bf87b02773aca6a4e9b6abf
5
5
  SHA512:
6
- metadata.gz: e6791222af789423bb0bfdc4599d11618207171c177b6d5741bffc76cac5574d0648f29036b766db3ef2d6b56b0fc696a3c1796368237e4ec467b1d1498ccdae
7
- data.tar.gz: af99a1746301dfabb4b8f6ec2d57ba46ce8993e574bd7191b6503d28396c32da78e2a93ec770304d5a8fbe3483aee293fb7820397954b15e5241120c56b66d7b
6
+ metadata.gz: d9980c7494916bee71e1b893dc29adc5d21be7b06c3a4e67c410901f89b8dbcd219e3a8809eefb6dc22cff46cd10fe4dc3b1b1a6c700e9a4c44aba563b56ed87
7
+ data.tar.gz: a60009f01a762540a9e060f50645da3246c2b14dac51f4604256b296d3d232ba47d05b5c6bdf01f0c40c05f782515739b2452eae849b0afd8699751a7e9a97cb
@@ -72,6 +72,11 @@ class LogStash::Outputs::OpsGenie < LogStash::Outputs::Base
72
72
  # OpsGenie Logstash Integration API Key
73
73
  config :apiKey, :validate => :string, :required => true
74
74
 
75
+ # Proxy settings
76
+ config :proxy_address, :validate => :string, :required => false
77
+ config :proxy_port, :validate => :number, :required => false
78
+
79
+
75
80
  # Host of opsgenie api, normally you should not need to change this field.
76
81
  config :opsGenieBaseUrl, :validate => :string, :required => false, :default => 'https://api.opsgenie.com'
77
82
 
@@ -140,23 +145,23 @@ class LogStash::Outputs::OpsGenie < LogStash::Outputs::Base
140
145
 
141
146
  public
142
147
  def populateAliasOrId(event, params)
143
- alertAlias = event[@aliasAttribute] if event[@aliasAttribute]
148
+ alertAlias = event.get(@aliasAttribute) if event.get(@aliasAttribute)
144
149
  if alertAlias == nil then
145
- alertId = event[@alertIdAttribute] if event[@alertIdAttribute]
150
+ alertId = event.get(@alertIdAttribute) if event.get(@alertIdAttribute)
146
151
  if !(alertId == nil) then
147
152
  params['alertId'] = alertId;
148
153
  end
149
154
  else
150
155
  params['alias'] = alertAlias
151
156
  end
152
- end#def populateAliasOrId
157
+ end # def populateAliasOrId
153
158
 
154
159
  public
155
160
  def executePost(uri, params)
156
161
  if not uri == nil then
157
162
  @logger.info("Executing url #{uri}")
158
163
  url = URI(uri)
159
- http = Net::HTTP.new(url.host, url.port)
164
+ http = Net::HTTP.new(url.host, url.port, @proxy_address, @proxy_port)
160
165
  if url.scheme == 'https'
161
166
  http.use_ssl = true
162
167
  http.verify_mode = OpenSSL::SSL::VERIFY_NONE
@@ -168,19 +173,19 @@ class LogStash::Outputs::OpsGenie < LogStash::Outputs::Base
168
173
  body = JSON.parse(body)
169
174
  @logger.warn("Executed [#{uri}]. Response:[#{body}]")
170
175
  end
171
- end#def executePost
176
+ end # def executePost
172
177
 
173
178
  public
174
179
  def receive(event)
175
180
  return unless output?(event)
176
181
  @logger.info("processing #{event}")
177
- opsGenieAction = event[@actionAttribute] if event[@actionAttribute]
182
+ opsGenieAction = event.get(@actionAttribute) if event.get(@actionAttribute)
178
183
  if opsGenieAction then
179
184
  params = { :apiKey => @apiKey}
180
185
  case opsGenieAction.downcase
181
186
  when "create"
182
187
  uri = "#{@opsGenieBaseUrl}#{@createActionUrl}"
183
- params = populateCreateAlertContent(params,event)
188
+ params = populateCreateAlertContent(params, event)
184
189
  when "close"
185
190
  uri = "#{@opsGenieBaseUrl}#{@closeActionUrl}"
186
191
  when "acknowledge"
@@ -201,25 +206,25 @@ class LogStash::Outputs::OpsGenie < LogStash::Outputs::Base
201
206
  end # def receive
202
207
 
203
208
  private
204
- def populateCreateAlertContent(params,event)
205
- params['message'] = event[@messageAttribute] if event[@messageAttribute]
206
- params['teams'] = event[@teamsAttribute] if event[@teamsAttribute]
207
- params['description'] = event[@descriptionAttribute] if event[@descriptionAttribute]
208
- params['recipients'] = event[@recipientsAttribute] if event[@recipientsAttribute]
209
- params['actions'] = event[@actionsAttribute] if event[@actionsAttribute]
210
- params['tags'] = event[@tagsAttribute] if event[@tagsAttribute]
211
- params['entity'] = event[@entityAttribute] if event[@entityAttribute]
212
- params['details'] = event[@detailsAttribute] if event[@detailsAttribute]
209
+ def populateCreateAlertContent(params, event)
210
+ params['message'] = event.get(@messageAttribute) if event.get(@messageAttribute)
211
+ params['teams'] = event.get(@teamsAttribute) if event.get(@teamsAttribute)
212
+ params['description'] = event.get(@descriptionAttribute) if event.get(@descriptionAttribute)
213
+ params['recipients'] = event.get(@recipientsAttribute) if event.get(@recipientsAttribute)
214
+ params['actions'] = event.get(@actionsAttribute) if event.get(@actionsAttribute)
215
+ params['tags'] = event.get(@tagsAttribute) if event.get(@tagsAttribute)
216
+ params['entity'] = event.get(@entityAttribute) if event.get(@entityAttribute)
217
+ params['details'] = event.get(@detailsAttribute) if event.get(@detailsAttribute)
213
218
 
214
219
  return params
215
220
  end
216
221
 
217
222
  private
218
- def populateCommonContent(params,event)
223
+ def populateCommonContent(params, event)
219
224
  populateAliasOrId(event, params)
220
- params['source'] = event[@sourceAttribute] if event[@sourceAttribute]
221
- params['user'] = event[@userAttribute] if event[@userAttribute]
222
- params['note'] = event[@noteAttribute] if event[@noteAttribute]
225
+ params['source'] = event.get(@sourceAttribute) if event.get(@sourceAttribute)
226
+ params['user'] = event.get(@userAttribute) if event.get(@userAttribute)
227
+ params['note'] = event.get(@noteAttribute) if event.get(@noteAttribute)
223
228
  end
224
229
 
225
- end # class LogStash::Outputs::OpsGenie
230
+ end # class LogStash::Outputs::OpsGenie
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'logstash-output-opsgenie'
3
- s.version = '2.0.5'
3
+ s.version = '2.1.0'
4
4
  s.licenses = ["Apache License (2.0)"]
5
5
  s.summary = "This output Creates, Closes, Acknowledges alerts and Adds Note to alerts in OpsGenie."
6
6
  s.description = "This gem is a logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/plugin install gemname. This gem is not a stand-alone program"
@@ -5,7 +5,7 @@ require "logstash/event"
5
5
 
6
6
  describe LogStash::Outputs::OpsGenie do
7
7
 
8
- subject {LogStash::Outputs::OpsGenie.new( "apiKey" => "0ad18589-ccc4-4ea2-8899-ad2b662746ee" )}
8
+ subject {LogStash::Outputs::OpsGenie.new( "apiKey" => "my_api_key" )}
9
9
  let(:logger) { subject.logger}
10
10
 
11
11
  describe "receive message" do
metadata CHANGED
@@ -1,16 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-output-opsgenie
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.5
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Elastic
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-02-16 00:00:00.000000000 Z
11
+ date: 2017-07-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
+ name: logstash-core-plugin-api
14
15
  requirement: !ruby/object:Gem::Requirement
15
16
  requirements:
16
17
  - - '>='
@@ -19,9 +20,8 @@ dependencies:
19
20
  - - <=
20
21
  - !ruby/object:Gem::Version
21
22
  version: '2.99'
22
- name: logstash-core-plugin-api
23
- prerelease: false
24
23
  type: :runtime
24
+ prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - '>='
@@ -31,54 +31,56 @@ dependencies:
31
31
  - !ruby/object:Gem::Version
32
32
  version: '2.99'
33
33
  - !ruby/object:Gem::Dependency
34
+ name: logstash-codec-plain
34
35
  requirement: !ruby/object:Gem::Requirement
35
36
  requirements:
36
37
  - - '>='
37
38
  - !ruby/object:Gem::Version
38
39
  version: '0'
39
- name: logstash-codec-plain
40
- prerelease: false
41
40
  type: :runtime
41
+ prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - '>='
45
45
  - !ruby/object:Gem::Version
46
46
  version: '0'
47
47
  - !ruby/object:Gem::Dependency
48
+ name: logstash-devutils
48
49
  requirement: !ruby/object:Gem::Requirement
49
50
  requirements:
50
51
  - - '>='
51
52
  - !ruby/object:Gem::Version
52
53
  version: '0'
53
- name: logstash-devutils
54
- prerelease: false
55
54
  type: :development
55
+ prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - '>='
59
59
  - !ruby/object:Gem::Version
60
60
  version: '0'
61
- description: This gem is a logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/plugin install gemname. This gem is not a stand-alone program
61
+ description: This gem is a logstash plugin required to be installed on top of the
62
+ Logstash core pipeline using $LS_HOME/bin/plugin install gemname. This gem is not
63
+ a stand-alone program
62
64
  email: info@elastic.co
63
65
  executables: []
64
66
  extensions: []
65
67
  extra_rdoc_files: []
66
68
  files:
69
+ - lib/logstash/outputs/opsgenie.rb
70
+ - spec/outputs/opsgenie_spec.rb
71
+ - logstash-output-opsgenie.gemspec
67
72
  - CHANGELOG.md
73
+ - README.md
68
74
  - Gemfile
69
75
  - LICENSE
70
76
  - NOTICE.TXT
71
- - README.md
72
- - lib/logstash/outputs/opsgenie.rb
73
- - logstash-output-opsgenie.gemspec
74
- - spec/outputs/opsgenie_spec.rb
75
77
  homepage: http://www.elastic.co/guide/en/logstash/current/index.html
76
78
  licenses:
77
79
  - Apache License (2.0)
78
80
  metadata:
79
81
  logstash_plugin: 'true'
80
82
  logstash_group: output
81
- post_install_message:
83
+ post_install_message:
82
84
  rdoc_options: []
83
85
  require_paths:
84
86
  - lib
@@ -93,10 +95,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
93
95
  - !ruby/object:Gem::Version
94
96
  version: '0'
95
97
  requirements: []
96
- rubyforge_project:
97
- rubygems_version: 2.4.5
98
- signing_key:
98
+ rubyforge_project:
99
+ rubygems_version: 2.0.14.1
100
+ signing_key:
99
101
  specification_version: 4
100
- summary: This output Creates, Closes, Acknowledges alerts and Adds Note to alerts in OpsGenie.
102
+ summary: This output Creates, Closes, Acknowledges alerts and Adds Note to alerts
103
+ in OpsGenie.
101
104
  test_files:
102
105
  - spec/outputs/opsgenie_spec.rb