* Handled rttMonLatestJitterOperPacketOutOfSequence and rttMonLatestJitterOperPacketMIA not being present on Cisco Nexus9000 routers by defaulting to null value when not found.
Non-existance of OIDs confirmed here: https://cisco.github.io/cisco-mibs/supportlists/nexus9000/Nexus9000MIBSupportList.html
* Added snmp test data
* Removed superfluous comments
* Fixed sla number in test data
* Removed spacing
* Removed ?
* Added MIB file CISCO-RTTMON-ICMP-MIB to Cisco collection
Query rttMonLatestIcmpJitterOperTable when polling SLAs
Extended icmpJitter parsing to allow retrieval of jitter related data from multiple locations in MIB tree
Fixes#15658
* Appended snmprec data to testdata
* Update iosxe_c9300.json
---------
Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
* Remove snmp functions that are barely used
Replace them with SnmpQuery calls
* Apply fixes from StyleCI
* Fix missing namespace
* Import Oid
* No more variables left may be repeated multiple times at the end with snmpsim, remove them all
* update data fixed by SnmpResponse bugfix
---------
Co-authored-by: StyleCI Bot <bot@styleci.io>
* Refactor poller to allow modules to run even if the device is down
Include core in config (but not webui) to avoid silly shenanigans
Inject datastore into polling
* Needed to split datastore interface
* Cleanup some data_udpate() references
* Apply fixes from StyleCI
* Fix legacy poller :D
* Output to the correct stream
* Fix lint issues
* Apply fixes from StyleCI
* Fix discovery not including core and submodule handling
* Use whereRaw
---------
Co-authored-by: StyleCI Bot <bot@styleci.io>
* Fix legacy os extend support
Now compatible with oids that could have been used by older software:
extend .1.3.6.1.4.1.2021.7890.2 hardware
extend .1.3.6.1.4.1.2021.7890.3 manufacturer
extend .1.3.6.1.4.1.2021.7890.3 vendor
extend .1.3.6.1.4.1.2021.7890.4 serial
And correct the oids for VERY old exec options.
* Convert to SnmpQuery and convert some numeric oid to textual
* MIB-Dell-10892::chassisServiceTagName.1 is discovered already in ServerHardware trait, no need to double fetch
* OIDs were previously mixed up, fix data
* STP fix, only try contexts on Cisco
Only Cisco is known to support this type of polling
* merge, not push.
* Fix collection construction
* Fixed the function signature in Interface def
* fixed signature here as well
* Lighter code to return a collection of Stp instances
* Type enforced in signatures
* missing implement for Cisco Class
* style
* Collection methods are immutable indeed 😠
* nullable vlan
Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
* Check for empty SLA tags so we skip bad entries
* getSlaTag always return string
* accidentally left line
* Update phpstan-baseline.neon
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Add sla packet loss percent rrd graph
* Add packet loss percent div
* Add OID for NumPackets
* Fixed CDEF typo
* Rename graph file to include .inc
* Flipped axis for Src and Dst to match key
* Create new rrd file for loss percent
* Remove duplicate rrd data and rename rrd to reflect
* Amend to use second rrd file for NumPackets
* Removed spaces
* dbFetchRow be gone
* insert if statement check
* white space cleanup
* New line at end of file
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Fix warnings up to Arbos
* fixes a-c
* a-r
* a-vrp
* There and back again
* Update test data, couple fixes
* PHPSStan fixes
* style fixes, and fix Asyncos, whoops
* flip serial back.......
* less bogus data
* Poweralert sysName during polling too
* make sure things are calculated in the correct order
* fix style and bad nullables
* update test data
* A comple more conversions
* cambium ptp, misc, and hardware_mib
* remaining except vmware-esxi
* Fixes
* Update baseline
* fixes and fix up baseline
* adjust SnmpQueryMock to upstream options change
* data corrections
* restore slashes
* correctly handle all options input in SnmpQueryMock
* undo ftos changes
* restore vccodec sysDescr
* Fixing irrelevant value for Juniper RPM percentage packetloss
Old MIB values fron generic DISMAN ping pingResultsProbeResponses and pingResultsSentProbes are
querying current probe values so if a probe is still pending, irrelevant value are taken. It results
in high percentage packetloss that not match reality.
Using the Juniper MIB values jnxPingLastTestResultProbeResponses and jnxPingLastTestResultSentProbes
seem to fix this.
At the same time we take here jnxPingLastTestResultAvgRttUs instead of jnxPingResultsRttUs which
is more accurate.
* Fixing typo in the name of Cisco MIB for Cisco SLA's polling
* Delete old comment about SNMP values : getting the all values once instead of one by one
* Adding test files for Juniper RPM last modification
* Revert "Adding test files for Juniper RPM last modification"
This reverts commit 0209b18b9d.
Reverting to keep snmprec junos_vmx already generated file
* Regenerating JSON test file and keeping snmprec file
* 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>
* Update IOS with 4948 variant hardware detection
* Use entPhysicalModelName if Switch System match
* Add test data for 4948e and 4948-10ge variants
Signed-off-by: Misha Komarovskiy <zombah@gmail.com>
* Fix bracket error
Signed-off-by: Misha Komarovskiy <zombah@gmail.com>
* Add json test data
Signed-off-by: Misha Komarovskiy <zombah@gmail.com>
* 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
* Added Cisco QFP processor discovery
* Fix QFP index loop variable name
* Add test data for IOS-XE processors (from ASR1001-HX)
* set the right variable
* VRP: implement NAC data polling
* typo
* Add and alter ports_nac table
* SQL syntax
* Adding fields in the GUI
* Set the default column visibility depending on OS
* ./build-schema.php
* Add vlan support for Cisco and correct ios_nac testdata
* Improve date display and column ordering
* Add vrp_nac testdata
* revert old DB schema
* db in migration syntax
* build-schema
* moment.duration() for time_left and time_elapsed
* Extract DiscoveryItem and move some things to better places.
Extract model class
Fix up model construction. I have problem with construction...
Makeshift model working. Switch constructor to factory. discover() and create()
Support legacy discovery.
Remove uneeded custom pollers
Remove netonix custom detection as we try ucd on all os now.
Add a few yaml procs. Fix a couple things.
More processor discovery conversions
Move Calix e7 to standard hrProcessorLoad, but it doesn't fully implement the HR-MIB, move things around to make it work.
Add a few yaml procs. Fix a couple things. Correct some stupid mib stuff.
Move more, drop php 5.3
Add netscaler which uses string indexes. Port fiberhome to yaml and use skip_values
More conversions. BroadcomProcessorUsage Trait
Serveriron and Ironware share some mibs. Create a common abstract os for them.
Add yaml support for mib specification in each data entry
Make legacy discover_processor() set 0 for hrDeviceIndex
Untangle Dell switch OS processors
Use use shared OS for groups if they don't have a specific group.
fix silly mib mistake
Make index optional
Move HR and UCD to Traits and out of Processor.
* forgot to update the fortiswitch index
* Make sgos and avaya-ers match the old index.
* fix comware test data
* fix merge errors
* fix dsm and remove pointless empty modules
* file not found exception is in the wrong place.
* Updated processor development docs