logstash-output-opsgenie 2.0.5 → 2.1.0

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: 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