Files
librenms-librenms/tests/module_tables.yaml
Tony Murray f2f169ae78 Modernize mempools (#12282)
* mempools to modern module
quick hacky hrstorage port

* port ucd-snmp-mib to Mempools

* Populate DB for ucd
Prep for yaml

* initial yaml attempt

* more complex conversions
fixes to YamlDiscovery, make leading $ optional and allow mib::oid format

* walk full tables and skip values
normalize percentages above 100

* handle precent only ones (specify total as 100)

* Move default polling out of YamlMempoolsDiscovery

* fixes

* Update test data hrstorage should be correct.

* perc_warn for hrstorage

* Host Resources, record buffer, cached, and shared

* Host Resources is always better, don't do both HR and UCD

* fix unix, include warning levels

* variable size

* consolidate skip_values

* define mempools schema

* number instead of integer

* more schema refactor

* one more skip_values reference

* throw error for invalid oid translation
aos6

* a*  and Cisco

* updated test data

* update almost all hrstorage data files

* b*

* c* with test data
use standard cache for hrStorage

* use cache for storage module too

* hand bsnmp properly

* bdcom

* exclude total oid from yaml so it is not polled
May add a way to ignore this behavior and poll it, but I don't know if that is needed.

* automatically handle percent only values

* ciscowlc

* only poll used or free if we have used, free, and total.

* fix skipping

* the dlinkoning
fix find value when value "name" is numeric

* support numeric oids

* dnos/ftos attempt

* I guess we can't filter on total > 0

* edgecos

* e*

* f WIP

* f*

* gwd (aka g*)

* h* + procurve

* i*

* j*

* m*

* support 0% used memory (however unlikely)

* n*

* CISCO-PROCESS-MIB memory, share cache with processors module

* ignore mempools with invalid total

* p*

* quanta

* r*
fix raisecom mibs terribly broken

* s-z

* style fixes

* Move VRP back to PHP and make it actually work

* fix zynos

* update schema

* Update Cisco processor data for description bug fixes

* fix comware processors

* comware mempools with memory size
default precision to 1

* sophos-xg updated data

* hrstorage use ram size for buffers, cache, and shared

* Show memory available instead of free in device overview

* UCD, use same rrd format, store available instead of free in the db.

* Calculate availability for HOST-RESOURCES-MIB

* Convert UCD to standard polling

* rename old rrd files

* initial graph work

* graph WIP

* Graph looking decent

* Graph looking decent for hr

* remove old ucd_graph code

* handle availability mempool
more graph cleanup

* color adjustments

* remove accidental free calculation

* Update test data and fix corner cases

* fis pfsense

* update schema

* add default value for mempool_class

* fix whitespace

* update schema

* update schema correctly

* one more time

* fortigate_1500d-sensors missing oids

* Update docs.

* fix indent

* add implements MempoolsDiscovery explicitly to OS

* remove ucd_memory graph references
remove unused device_memory graph

* remove unused functions

* set devices with mempools to rediscover to prevent/minimize gaps

* use a subquery

* add overview graph

* port health mempools table

* Update device mempool

* only show overview if multiple

* Don't override user set warn percentages in discovery

* fix missed usage

* fix style

* Safety check to not rename rrd files incorrectly if migration has not been run.

* Fix overview percent bar and represent available and used on the bar

* missed an item to convert to mempool_class

* percent on the wrong side
2020-11-23 15:35:35 -06:00

140 lines
5.9 KiB
YAML

applications:
applications:
excluded_fields: [device_id, app_id, timestamp]
application_metrics:
excluded_fields: [app_id]
joins:
- { custom: 'INNER JOIN (SELECT app_id, app_type FROM applications WHERE `device_id`=?) I USING (app_id)', select: ['app_type'] }
custom_where: ''
order_by: metric
arp-table:
ipv4_mac:
excluded_fields: [id, device_id, port_id]
order_by: ipv4_mac.context_name, ipv4_mac.ipv4_address, ipv4_mac.mac_address
bgp-peers:
bgpPeers:
excluded_fields: [device_id, bgpPeer_id, vrf_id]
joins:
- { left: bgpPeers.device_id, right: devices.device_id, select: [devices.bgpLocalAs] }
- { left: bgpPeers.vrf_id, right: vrfs.vrf_id, select: [vrfs.bgpLocalAs as vrfLocalAs] }
bgpPeers_cbgp:
excluded_fields: [device_id]
fdb-table:
ports_fdb:
excluded_fields: [device_id, ports_fdb_id, port_id, vlan_id, created_at, updated_at]
joins:
- { left: ports_fdb.port_id, right: ports.port_id, select: [ifIndex] }
- { left: ports_fdb.vlan_id, right: vlans.vlan_id, select: [vlan_vlan] }
order_by: ports.ifIndex, vlans.vlan_vlan, ports_fdb.mac_address
loadbalancers:
component: true
mempools:
mempools:
excluded_fields: [device_id, mempool_id]
order_by: mempool_type, mempool_id
mpls:
mpls_lsps:
excluded_fields: [lsp_id, device_id]
order_by: vrf_oid, lsp_oid
mpls_lsp_paths:
excluded_fields: [lsp_path_id, device_id, lsp_id]
joins:
- { left: mpls_lsp_paths.lsp_id, right: mpls_lsps.lsp_id, select: [vrf_oid, lsp_oid] }
order_by: vrf_oid, lsp_oid, path_oid
mpls_sdps:
excluded_fields: [sdp_id, device_id]
order_by: sdp_oid
mpls_sdp_binds:
excluded_fields: [bind_id, sdp_id, svc_id, device_id]
joins:
- { left: mpls_sdp_binds.sdp_id, right: mpls_sdps.sdp_id, select: [mpls_sdps.sdp_oid] }
- { left: mpls_sdp_binds.svc_id, right: mpls_services.svc_id, select: [mpls_services.svc_oid] }
order_by: mpls_sdps.sdp_oid, mpls_services.svc_oid
mpls_services:
excluded_fields: [svc_id, device_id]
order_by: svc_oid
mpls_saps:
excluded_fields: [sap_id, svc_id, device_id]
joins:
- { left: mpls_saps.svc_id, right: mpls_services.svc_id, select: [mpls_services.svc_oid] }
order_by: mpls_services.svc_oid, mpls_saps.sapPortId, mpls_saps.sapEncapValue
ospf:
ospf_ports:
excluded_fields: [id, device_id, port_id]
joins:
- { left: ospf_ports.port_id, right: ports.port_id, select: [ ifIndex ] }
ospf_instances:
excluded_fields: [id, device_id]
ospf_areas:
excluded_fields: [id, device_id]
ospf_nbrs:
excluded_fields: [id, device_id]
ports:
ports:
excluded_fields: [device_id, port_id, poll_time, poll_period, ifVrf]
joins:
- { left: ports.port_id, right: ports_statistics.port_id }
order_by: ports.ifIndex, ports.ifDescr, ports.ifName
route:
route:
excluded_fields: [port_id, device_id, route_id, created_at, updated_at]
order_by: inetCidrRouteDest
nac:
ports_nac:
excluded_fields: [ports_nac_id, device_id, port_id]
joins:
- { left: ports_nac.port_id, right: ports.port_id, select: [ifIndex] }
order_by: ports.ifIndex, mac_address
os:
devices:
included_fields: [sysName, sysObjectID, sysDescr, sysContact, version, hardware, features, location, os, type, serial, icon]
joins:
- { left: devices.location_id, right: locations.id, select: [location] }
processors:
processors:
excluded_fields: [device_id, processor_id]
sensors:
sensors:
excluded_fields: [device_id, sensor_id, state_translation_id, state_index_id, sensors_to_state_translations_id, lastupdate]
joins:
- { left: sensors.sensor_id, right: sensors_to_state_indexes.sensor_id }
- { left: sensors_to_state_indexes.state_index_id, right: state_indexes.state_index_id }
order_by: sensors.sensor_class, sensors.sensor_type, sensors.sensor_index
state_indexes:
excluded_fields: [device_id, sensor_id, state_translation_id, state_index_id, state_lastupdated]
joins:
- { left: state_indexes.state_index_id, right: state_translations.state_index_id }
- { custom: 'INNER JOIN ( SELECT i.state_index_id FROM `sensors_to_state_indexes` i LEFT JOIN `sensors` s ON (i.`sensor_id` = s.`sensor_id`) WHERE `device_id`=? GROUP BY i.state_index_id) d ON d.state_index_id = state_indexes.state_index_id' }
order_by: state_indexes.state_name, state_translations.state_value
custom_where: ''
storage:
storage:
excluded_fields: [device_id, storage_id]
order_by: storage_index
toner:
toner:
excluded_fields: [device_id, toner_id]
order_by: toner_oid, toner_index
vlans:
vlans:
excluded_fields: [vlan_id, device_id]
order_by: vlan_domain, vlan_vlan
ports_vlans:
excluded_fields: [port_vlan_id, device_id, port_id]
order_by: vlan, baseport
vrf:
vrfs:
excluded_fields: [vrf_id, device_id]
joins:
- { custom: "LEFT JOIN (SELECT ifVrf, GROUP_CONCAT(ifIndex ORDER BY ifIndex ASC SEPARATOR ',') as ifIndices FROM ports GROUP BY ifVrf) p ON p.ifVrf = vrfs.vrf_id", select: ["p.ifIndices"] }
wireless:
wireless_sensors:
excluded_fields: [device_id, sensor_id, access_point_id, lastupdate]
cisco-mac-accounting:
mac_accounting:
excluded_fields: [ma_id, port_id, poll_time, poll_prev, poll_period, cipMacHCSwitchedBytes_input_rate, cipMacHCSwitchedBytes_output_rate, cipMacHCSwitchedPkts_input_rate, cipMacHCSwitchedPkts_output_rate]
joins:
- { left: mac_accounting.port_id, right: ports.port_id, select: [ifIndex] }
custom_where: WHERE ports.device_id=?
order_by: ports.ifIndex, mac