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 +4 -4
- data/lib/logstash/outputs/opsgenie.rb +26 -21
- data/logstash-output-opsgenie.gemspec +1 -1
- data/spec/outputs/opsgenie_spec.rb +1 -1
- metadata +22 -19
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2ee26d60c05c3c473e778354fa9ec42a40b5fe33
|
4
|
+
data.tar.gz: 2bc3a2b1db6804848bf87b02773aca6a4e9b6abf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
148
|
+
alertAlias = event.get(@aliasAttribute) if event.get(@aliasAttribute)
|
144
149
|
if alertAlias == nil then
|
145
|
-
alertId = event
|
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
|
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
|
206
|
-
params['teams'] = event
|
207
|
-
params['description'] = event
|
208
|
-
params['recipients'] = event
|
209
|
-
params['actions'] = event
|
210
|
-
params['tags'] = event
|
211
|
-
params['entity'] = event
|
212
|
-
params['details'] = event
|
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
|
221
|
-
params['user'] = event
|
222
|
-
params['note'] = event
|
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
|
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" => "
|
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
|
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-
|
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
|
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.
|
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
|
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
|