* Fix Q-BRIDGE-MIB VLANs
Properly handle dot1qVlanTimeMark index (by ignoring it instead of assuming it is 0)
Adds test data for at least one device that uses Q-BRIDGE-MIB.
Fixes: #8516
* fix whitespace
* remove unused variable
* Update boss.inc.php
Another easter egg for the rebranding of voss and boss. Lost the memory usage. Modifying allowed the voss and boss to graph memory again.
* Update voss.inc.php
Another easter egg for the rebranding of voss and boss. Lost the memory usage. Modifying allowed the voss and boss to graph memory again.
* Rename voss.inc.php to avaya-vsp.inc.php
* Rename boss.inc.php to avaya-ers.inc.php
* Update voss.inc.php
* Update boss.inc.php
* changed limit values in routeros.yaml to allow for the divisor value of 10
* changed the code so divisor/multiplier is only used for oids
* updated json test file
* Update avaya-ers.yaml
Extreme bought avaya network assests so rebranding and moving some files.
* Add files via upload
Extreme bought avaya networking assets and so rebranding to Extreme and adding logos with OS for easier reading when on devices pages
* Update avaya-vsp.yaml
removing .1.3.6.1.4.1.45.3.79.1 This is a VSP 7024xl from avaya. This is techincally not VOSS but BOSS operating system. It should be in BOSS and avaya-ers.yaml
* Add files via upload
* Update and rename avaya-vsp.inc.php to extreme-voss.inc.php
* Update and rename avaya-vsp.inc.php to extreme-voss.inc.php
* Update and rename avaya-vsp.inc.php to extreme-voss.inc.php
* Update extreme-voss.inc.php
* Rename avaya-vsp.inc.php to extreme-voss.inc.php
* Rename avaya-vsp.inc.php to extreme-voss.inc.php
* Rename avaya-vsp.yaml to extreme-voss.yaml
* Update and rename avaya-vsp.yaml to extreme-voss.yaml
* Update avaya-ers.yaml
* Rename avaya-ers.yaml to extreme-boss.yaml
* Rename avaya-ers.inc.php to extreme-boss.inc.php
* Update and rename avaya-ers.inc.php to extreme-boss.inc.php
* Update and rename avaya-ers.inc.php to extreme-boss.inc.php
* Update and rename avaya-ers.inc.php to extreme-boss.inc.php
* Update and rename avaya-ers.inc.php to extreme-boss.inc.php
* Update and rename avaya-ers.inc.php to extreme-boss.inc.php
* Update extreme-boss.yaml
* Update extreme-voss.yaml
* Update and rename extreme-boss.yaml to boss.yaml
* Update extreme-voss.yaml
* Rename extreme-voss.yaml to voss.yaml
* Rename extreme-boss.inc.php to boss.inc.php
* Rename extreme-voss.inc.php to voss.inc.php
* Rename extreme-boss.inc.php to boss.inc.php
* Rename extreme-voss.inc.php to voss.inc.php
* Update and rename extreme-voss.inc.php to voss.inc.php
* Rename extreme-voss.yaml to voss.yaml
* Rename extreme-voss.inc.php to voss.inc.php
* Update and rename extreme-voss.inc.php to voss.inc.php
* Update and rename extreme-boss.inc.php to boss.inc.php
* Update and rename extreme-boss.inc.php to boss.inc.php
* Update and rename extreme-boss.inc.php to boss.inc.php
* Rename extreme-boss.inc.php to boss.inc.php
* Update voss.inc.php
* Update boss.inc.php
* Update boss.inc.php
* Update voss.inc.php
* Update voss.inc.php
* Update voss.inc.php
* Update voss.inc.php
* Update voss.inc.php
* Update voss.inc.php
* Update boss.inc.php
* Update boss.inc.php
* Update voss.inc.php
* Update boss.inc.php
* Update voss.inc.php
* Update voss.inc.php
* Rename avaya-vsp_8404c.snmprec to voss_8404c.snmprec
* Rename avaya-vsp_8404.snmprec to voss_8404.snmprec
* Rename avaya-vsp_8284xsq.snmprec to voss_8284xsq.snmprec
* Rename avaya-vsp_7254xtq.snmprec to voss_7254xtq.snmprec
* Rename avaya-vsp_7254xsq.snmprec to voss_7254xsq.snmprec
* Rename avaya-vsp_7024xls.snmprec to boss_7024xls.snmprec
* Rename avaya-vsp_4850gts.snmprec to voss_4850gts.snmprec
* Rename avaya-vsp_4850gts-pwr.snmprec to voss_4850gts-pwr.snmprec
* Rename avaya-vsp_4450gsx-pwr.snmprec to voss_4450gsx-pwr.snmprec
* Rename avaya-ers.snmprec to boss.snmprec
* Rename avaya-ers_1.snmprec to boss_1.snmprec
* Update and rename avaya-ers.json to boss.json
* Update and rename avaya-vsp_8404.json to voss_8404.json
* Update and rename avaya-vsp_8404c.json to voss_8404c.json
* Update and rename AvayaErs.php to Boss.php
* Update Boss.php
* Restore processor_type to avaya-ers in test data
* Update voss_8404c.json
* Update extremeboss.svg
* Update extremevoss.svg
* fix: Apply divisor / multiplier to high/low limits in sensors
* Updated test data for airos
* updated sensors test data
* Updated test data
* Updated test files
* updated dell-rpdu tests
* Updated to do division / multiply after check for value
* Moved temperature sensor to yaml
* Enabled sensors , it's working now
* Enable mempools and disable unused wireless discovery.
* Tests for fiberhome OS, variants can be merged on future
* Add Listmile mibs
Created custom lastmile mib
* Add Lastmile CTM support
* Update test description and remove wireless sensor
* Requested changes
Renamed OS
* json test data
* Updated test data
* updated discovery method
* added LF at EOF
* changed discovery data gather to an array loop
* updated per murrant's suggestions
* updated to only poll attribues if objects exist
* AeroHive 001
* AeroHive 002
* AeroHive 003
* Removed duplicate HiveOS for OS
* Added AP550 detection
* changed to Hiveos-Wireless
* changed back to HiveosWireless. Hiveoss-Wireless doesn't work
* changed back to HiveosWireless. Hiveoss-Wireless doesn't work
* Added Processor Usage.
* Added Mempool.
* working on review requests 001
* working on review requests 002
* stuck on radio stats
* WirelessSensor.php added channel 165
* Added AP250 snmprec
* Frequency work in progress.
* Frequency trying another way.
* Frequency trying another way 002
* Fixed AH-SMI-MIB? Added array try 003
* Frequency array is working thanks to Murrant.
* Frequency array description working.
* Added TX Power
* changed interface naming method
* Review changes 001
* Review changes 002
* Review changes 003
* Added json test data.
* Fixed test data 001.
* fix: Fixed and improved toner discovery
* Update konica data
xerox tries to insert too long of descriptions. Lets remove the part and serial number, they are ugly to look at in the ui.
* Changed to concat 32bit high.low counters
* Changed to concat 32bit high.low counters
* Correction. Needed to bit shift.
Correction. Needed to bit shift << 32 on high and add low.
* Correction. Needed to bit shift.
Correction. Needed to bit shift << 32 on high and add low.
* Added storage removed processor and memory
No point in processor and memory until nimble supports it. Added stroage to overhead.
* Fixing HP Proliant state sensors
* Numeric state data (-e)
Update to new state style
This currently cannot be tested. We don't discover sensors until the second discovery, because we poll 'hardware' instead of discover it.
* Fix whitespace
* Add contact,relay,outlet discovery; update yaml,snmprec,json
* Fix formatting
* Another attempt at fixing sensors
* Update state mappings and fix json sensor ordering
* Capture values numerically.
Remove extra if/else statement
Make test data more interesting.
* Fix whitespace.
* Update sensors test data for order_by
Default behaviour is to set low limit to (current temperature - 10 deg) and high limit to (current temperature + 20 deg) upon discovery. Changing that to abs values +5 and +35 deg respectively to be in realistic boundaries.
* Add Errors, NoiseFloor, RSSI, SNR and Utilization Wireless Sensors for ewc
* Enable processor/mempool support for ewc using existing enterasys implementation
* Add test data
* Added snmp mibs from vendor (https://www.hillstonenet.com)
* Added memoery discovery and pool
* Added serial and os version discovery.
* Added cpu discovery.
* Added temperature and power sensors
* Added test data.
* Fix yaml format.
* Pass mib name as parameter.
* Pass mib name as parameter.
* Use numeric OID
* User snmp_get_multi_oid
* Use snmp_get_multi_oid
* Remove default extension from vendor.
* Update test data.
* Renamed some mibs + changed oid in disco proc
* Updated json test data
* Update processor discovery to yaml
* Update awplus to new processor discovery
Have no test data, so this needs testing.
* Updated YamlTest to include data as optional param for processors
* 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
* initial
* commited correct version of f5-ltm-inc.php
* cleaned up comments
* cleaned up formating for travis
* split GTM discovery from LTM discovery module
* removed blank line at EOF
* updated per comments
* refactor: Move more state sensors to yaml
* Fix errors..
* Update comware.yaml
* Update ddnos.yaml
* Update dell-ups.yaml
* Update mimosa.yaml
* Update waas.yaml
* added some test data for comware and dell-ups
* added mimosa test data
* re-saved comware test data
* set arp-table sort order.
remove unneeded modules from mimosa
* remove arp-table it doesn't work yet
* remove deleted sensors and mempools (which have no snmp data)
* Added Dlink MIBS, memory polling and temperature polling for some devices
* Added Dlink MIBS, memory polling and temp polling for some devices
* Update dlink.yaml
Changed values as per laf's request.
* Update dlink.inc.php
Updated date
* Update dlink.inc.php
Deleted line as per laf's request.
* bgp-peers update
Use IP parsing library more effectively.
Fix update issue
Include comware bgp-peers test data
deeper refactoring
Allow JunOS fallback to BGP4-MIB, some models only use that.
Add junos bgp4 data
Actually update all bpg data in the poller
* fix arista data. refactor some to prevent missing data from mucking things up
* refactor to use $oid_map for BGP4-MIB too
* A few comments to break up teh file a bit
* Junos bgp data an a quick revert for now.
* small cleanup
* fix ios bgp polling, add test data
* check the correct variable
* move routeros fanspeed to yaml
* moved more routeros sensors to yaml
* reverted signal migration to yaml
* added routeros test data
* re-saved test data for routeros
* Added cpu and mempolls EdgeCore switch
* Added cpu and mempolls EdgeCore switch
* Added cpu and mempolls EdgeCore switch
* Added cpu and mempolls EdgeCore switch
* Added cpu and mempolls EdgeCore switch
* Added cpu and mempolls EdgeCore switch
* Update edgecos.inc.php
* Add files via upload
* Create test.txt
* Add files via upload
* Delete test.txt
* Add files via upload
* refactor: Updated discovery to use a core module for sysDescr/sysObjectID use
* final update hopefully
* revert changes
* more changes + docs
* migrated poller to use numerical sysObjectID
* more updates for sysObjectID
* update any alert rules which might have enterprises. in
* moved schema file
* small updates
* updated getHostOS()
* scrut fixes
* updated sysObjectId -> sysObjectID
* updated sysObjectId -> sysObjectID
* updated remainder of sysObjectId -> sysObjectID
* another sysObjectId -> sysObjectID
* fixed secureplatform test data
* Fix tests: $device is not pulled from the database before polling
Also, update the db in the core discovery module.
* Added CheckPoint SecurePlatform support
* Changed some issues
* Changed some issues
* Update splat.yaml
* Changed os name to secureplatform intead of splat
* Changed os name to secureplatform
* Changed some issues
* Processor Tests!
* Capture data from live devices easily.
* fix up some stuff, remove powerconnect things as they seem to be just broken.
* formatting, fix missing assignment
add netonix processor data
* fix multi-line, always add sysDescr and sysObjectID
ios cpm test file
* revert composer change and fix whitespace issues
* add help text
* missed help text
* tighter debug output
* handle empty strings properly and mibs with numbers
* use keys for sorting as intended
* fix type with empty data
* oops :)
* whitespace fix
* try installing fping
* Fix TestCase collision + cleanup
* mark TestCase as abstract
don't run two instances of snmpsim
* better database dumps, improved capture
* style fixes
* fix quotes add a few more tables
* add --prefer-new, properly merge data
* Support separate discovery and poller data. But don't waste space if they aren't needed.
* refactor to use class
collects all code in one place for reusability
* reorganize
* Print out when not saving.
* Support for running multiple (or all) modules at once.
* tidy
* Change unit test to a generic name and test all modules we have data for.
* Add documentation and a few more tidies
* whitespace fixes
* Fix tests, add a couple more modules, more docs
* More docs updates
* Fix scrutinizer issues
* add bgp-peers
* Junos dwdm interface sensor support …
four new sensors
Chromatic Dispersion ps/nm
Delay s (seconds)
Q_factor (dB)
preFEC_BER (ratio)
reuse of
SNR, dbm, temperature, current
* new dwdm sensors more generic, ber and quality_factor
* new sensors updated
* renamed html graphs new sensors
* fixed ber polling
* Change to base SI Hz and s.
* update sensor divisors to bigint
* rename sql-schema/216.sql to 218.sql
* YAML junos dwmd sensor definitions, except BER
* bigint divisor fixed
* deafult 1 divisior
* small fixes including schema change for another PR
* schema fix
* Replace custom queries with dbDeleteOrphans().
Generalize dbDeleteOrphans() a bit more. Allow for multiple tables and custom key pairs.
* fix whitespace
* Inital cambium refactor
* Refactored tests
* Remove CMM from pmp group
* Add sensors / Give CMM individual OS
* Fix linting
* More Sensors / states and Revised Headers
* Added old graphs / more sensors
* Add modulation rate to sensor
* Fix Hardware detection bug
* Further hardware detection refinments
* Modify pmp hardware detection
* New Wireless Metric - SSR
* SSR Sensor Graph
* Migrate SSR to metric
* Added last metric file
* Add master check to isAp method
* Fix variables in epmp
* CMM Discovery and state addition
* Add another test for cmm
* Don't do uneeded snmp queries
sensors discovery 26 -> 16
wrapped some poller modules in db checks. The same could be done for some others, but more work is needed.
* travis fix
* Entity state sensors??
* feature: Entity State polling
Display entity state on the Inventory page.
Allows for alerting based on states.
* fix empty last changed, timezones, alarm parsing, and db updates
* do not display unavailable alarms (80)
add tooltip with state value
* remove debug
* Entity state sensors??
* feature: Entity State polling
Display entity state on the Inventory page.
Allows for alerting based on states.
* fix empty last changed, timezones, alarm parsing, and db updates
* do not display unavailable alarms (80)
add tooltip with state value
* remove debug
* Use a discovery module and only fetch the rest of the data if entStateLastChanged is updated.
* A little more efficient sql use in the case nothing has changed.
* disabled by default, add to docs.
* moved schema file to 220.sql
* feature: save application metrics to db for alerting
However, alerting will not work because ResolveGlues() is broken.
Can add workaround after state_translations alerting is merged
Does not update all applications yet, not sure if that should be done here or in another PR.
Introduces two handy functions dbDeleteOrphans() and array_by_column(). Will replace those in other locations after this is merged or separate them out if this is not merged.
* remove accidental inclusions
* Add db schema
* added comments describing changes needed to be implemented
* Added patch by laf to update the underlying function, modified OID value in yaml to poll string instead of integer
* Second patch to discovery function peer laf/murrant
* fix: use typical Mikrotik operating range for default temperature sensor limits.
* fix: Use static offsets for default temperature limits. Previous scaling did not work well for small or negative values.
* Initial commit. OS definition/polling, temp sensor discovery/polling, MIBs, logo, snmprec test
* replaced logo with 32x32, shortened sysObjectID in definitions, modifided sensor discovery
* fix syntax error caught by inspection
* requested chases to siteboss temp discovery file, removal of siteboss temp polling file
* converted temp sensor to yaml and added better support to skip values
* updated to use pre_cache with index
* newdevice: support Avtech RoomAlert 32E/W
Move avtech discovery to yaml, took a bit of trickery
* More flexibility when checking pre-cached data
A little cleanup
* Add support for RoomAlert 32E/W external and wish temp sensors
Add RoomAlert 11E support (just temp sensors)
Updated ROOMALERT32E-MIB
* fix: devices detected as ibmtl
Guess at the sysObjectID, please report if you have devices that should be ibmtl and are no longer detected.
Add output of os in discovery.
* Always load all os for discovery. Should be cached most of the time.
* feature: Allow snmpget in os discovery yaml
Re-submit after release
* Remove extra trim in discovery and in snmp_get.
also trim() always returns a string, so is_string() check is a waste of cpu cycles.
* Changed the NetIron checking logic from sysObjectID to sysDescr
* updated method of checking sysDescr in ironware mempool files
* Update ironware-dyn.inc.php
Order statements to give some results precedence over others.
Union the results but limit 1 so we can stop when we get the first result.
Checking if variables doesn't work very well without the device_id
* Added support for ping only devices.
* Renamed sql-schema/206 to 207.
* Discovery tried to detect the OS when it shouldn't.
* Updated db_schema.yaml
* Added ping icon.
* Don't show unused graphs and tabs when SNMP is disabled.
* Allow the user to specify OS of ping only devices.
* Removing custom OS now changes it to 'ping'.
* Removed unnecessary use of mres().
* UI select box for SNMP enable/disable.
* Hide device_ping_perf if ping is disable on device.
* Fixed SNMP settings update status messages.
* Added functionality to add ping only devices via the web ui.
* Added ping only option to addhost.php
* Added ping only support to snmp-scan.py
* Moved sql 208 to 211
* Fixed scrutinizer issues.
* Fixed broken ossearch.
* Added ping only support to the API.
* Updated API doc.
* Added (optional) to OS and hardware description. Hid Port Settings, Applications, Modules, Storage, Processors, Memory and Components from the edit menu
* Style fix.
* Updated ping icon.
* clean() instead of mres(). More escaping. Better help in snmp-scan.py and addhost.php
* Fixed scrutinizer issue.
* Always try SNMP in snmp-scan.py, new option for it in addhost.php. Slice instead of chunk in ajax_ossuggest.php. Other minor style changes.
* Updated sql modifications to insert the new column in the same place as in db_schema.yaml.
* feature: Allow snmpget in os discovery yaml
Convert all remaining os except airos.
Affected OS: asuswrt-merlin, ddnons, dsm, extrahop, huaweiups, ibmtl, pcoweb, pktj, qnap, remoteeye4, sentry3, sentry4, tomato
There should be not change in detection.
* Fix, asuswrt-merlin and tomato with snmpsim. May not have been an issue with actual devices because of -Oa leading " was a bit odd.
* missed file
* Fix Moxa cpu polling problem, also add support for EDS-G508E, and power graphs
* Dynamic discovery support for EDS-G508E-T and IKS-6726A-2GTXSFP-T
* fixes as requested
* Added another snmp_cache_multi_oid and fixed a typo
* Revert back to old file name
* fix: lldp discovery change local port resolution
dot1dBasePortIfIndex seems to skip some ports in certain configurations on Cisco devices.
Add quirk for Calix devices that return different port labels than they actually are.
* bdcom uses NMS-LLDP-MIB too.
* use dot1dBasePort to look up ifIndex if we can.
* Added IronWare iface dBm sensor and related OID pr~e-cache
* fixed syntax violations
* added return_num() function and modified ironware dbm sensor to use it
* Update functions.php
* Update ironware.inc.php
* eaton-ats: add definition, voltage, frequency and state
* eaton-ats: missing snmprec file
* fix some syntax error
* fix some syntax error, again
* exclude eaton-ats from eaton-mgeups definition
* change eaton-ats definition
* move state and output voltage to yaml syntax
* Update eaton-mgeups.yaml
fix find_port_id() deleting all variables when device_id was given
improve find_port_id() to find ports where only a number is given
fix orphan deletion count
fix insert and update of links with strings where int are required
* refactor: discovery protocols re-write
extract more code to make it easier to read
use snmpwalk_group
walk lldpRemTable instead of lldpRemoteSystemsData
Optimize discover_device to reduce dns lookups of bad dns names
Make discovery_by_ip behavior consistent between cdp and lldp
move can_skip_discovery to discovery functions
Tested lldp, cdp, and ospf.
* always discover links even if the remote device isn't in system
Fix discover_link always updating
* fix style
* fix update, not fetching id
* increase platform length. Most devices use sysDescr here, which is max length 255
* remove orphaned links
* update db_schema.yaml
* refactor: rfc1628 tidy up
reduce the amount of snmp calls
* Did not finish re-writing rfc1628 load
* fix type in bypass power oid
* remove testing changes
* feature: Allow ignore_mount, ignore_mount_string, ignore_mount_regex at OS level
* Change the storage settings to override global instead of merge.
Add documentation
* refactor: use the Config class includes/discovery
* fix issue with $config variable not accessible in include-dir.inc.php
* improved whitespace
* Tidy up discovery_by_ip
* newdevice: Added support for Saf Integra Access points
* Split SAF Integra models out
* added polling files
* Update saf-integra-b.yaml
* Update saf-integra-w.yaml
* fix: Fixed the high/low thresholds for Arista devices
* final updates
* push threshold changes
* more updates
* another update
* updated entity-sensor for current value calc
* hoping final update
* feature: Improve yaml state discovery
Handle state values that are returned as strings instead of int
Synchronize state values for existing state translations so we can change them without creating a new translation and losing historical data
More extensive/verbose yaml discovery phpunit tests
dbBulkInsert, use the first entry instead of requiring the first entry to be at index 0
* Update sensor state documentation
re-order values for better readability
remove os check
Use snmpwalk_group since it is more flexible
* Add some more debug output in dynamic discovery