Feature to gather SNMP Walk, use as Pseudo Device, and Browse Objects
* fix anomalous name * add gather worker * fix encoding of binary storage * store results back to job * now parsing mbis report to translate * fix the broken report parser * rename gather to snapshot * implement walk code copied from SNMP::Info * can now bulkwalk and parse mibs report and store resolved walk in cache * add func/glob aliasing broken * better aliasing * implement aliasing from globals and funcs * fix regexp for matching netdisco-mibs report * fake cache entry for all ND2 methods called, add comments * also save to logs/snapshots/IP * add doc for netdisco-do * add is_pseudo column to device table * support for loading cache for pseudo devices * check for hrSystemUptime as well as sysUpTime for snmp connect * display pseudo devices with yellow pill for name * color all cells for layers for pseudo * no need to b64 encode binary data in scalars as we b64 whole thing after * tweaked uptime check * store snapshot to database instead of Job * expose snapshots in device details tab * small ux improvements on snap download * fixes for errors in subnet mask searching * hide snapshot management for pseudo devices * update to use new netdisco-mibs object cache * update for new format oids file * start of work on loading walk into db for browsing * store values and meta * add auto increment col and oid index to browser * start web plugin for browser * add virtual search for oid children * have all oid in separte table (60 seconds load on my laptop) * rename table and add relation * store oid as int array * fix sql for children * make jstree start working * working very slow tree expand * fix to work when first displaying tree * store both oid and oid_parts * simplify SQL to speed up (more complicated perl) * fix sql bug, add better index, prettify tree * render the snmp node detail * add node template, make scrollable, pretty print data values (insecure) * store munge hint * some dubious code to munge the data * make sure to filter by IP on device_browser * make safer the rendering of value data (but need to come back to key ordering) * fix sorting on object values * limit the opening of child nodes to keep response good and unclutter * factor out the munge and make safer * reject unknown mungers * show the munger and option (not working) to change * additional js for munge select * complete custom munge * change so that saving to database is only at CLI and on request * hide snmp tab if no browser rows in the db * add helpful message when no browser rows for the device * stub handler for search and add recurse control * working search * minor ui fixes * implement typeahead for leaf search * limit rows in typeahead * make sure device_browser is visited in delete and renumber * add requirements for this branch * update manifest * make sure node search and typeahead are restricted to current device only
This commit is contained in:
@@ -0,0 +1,9 @@
|
||||
BEGIN;
|
||||
|
||||
ALTER TABLE device ADD COLUMN "is_pseudo" boolean DEFAULT false;
|
||||
|
||||
UPDATE device SET is_pseudo = false;
|
||||
|
||||
UPDATE device SET is_pseudo = true WHERE vendor = 'netdisco';
|
||||
|
||||
COMMIT;
|
||||
@@ -0,0 +1,9 @@
|
||||
BEGIN;
|
||||
|
||||
CREATE TABLE device_snapshot (
|
||||
"ip" "inet",
|
||||
"cache" "text",
|
||||
PRIMARY KEY ("ip")
|
||||
);
|
||||
|
||||
COMMIT;
|
||||
17
share/schema_versions/App-Netdisco-DB-68-69-PostgreSQL.sql
Normal file
17
share/schema_versions/App-Netdisco-DB-68-69-PostgreSQL.sql
Normal file
@@ -0,0 +1,17 @@
|
||||
BEGIN;
|
||||
|
||||
CREATE TABLE device_browser (
|
||||
"ip" "inet" NOT NULL,
|
||||
"oid" "text" NOT NULL,
|
||||
"oid_parts" integer[] NOT NULL,
|
||||
"leaf" "text" NOT NULL,
|
||||
"munge" "text",
|
||||
"value" "text",
|
||||
PRIMARY KEY ("ip", "oid")
|
||||
);
|
||||
|
||||
CREATE INDEX idx_device_browser_ip_leaf ON device_browser(ip, leaf);
|
||||
|
||||
CREATE INDEX idx_device_browser_oid__pattern on device_browser (oid text_pattern_ops);
|
||||
|
||||
COMMIT;
|
||||
16
share/schema_versions/App-Netdisco-DB-69-70-PostgreSQL.sql
Normal file
16
share/schema_versions/App-Netdisco-DB-69-70-PostgreSQL.sql
Normal file
@@ -0,0 +1,16 @@
|
||||
BEGIN;
|
||||
|
||||
CREATE TABLE snmp_object (
|
||||
"oid" "text" NOT NULL,
|
||||
"oid_parts" integer[] NOT NULL,
|
||||
"mib" "text" NOT NULL,
|
||||
"leaf" "text" NOT NULL,
|
||||
"type" "text",
|
||||
"access" "text",
|
||||
"index" text[] DEFAULT '{}',
|
||||
PRIMARY KEY ("oid")
|
||||
);
|
||||
|
||||
CREATE INDEX idx_snmp_object_oid__pattern on snmp_object (oid text_pattern_ops);
|
||||
|
||||
COMMIT;
|
||||
Reference in New Issue
Block a user