mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
* Definition of a new SLA module to migrate from old cisco-sla and support other devices : Juniper RPM and Huawei * Change wrong description name of module SLA * Re implementing Juniper RPM support in a new module Slas (Cisco SLA to be added) * Added Graphs for Juniper RPM types * Tried to make discover and poller generic : to handle Cisco SLA and Juniper RPM and others * Reimplementing Cisco SLA in the new Sla module and adding condition to manage both SLA and RPM * Definition of a new SLA module to migrate from old cisco-sla and support other devices : Juniper RPM and Huawei * Change wrong description name of module SLA * Re implementing Juniper RPM support in a new module Slas (Cisco SLA to be added) * Added Graphs for Juniper RPM types * Tried to make discover and poller generic : to handle Cisco SLA and Juniper RPM and others * Reimplementing Cisco SLA in the new Sla module and adding condition to manage both SLA and RPM * Fix some error due to Elequent object replacing SQL request * Fixing indentation * Fixed continuous integrations errors * Fixed continuous integrations errors part 2 * Fixed continuous integrations errors part 3 : missing last new lines * Fixed PHP Static Analysis checks * Fixed continuous integrations errors part 4 * Fixed PHP Static Analysis checks part 2 * Trying to convert existing cisco-sla to new slas one * Trying to add slas to fix test failure (I am pretty sure this is not enough but I don't know how to do it) * Switching old cisco-sla module declaration to new slas module in concerned OS files * Fixing wrong sla module name instead of slas in concerned OS files * Fixing wrong module name sla changed to slas (as is it in power-supplies reimplementation) * Fixing some warnings shown in the Inspection CI but skipping some that are already present * Adding tests files from virtual Juniper VMX and adding slas modules in /tests/module_tables * Adding missing SNMP data files * Module Slas modifications to use inheritance * Fix CI errors * Fix CI errors part 2 * Fix CI errors part 3 * Fixing no value on RTT graphs * Fixing only last SLA to be polled : problem with loops * Fix CI errors part 4 * Optimizing a little the Juniper RPM poller part I wanted to query only the required values but it is complicated to query a specific OID as Cisco-SLA does because the owner and tag are hardcoded in ASCII decimal with strange values. So I use the function snmp_walk which gets the whole OID values in text. And I index the Juniper MIB (because we want multiple values). But I changed the DISMAN MIB requests to get only what we want. * Fix CI errors * Fix CI errors part 2 * Fix CI errors part 3 * Fixing PHP Static Analysis error 2/4 * Fix CI errors * Implementing Interfaces to fix some errors that occurs with inheritance * Adding missing Interfaces files * Moving generic Sla discovery code into Junos Class * Fix CI errors * Fix CI errors part 2 * Fixing missing definition of SlaDiscovery in Cisco shared Class * Fixing missing import for Illuminate\Database\Eloquent\Collection * Fix CI errors part 3 * Fix PHP Static Analysis error * change type strings to use translations instead of config * IOSXR test data * remove test data garbage * simplify discovery * Fix style * Updating test files to adapt mock sla_nr ID starting from 0 and not 1 : CI tests should pass * clean up polling add rtt field in the db cisco icmpjitter seems to have confused a lot of values * rtt on discovery * use crc32 for consistent sla_nr values * revert snmprec * Fix style * correct schema Co-authored-by: Tony Murray <murraytony@gmail.com>
543 lines
15 KiB
JSON
543 lines
15 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/schema#",
|
|
"type": "object",
|
|
"properties": {
|
|
"os": {
|
|
"type": "string"
|
|
},
|
|
"text": {
|
|
"type": "string"
|
|
},
|
|
"over": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"graph": {
|
|
"type": "string"
|
|
},
|
|
"text": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["graph", "text"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"type": {
|
|
"type": "string"
|
|
},
|
|
"discovery": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sysObjectID": {"$ref": "#/definitions/oid_group"},
|
|
"sysObjectID_except": {"$ref": "#/definitions/oid_group"},
|
|
"sysObjectID_regex": {"$ref": "#/definitions/regex_group"},
|
|
"sysObjectID_regex_except": {"$ref": "#/definitions/regex_group"},
|
|
"sysDescr": {"$ref": "#/definitions/string_group"},
|
|
"sysDescr_except": {"$ref": "#/definitions/string_group"},
|
|
"sysDescr_regex": {"$ref": "#/definitions/regex_group"},
|
|
"sysDescr_regex_except": {"$ref": "#/definitions/regex_group"},
|
|
"snmpget": {"$ref": "#/definitions/snmpget"},
|
|
"snmpget_except": {"$ref": "#/definitions/snmpget"},
|
|
"snmpwalk": {"$ref": "#/definitions/snmpget"}
|
|
},
|
|
"minProperties": 1,
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"group": {
|
|
"type": "string"
|
|
},
|
|
"icon": {
|
|
"type": "string"
|
|
},
|
|
"config_highlighting": {
|
|
"type": "string"
|
|
},
|
|
"poller_modules": {
|
|
"type": "object",
|
|
"properties": {
|
|
"cisco-cbqos": {
|
|
"type": "boolean"
|
|
},
|
|
"cisco-qfp": {
|
|
"type": "boolean"
|
|
},
|
|
"cisco-cef": {
|
|
"type": "boolean"
|
|
},
|
|
"cisco-mac-accounting": {
|
|
"type": "boolean"
|
|
},
|
|
"cisco-voice": {
|
|
"type": "boolean"
|
|
},
|
|
"cisco-remote-access-monitor": {
|
|
"type": "boolean"
|
|
},
|
|
"slas": {
|
|
"type": "boolean"
|
|
},
|
|
"cisco-ipsec-flow-monitor": {
|
|
"type": "boolean"
|
|
},
|
|
"cipsec-tunnels": {
|
|
"type": "boolean"
|
|
},
|
|
"cisco-otv": {
|
|
"type": "boolean"
|
|
},
|
|
"cisco-ace-serverfarms": {
|
|
"type": "boolean"
|
|
},
|
|
"cisco-ace-loadbalancer": {
|
|
"type": "boolean"
|
|
},
|
|
"wifi": {
|
|
"type": "boolean"
|
|
},
|
|
"ipmi": {
|
|
"type": "boolean"
|
|
},
|
|
"entity-physical": {
|
|
"type": "boolean"
|
|
},
|
|
"processors": {
|
|
"type": "boolean"
|
|
},
|
|
"mempools": {
|
|
"type": "boolean"
|
|
},
|
|
"storage": {
|
|
"type": "boolean"
|
|
},
|
|
"netstats": {
|
|
"type": "boolean"
|
|
},
|
|
"hr-mib": {
|
|
"type": "boolean"
|
|
},
|
|
"ucd-mib": {
|
|
"type": "boolean"
|
|
},
|
|
"ipSystemStats": {
|
|
"type": "boolean"
|
|
},
|
|
"ports": {
|
|
"type": "boolean"
|
|
},
|
|
"bgp-peers": {
|
|
"type": "boolean"
|
|
},
|
|
"ospf": {
|
|
"type": "boolean"
|
|
},
|
|
"ucd-diskio": {
|
|
"type": "boolean"
|
|
},
|
|
"sensors": {
|
|
"type": "boolean"
|
|
},
|
|
"services": {
|
|
"type": "boolean"
|
|
},
|
|
"stp": {
|
|
"type": "boolean"
|
|
},
|
|
"ntp": {
|
|
"type": "boolean"
|
|
},
|
|
"wireless": {
|
|
"type": "boolean"
|
|
},
|
|
"fdb-table": {
|
|
"type": "boolean"
|
|
},
|
|
"applications": {
|
|
"type": "boolean"
|
|
},
|
|
"aruba-controller": {
|
|
"type": "boolean"
|
|
},
|
|
"cisco-asa-firewall": {
|
|
"type": "boolean"
|
|
},
|
|
"mib": {
|
|
"type": "boolean"
|
|
},
|
|
"printer-supplies": {
|
|
"type": "boolean"
|
|
},
|
|
"cisco-vpdn": {
|
|
"type": "boolean"
|
|
},
|
|
"libvirt-vminfo": {
|
|
"type": "boolean"
|
|
},
|
|
"vmware-vminfo": {
|
|
"type": "boolean"
|
|
},
|
|
"vlans": {
|
|
"type": "boolean"
|
|
},
|
|
"arp-table": {
|
|
"type": "boolean"
|
|
},
|
|
"mef": {
|
|
"type": "boolean"
|
|
},
|
|
"cisco-vrf-lite": {
|
|
"type": "boolean"
|
|
},
|
|
"tnms-nbi": {
|
|
"type": "boolean"
|
|
},
|
|
"loadbalancers": {
|
|
"type": "boolean"
|
|
},
|
|
"junose-atm-vp": {
|
|
"type": "boolean"
|
|
},
|
|
"mpls": {
|
|
"type": "boolean"
|
|
},
|
|
"netscaler-vsvr": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"discovery_modules": {
|
|
"type": "object",
|
|
"properties": {
|
|
"cisco-qfp": {
|
|
"type": "boolean"
|
|
},
|
|
"cisco-cef": {
|
|
"type": "boolean"
|
|
},
|
|
"slas": {
|
|
"type": "boolean"
|
|
},
|
|
"cisco-mac-accounting": {
|
|
"type": "boolean"
|
|
},
|
|
"cisco-otv": {
|
|
"type": "boolean"
|
|
},
|
|
"cisco-pw": {
|
|
"type": "boolean"
|
|
},
|
|
"vrf": {
|
|
"type": "boolean"
|
|
},
|
|
"cisco-vrf-lite": {
|
|
"type": "boolean"
|
|
},
|
|
"ports": {
|
|
"type": "boolean"
|
|
},
|
|
"ports-stack": {
|
|
"type": "boolean"
|
|
},
|
|
"entity-physical": {
|
|
"type": "boolean"
|
|
},
|
|
"processors": {
|
|
"type": "boolean"
|
|
},
|
|
"mempools": {
|
|
"type": "boolean"
|
|
},
|
|
"storage": {
|
|
"type": "boolean"
|
|
},
|
|
"hr-device": {
|
|
"type": "boolean"
|
|
},
|
|
"discovery-protocols": {
|
|
"type": "boolean"
|
|
},
|
|
"bgp-peers": {
|
|
"type": "boolean"
|
|
},
|
|
"vlans": {
|
|
"type": "boolean"
|
|
},
|
|
"ucd-diskio": {
|
|
"type": "boolean"
|
|
},
|
|
"services": {
|
|
"type": "boolean"
|
|
},
|
|
"stp": {
|
|
"type": "boolean"
|
|
},
|
|
"ntp": {
|
|
"type": "boolean"
|
|
},
|
|
"wireless": {
|
|
"type": "boolean"
|
|
},
|
|
"fdb-table": {
|
|
"type": "boolean"
|
|
},
|
|
"arp-table": {
|
|
"type": "boolean"
|
|
},
|
|
"printer-supplies": {
|
|
"type": "boolean"
|
|
},
|
|
"ipv4-addresses": {
|
|
"type": "boolean"
|
|
},
|
|
"ipv6-addresses": {
|
|
"type": "boolean"
|
|
},
|
|
"charge": {
|
|
"type": "boolean"
|
|
},
|
|
"ospf": {
|
|
"type": "boolean"
|
|
},
|
|
"ucd-mib": {
|
|
"type": "boolean"
|
|
},
|
|
"ipmi": {
|
|
"type": "boolean"
|
|
},
|
|
"mef": {
|
|
"type": "boolean"
|
|
},
|
|
"ipv6-address": {
|
|
"type": "boolean"
|
|
},
|
|
"loadbalancers": {
|
|
"type": "boolean"
|
|
},
|
|
"applications": {
|
|
"type": "boolean"
|
|
},
|
|
"sensors": {
|
|
"type": "boolean"
|
|
},
|
|
"diskio": {
|
|
"type": "boolean"
|
|
},
|
|
"junose-atm-vp": {
|
|
"type": "boolean"
|
|
},
|
|
"vmware-vminfo": {
|
|
"type": "boolean"
|
|
},
|
|
"libvirt-vminfo": {
|
|
"type": "boolean"
|
|
},
|
|
"mpls": {
|
|
"type": "boolean"
|
|
},
|
|
"ip6-addresses": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"ifname": {
|
|
"type": "boolean"
|
|
},
|
|
"mib_dir": {
|
|
"type": "string"
|
|
},
|
|
"good_if": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"nobulk": {
|
|
"type": "boolean"
|
|
},
|
|
"snmp_max_oid": {
|
|
"type": "string"
|
|
},
|
|
"ifXmcbc": {
|
|
"type": "boolean"
|
|
},
|
|
"rfc1628_compat": {
|
|
"type": "boolean"
|
|
},
|
|
"empty_ifdescr": {
|
|
"type": "boolean"
|
|
},
|
|
"bad_if": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"bad_ifXEntry": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"bad_iftype": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"bad_ifoperstatus": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"processor_stacked": {
|
|
"type": "boolean"
|
|
},
|
|
"bad_ifname_regexp": {"$ref": "#/definitions/regex_group"},
|
|
"bad_if_regexp": {"$ref": "#/definitions/regex_group"},
|
|
"bad_snmpEngineTime": {
|
|
"type": "boolean"
|
|
},
|
|
"bad_uptime": {
|
|
"type": "boolean"
|
|
},
|
|
"ignore_mount_string": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"bad_hrSystemUptime": {
|
|
"type": "boolean"
|
|
},
|
|
"icons": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"required": [
|
|
"os",
|
|
"text",
|
|
"type",
|
|
"discovery"
|
|
],
|
|
"definitions": {
|
|
"string_group": {
|
|
"oneOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"oid_group": {
|
|
"oneOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^(\\.\\d+)+\\.?$"
|
|
},
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"pattern": "^(\\.\\d+)+\\.?$"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"regex_group": {
|
|
"oneOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"snmpget": {
|
|
"type": "object",
|
|
"properties": {
|
|
"oid": {
|
|
"type": "string"
|
|
},
|
|
"op": {
|
|
"$ref": "#/definitions/comparison"
|
|
},
|
|
"value": {
|
|
"anyOf": [
|
|
{
|
|
"type": [
|
|
"boolean",
|
|
"string"
|
|
]
|
|
},
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"mib": {
|
|
"type": "string"
|
|
},
|
|
"mib_dir": {
|
|
"type": "string"
|
|
},
|
|
"options": {
|
|
"type": "string",
|
|
"pattern": "^-"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"required": [
|
|
"oid",
|
|
"value"
|
|
]
|
|
},
|
|
"comparison": {
|
|
"type": "string",
|
|
"enum": [
|
|
"=",
|
|
"!=",
|
|
"==",
|
|
"!==",
|
|
"<=",
|
|
">=",
|
|
"<",
|
|
">",
|
|
"starts",
|
|
"ends",
|
|
"contains",
|
|
"regex",
|
|
"not_starts",
|
|
"not_ends",
|
|
"not_contains",
|
|
"not_regex",
|
|
"in_array",
|
|
"not_in_array",
|
|
"exists"
|
|
]
|
|
}
|
|
}
|
|
}
|