sensu-extensions-snmp-trap 0.0.16 → 0.0.17
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/sensu/extensions/snmp-trap.rb +20 -21
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8890629f1fedb002fc46d386528bb9de7465895d
|
4
|
+
data.tar.gz: 1a0795a4bd1fa1205cc0548abb2bec16a9a14086
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a86a80855366388b84a060cb1a88fc1cfa1c236f0de69ede1fb605ff071466d22c2ddecbacfd710f23aa9e7d4db5f08d9d773f832414d6125ffe4f70e08b7776
|
7
|
+
data.tar.gz: b54cf90420362077e0c01417311bdf0f5cb88662bf2f89022fddeaf1a214f97fd306c9a4ee2c4a6ab5c993d81d43f6dcab324b1f1ca8b6369240f79de49f0f3e
|
@@ -187,38 +187,37 @@ module Sensu
|
|
187
187
|
end
|
188
188
|
end
|
189
189
|
|
190
|
-
def trap_varbind_list(trap)
|
191
|
-
trap.varbind_list.map { |varbind|
|
192
|
-
begin
|
193
|
-
symbolic_name = @mibs.name(varbind.name.to_oid)
|
194
|
-
"#{symbolic_name} -> #{varbind.value}"
|
195
|
-
rescue
|
196
|
-
"#{varbind.name} -> #{varbind.value}"
|
197
|
-
end
|
198
|
-
}.join(" | ")
|
199
|
-
end
|
200
|
-
|
201
190
|
def process_trap(trap)
|
202
191
|
@logger.debug("snmp trap check extension processing a v2 trap")
|
203
192
|
result = {
|
204
193
|
:source => determine_hostname(trap.source_ip),
|
205
|
-
:handlers => options[:handlers]
|
194
|
+
:handlers => options[:handlers],
|
195
|
+
:snmp_trap => {}
|
206
196
|
}
|
207
197
|
trap.varbind_list.each do |varbind|
|
208
198
|
symbolic_name = @mibs.name(varbind.name.to_oid)
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
199
|
+
type_conversion = RUBY_ASN1_MAP[varbind.value.asn1_type]
|
200
|
+
if type_conversion
|
201
|
+
value = varbind.value.send(type_conversion)
|
202
|
+
result[:snmp_trap][symbolic_name] = value
|
203
|
+
mapping = RESULT_MAP.detect do |mapping|
|
204
|
+
symbolic_name =~ mapping.first
|
205
|
+
end
|
206
|
+
if mapping && !result[mapping.last]
|
207
|
+
type_conversion = RUBY_ASN1_MAP[varbind.value.asn1_type]
|
208
|
+
result[mapping.last] = value
|
216
209
|
end
|
210
|
+
else
|
211
|
+
@logger.error("snmp trap check extension failed to convert varbind", {
|
212
|
+
:symbolic_name => symbolic_name,
|
213
|
+
:asn1_type => varbind.value.asn1_type,
|
214
|
+
:raw_value => varbind.value
|
215
|
+
})
|
217
216
|
end
|
218
217
|
end
|
219
218
|
result[:name] ||= determine_trap_oid(trap)
|
220
|
-
result[:output] ||=
|
221
|
-
result[:status] ||=
|
219
|
+
result[:output] ||= "received snmp trap"
|
220
|
+
result[:status] ||= 0
|
222
221
|
send_result(result)
|
223
222
|
end
|
224
223
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sensu-extensions-snmp-trap
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.17
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sensu-Extensions and contributors
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-11-
|
11
|
+
date: 2016-11-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: sensu-extension
|