sensu-extensions-snmp-trap 0.0.3 → 0.0.4

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