sensu-extensions-snmp-trap 0.0.13 → 0.0.14
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 +23 -22
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9f6c37e7057ea6418096af61a7d5b28a8d1ab57f
|
4
|
+
data.tar.gz: 334392511173b5aa5b8857f077727dd2a977a6f4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c802a393ef637b9a3193d6dec4c9910c20fe2ff3561bbfac529e6628f3684daac8394d168540b7f816f7a899d452f8aa3586a96307d71ee48b1bd3168045a093
|
7
|
+
data.tar.gz: bab934bd6a75637532f129a7b27b9aaac36798e01444409c9cb300541a4171082bf85e9561604acf9ba36097485e08d2a4651cc4708acae5c6164acea2fca0e6
|
@@ -68,22 +68,22 @@ module Sensu
|
|
68
68
|
|
69
69
|
def determine_mib_preload(module_name)
|
70
70
|
preload = []
|
71
|
-
if @
|
72
|
-
@
|
73
|
-
if @
|
74
|
-
preload << @
|
71
|
+
if @mibs_map[module_name]
|
72
|
+
@mibs_map[module_name][:imports].each do |import|
|
73
|
+
if @mibs_map[import]
|
74
|
+
preload << @mibs_map[import][:mib_file]
|
75
75
|
end
|
76
76
|
preload << determine_mib_preload(import)
|
77
77
|
end
|
78
78
|
else
|
79
|
-
@logger.
|
79
|
+
@logger.warn("snmp trap check extension unknown mib preload module", :module_name => module_name)
|
80
80
|
end
|
81
81
|
preload.flatten
|
82
82
|
end
|
83
83
|
|
84
|
-
def
|
85
|
-
@logger.
|
86
|
-
@
|
84
|
+
def create_mibs_map!
|
85
|
+
@logger.info("snmp trap check extension creating mibs map", :mibs_dir => options[:mibs_dir])
|
86
|
+
@mibs_map = {}
|
87
87
|
Dir.glob(File.join(options[:mibs_dir], "*")).each do |mib_file|
|
88
88
|
mib_contents = IO.read(mib_file)
|
89
89
|
module_name = mib_contents.scan(/([\w-]+)\s+DEFINITIONS\s+::=\s+BEGIN/).flatten.first
|
@@ -91,27 +91,23 @@ module Sensu
|
|
91
91
|
:mib_file => mib_file,
|
92
92
|
:imports => mib_contents.scan(/FROM\s+([\w-]+)/).flatten
|
93
93
|
}
|
94
|
-
if @
|
95
|
-
@logger.
|
94
|
+
if @mibs_map.has_key?(module_name)
|
95
|
+
@logger.warn("snmp trap check extension overriding mib map entry", {
|
96
96
|
:module_name => module_name,
|
97
97
|
:details => details
|
98
98
|
})
|
99
99
|
end
|
100
|
-
@
|
100
|
+
@mibs_map[module_name] = details
|
101
101
|
end
|
102
|
-
@
|
103
|
-
@
|
102
|
+
@mibs_map.each_key do |module_name|
|
103
|
+
@mibs_map[module_name][:preload] = determine_mib_preload(module_name)
|
104
104
|
end
|
105
|
-
|
106
|
-
@mib_map
|
105
|
+
@mibs_map
|
107
106
|
end
|
108
107
|
|
109
|
-
def
|
110
|
-
@logger.
|
111
|
-
|
112
|
-
:imported_dir => options[:imported_dir]
|
113
|
-
})
|
114
|
-
@mib_map.each do |module_name, details|
|
108
|
+
def import_mibs!
|
109
|
+
@logger.info("snmp trap check extension importing mibs", :mibs_dir => options[:mibs_dir])
|
110
|
+
@mibs_map.each do |module_name, details|
|
115
111
|
@logger.debug("snmp trap check extension importing mib", {
|
116
112
|
:module_name => module_name,
|
117
113
|
:details => details
|
@@ -136,6 +132,10 @@ module Sensu
|
|
136
132
|
})
|
137
133
|
end
|
138
134
|
end
|
135
|
+
end
|
136
|
+
|
137
|
+
def load_mibs!
|
138
|
+
@logger.info("snmp trap check extension loading mibs", :imported_dir => options[:imported_dir])
|
139
139
|
@mibs = SNMP::MIB.new
|
140
140
|
@logger.debug("snmp trap check extension loading mibs")
|
141
141
|
SNMP::MIB.list_imported(/.*/, SNMP::MIB::DEFAULT_MIB_PATH).each do |module_name|
|
@@ -212,7 +212,8 @@ module Sensu
|
|
212
212
|
|
213
213
|
def start_trap_processor!
|
214
214
|
@processor = Thread.new do
|
215
|
-
|
215
|
+
create_mibs_map!
|
216
|
+
import_mibs!
|
216
217
|
load_mibs!
|
217
218
|
loop do
|
218
219
|
process_trap(@traps.pop)
|