Files
librenms-librenms/misc/os_schema.json

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

595 lines
16 KiB
JSON
Raw Normal View History

{
"$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"
},
New module add juniper rpm support + reimplementation of cisco-sla module (#12799) * 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>
2021-06-11 20:48:33 +02:00
"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"
},
"entity-state": {
"type": "boolean"
},
"ipmi": {
"type": "boolean"
},
"isis": {
"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"
},
2020-05-02 04:07:30 +01:00
"sensors": {
"type": "boolean"
},
"services": {
"type": "boolean"
},
"route": {
"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"
},
"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"
Migrate xDSL code to module, and add support for VDSL2 MIB (#14207) * use component to discover if xDSL polling is needed use component to discover if xDSL polling is needed * Components OK, Polling in correct files, no DB for VDSL * GUI GUI_suite * per port as well * rename * interface listing * draytek_snmpsim * fix arraymerge fix names and max value * schema schema style * remove one dbFetchRows remove 2x dbFetchCell style style remove Legacy dbFetchRow tests tests eloquent more eloquent more eloquent one more gone * fix properties access eloquent_insert_update style tests tests tests tests * tests tests tests * adslLineCoding * Models * fix not nullable cols in DB from code default values typo rename typo schema fix fix vdsl fix now typo typo fix size fix size * Power values for VDSL Power values for VDSL Power values for VDSL DB * cleanup * Rrd::checkRrdExists * always enable DSL discovery style * xdsl module * cleanup and move to Module cleanup and move to Module cleanup and move to Module cleanup and move to Module * Fix display * fix polling and tenth * remove legacy poller * Style and Cosmetics Cosmetics Cleanup * Translations Translations * exists exists * add test support for xdsl * remove last component call unused * translations * remove non standard onclick event on xdsl line * Update Discovery Support.md Update Poller Support.md toner_gone * Notification for removal of lnms config:set enable_ports_adsl true * enable on devices with potential DSL interfaces * tests are working now fix teldat tests * os_schema * teldat * move to new module structure * move to new module structure * wrong dump function * wrong dump function * laravel_through_key hidden * Update notifications.rss * Update notifications.rss Co-authored-by: Tony Murray <murraytony@gmail.com>
2022-09-08 02:29:17 +02:00
},
"xdsl": {
"type": "boolean"
}
},
"additionalProperties": false
},
"discovery_modules": {
"type": "object",
"properties": {
"cisco-qfp": {
"type": "boolean"
},
"cisco-cef": {
"type": "boolean"
},
New module add juniper rpm support + reimplementation of cisco-sla module (#12799) * 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>
2021-06-11 20:48:33 +02:00
"slas": {
"type": "boolean"
},
"cisco-mac-accounting": {
"type": "boolean"
},
"cisco-otv": {
"type": "boolean"
},
"cisco-pw": {
"type": "boolean"
},
"entity-state": {
"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"
},
"isis": {
"type": "boolean"
},
"discovery-protocols": {
"type": "boolean"
},
"bgp-peers": {
"type": "boolean"
},
"vlans": {
"type": "boolean"
},
"ucd-diskio": {
"type": "boolean"
},
"ucd-dsktable": {
"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"
},
"vminfo": {
"type": "boolean"
},
"mpls": {
"type": "boolean"
},
"ip6-addresses": {
"type": "boolean"
Migrate xDSL code to module, and add support for VDSL2 MIB (#14207) * use component to discover if xDSL polling is needed use component to discover if xDSL polling is needed * Components OK, Polling in correct files, no DB for VDSL * GUI GUI_suite * per port as well * rename * interface listing * draytek_snmpsim * fix arraymerge fix names and max value * schema schema style * remove one dbFetchRows remove 2x dbFetchCell style style remove Legacy dbFetchRow tests tests eloquent more eloquent more eloquent one more gone * fix properties access eloquent_insert_update style tests tests tests tests * tests tests tests * adslLineCoding * Models * fix not nullable cols in DB from code default values typo rename typo schema fix fix vdsl fix now typo typo fix size fix size * Power values for VDSL Power values for VDSL Power values for VDSL DB * cleanup * Rrd::checkRrdExists * always enable DSL discovery style * xdsl module * cleanup and move to Module cleanup and move to Module cleanup and move to Module cleanup and move to Module * Fix display * fix polling and tenth * remove legacy poller * Style and Cosmetics Cosmetics Cleanup * Translations Translations * exists exists * add test support for xdsl * remove last component call unused * translations * remove non standard onclick event on xdsl line * Update Discovery Support.md Update Poller Support.md toner_gone * Notification for removal of lnms config:set enable_ports_adsl true * enable on devices with potential DSL interfaces * tests are working now fix teldat tests * os_schema * teldat * move to new module structure * move to new module structure * wrong dump function * wrong dump function * laravel_through_key hidden * Update notifications.rss * Update notifications.rss Co-authored-by: Tony Murray <murraytony@gmail.com>
2022-09-08 02:29:17 +02:00
},
"xdsl": {
"type": "boolean"
}
},
"additionalProperties": false
},
"ifname": {
"type": "boolean"
},
"mib_dir": {
"type": "string"
},
"good_if": {
"type": "array",
"items": {
"type": "string"
}
},
"oids": {
"type": "object",
"properties": {
"no_bulk": {
"type": "array"
},
"unordered": {
"type": "array"
}
},
"additionalProperties": false
},
2021-09-02 02:01:41 +02:00
"snmp_bulk": {
"type": "boolean"
},
"snmp_max_oid": {
"type": "integer",
"minimum": 1
},
"syslog_hook": {
"type": "array",
"items": {
"type": "object",
"properties": {
"regex": {
"type": "string"
},
"script": {
"type": "string"
}
},
"required": ["regex", "script"],
"additionalProperties": false
}
},
"ifXmcbc": {
"type": "boolean"
},
"rfc1628_compat": {
"type": "boolean"
},
"empty_ifdescr": {
"type": "boolean"
},
"bad_entity_sensor_regex": {"$ref": "#/definitions/regex_group"},
"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"
},
"disabled_sensors": {
"type": "object",
"patternProperties": {
".": {"type": "boolean"}
}
},
"disabled_sensors_regex": {"$ref": "#/definitions/regex_group"},
"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"
]
}
}
}