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 +4 -4
- data/lib/sensu/extensions/snmp-trap.rb +1 -1
- data/lib/sensu/extensions/snmp-trap/snmp-patch.rb +49 -0
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 67db57e2c3333a733c5d28736370d32ce5cff102
|
4
|
+
data.tar.gz: 76ebc69fd36070ae860ec4369861e5f466284acd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5fb80cf8435b2edde623094899e31499eb86a4150dc63636059009e10e914962e498d5a8253c8644884dc45f8283cb376a647830e264d9e8f8394c8124a0c1f6
|
7
|
+
data.tar.gz: 98c7783333e875b4bed00361be0fcbdde3b33aaec2e4b7ae240248f7af13b6c9c00db034f9158fead2d77abc142a4d4a8beda380ece2800c8a4280375a65da67
|
@@ -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.
|
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: {}
|