sensu-extensions-snmp-trap 0.0.16 → 0.0.17
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 +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
|