sensu-extensions-snmp-trap 0.0.3 → 0.0.4

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: 6c324a273c2cbcd929a2d5adc6ee9d3deeca3ed5
4
- data.tar.gz: 827315e0fccf9bd178b95259cd48bf5c9a65504e
3
+ metadata.gz: 67db57e2c3333a733c5d28736370d32ce5cff102
4
+ data.tar.gz: 76ebc69fd36070ae860ec4369861e5f466284acd
5
5
  SHA512:
6
- metadata.gz: a6ef00a8e398ba89fbd9c81678a9a215decfb24b468857aca6af646cbffaf75aeb17f8cace1721b12930dec1773c89b6792ded54f0c600be666c31ef09877f25
7
- data.tar.gz: df6375c4f06dcc716e841713e13cc873e21d62a5e84408f06c72b18ea9bd762baefca927c1dc69658346ab6d48ce69a9440f775d78d4d72d717ca6f53a00a0e5
6
+ metadata.gz: 5fb80cf8435b2edde623094899e31499eb86a4150dc63636059009e10e914962e498d5a8253c8644884dc45f8283cb376a647830e264d9e8f8394c8124a0c1f6
7
+ data.tar.gz: 98c7783333e875b4bed00361be0fcbdde3b33aaec2e4b7ae240248f7af13b6c9c00db034f9158fead2d77abc142a4d4a8beda380ece2800c8a4280375a65da67
@@ -1,6 +1,6 @@
1
1
  require "sensu/extension"
2
+ require "sensu/extensions/snmp-trap/snmp-patch"
2
3
  require "thread"
3
- require "snmp"
4
4
 
5
5
  module Sensu
6
6
  module Extension
@@ -0,0 +1,49 @@
1
+ require "snmp"
2
+
3
+ module SNMP
4
+ class MIB
5
+ def warn(message)
6
+ @sensu_logger ||= Sensu::Logger.get
7
+ @sensu_logger.warn("snmp trap check extension mib warning", :warning => message.downcase)
8
+ end
9
+
10
+ class << self
11
+ def warn(message)
12
+ @sensu_logger ||= Sensu::Logger.get
13
+ @sensu_logger.warn("snmp trap check extension mib warning", :warning => message.downcase)
14
+ end
15
+
16
+ def import_module(module_file, mib_dir=DEFAULT_MIB_PATH)
17
+ raise "smidump tool must be installed" unless import_supported?
18
+ FileUtils.makedirs mib_dir
19
+ # PATCH: redirect STDERR to /dev/null
20
+ mib_hash = `smidump -k -f python #{module_file} 2>/dev/null`
21
+ mib = eval_mib_data(mib_hash)
22
+ if mib
23
+ module_name = mib["moduleName"]
24
+ raise "#{module_file}: invalid file format; no module name" unless module_name
25
+ if mib["nodes"]
26
+ oid_hash = {}
27
+ mib["nodes"].each { |key, value| oid_hash[key] = value["oid"] }
28
+ if mib["notifications"]
29
+ mib["notifications"].each { |key, value| oid_hash[key] = value["oid"] }
30
+ end
31
+ File.open(module_file_name(module_name, mib_dir), 'w') do |file|
32
+ YAML.dump(oid_hash, file)
33
+ file.puts
34
+ end
35
+ module_name
36
+ else
37
+ # PATCH: downcase and removed ***
38
+ warn "no nodes defined in: #{module_file}"
39
+ nil
40
+ end
41
+ else
42
+ # PATCH: downcase and removed ***
43
+ warn "import failed for: #{module_file}"
44
+ nil
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sensu-extensions-snmp-trap
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sensu-Extensions and contributors
@@ -119,6 +119,7 @@ files:
119
119
  - LICENSE
120
120
  - README.md
121
121
  - lib/sensu/extensions/snmp-trap.rb
122
+ - lib/sensu/extensions/snmp-trap/snmp-patch.rb
122
123
  homepage: https://github.com/sensu-extensions/sensu-extensions-snmp-trap
123
124
  licenses: []
124
125
  metadata: {}