miss-named variable in sensor pre-caching
internal humidity and temperature was discovered twice
humidity was mis-spelled in yaml discovery
temperature and current had incorrect divisor in yaml
remove redundant fahrenheit to celsius function
fixes#7236
* This change allows discovery/polling of all sensors (fans and temperatures) from Brocade VDX devices
instead of only the first few. This is tested with VDX 6740, 6740T, 8770-4, 8770-8.
* Update nos.inc.php
* Update nos.inc.php
* Commit merge to branch for Cambium CPU fix (#1)
* Remove division by 10
Removes unnecessary division by 10 from poller file; this is handled by processor_precision in the main include.
* Correct processor_precision
Adjusted processor precision divider from 100 to 10 (as sysCPUUsage.0 reports from 0-1000 as 0-100.0%)
* Delete cambium-cpu.inc.php
With the change to the discovery file (processor_precision set to the correct value of 10) this file is not required.
* newdevice: Added support for Emerson energy systems (#7128)
* newdevice: Added support for Emerson energy systems
* added missing test
* Update ees.yaml
Added Avaya ERS fan and temp state discovery
* removed some left over debug code
Update avaya-ers.inc.php
* Refactor remove use of pear Net_IPv4 and Net_IPv6
Caution, I added tests to test the functionality of the new functions, but I'm not 100% certain the replaced usages match 100%. Please test.
Left usage in generate-iplist.php because I'm not sure the use of that script, so I didn't want to implement additional functionality to support it.
Add support for ipv6 fo ipInNetwork() function
Add phpdocs to functions
Remove accidental inclusion
Use binary operations instead of string for networKFromIp()
Tidy up binary operations in ipInNetwork()
tidy parsing cidr network
Change to a class based implementation.
Update phpdocs.
Fully catch exceptions for hex parsing.
Fix mistake.
support older phpunit versions
Fix php shifting to negative with php 5
* Fix graph authorization. Uncaught exception and checking an ipv4 against an ipv6 network == fail.
* Also remove colons from hex strings.
* Fix typo in bgp polling
Two passes of removing invalid characters from hex strings. (That way we don't mangle valid IPs)
* Added power, voltage and temperature sensors for microsemi powerdsine poe switch
* Use MIB, switch to yaml discovery
* Revert "Use MIB, switch to yaml discovery"
This is to fix an off by one error.
The ERS reports VLAN membership using a bitmask, but the MSB is always 0.
So using the `q_bridge_bits2indices` function results in the reported ports membership being +1 wrong.
The best fix for this would be to create a new function exactly the same as `q_bridge_bits2indices` which subtracts the 1 before returning the array.
I tried this, but it broke my install :)
Not sure how to add to the `functions.inc.php` file without breaking it.
Avaya do not use the Q-Bridge MIB for Vlans.
They also store untagged vlan info in 2 seperate ways:
rcVlanPortDefaultVlanId stores the actual native VLAN or PVID per switch port.
rcVlanPortPerformTagging tells us the ports tagging mode, this can be true (all tagged or trunk), false (no tagging or access), 3 (only tag the PVID) or 4 (untag the PVID and tag everything else).
Due to how these bits of information are presented, for each VLAN ID we then need to loop through all the ports checking if their PVID matches the VLAN ID and if the tagging mode is false or 4. If both are true we add that port to the list of untagged ports for that VLAN.
* Added mempool support for Avaya ERS 3500
* Added mempool support for Avaya ERS 3500
* removed check for firmware version
* removed check for switch model or firmware version
* removed check for switch model or firmware version
* removed check for switch model or firmware version
* adding @laf suggested changes
* made changes as suggested by @laf
* removed blank line
* removed blank line
* added the snmpwalk back
need this, or it's pointless
* added support for Avaya ERS 3500 switches
Tested and working with single 3500 and stack of 5 3500
* added support for ERS3500 switches
tested on ERS 3500, both single and stack of 5
* device: Improved HP ILO4 support
Added HP ILO4 temperature (HDD, motherboard), power, state (powersupply, HDD, Fans, memory slots) sensors support.
Tested with HP ProLiant ML350p Gen8-Gen9
* actual MIB file!
* Added detection for Hirschmann Railswitch
* Update AUTHORS.md
I agree to the conditions of the Contributor Agreement contained in doc/General/Contributing.md.
* Fixes for PR 6207 requested changes
* Fixes for PR 6207 requested changes
* Fixes for PR 6207 requested changes
* Fix for PR 6207 requested changes
* Fix for PR 6207 requested changes
* Synchro Fork
* Synchro Fork
* Added additional sensors for APC IRRP100 Air conditionner series
* Updated apc.yaml
@laf I modified the yaml file according to your comment. I forgot the index line in a few definitions...
* Rollback hirschmann.inc.php to original file
* Roolback to original hirschmann.inc.php file
* Updated apc.yaml file to include data section
* Update apc.yaml
* Update apc.yaml
* Updated apc.inc.php after @laf requests
Modified $current calculation, including $multiplier in place of static value and added 'PowerNet-MIB' as an argument of the snmp_get function (detached from OID writing)
* missing new line
* reverted hirschmann updates
* reverted hirschmann updates
Set default divisors for all devices and remove per-os overrides for them.
We should only use per-os overrides for non-standard behavior.
High possibility for breakage here if devices not listed here have non-standard behavior.
Fix missing IPs because the ARP entries are on different port_id
Update arp discovery to use snmpwalk_group() additional fix in that function
Fix removal of arp entries
Fix a debug output type in fdb discovery
The state of the sensors was a value (#1-4) not an actual state (nominal, faulty etc.) on UI.
Tested device:
Brocade 300 Switch (Brocade FabricOS v6.4.1)
* feature: support fdb table on generic devices
refactored code to use snmpwalk_group
refactored ajax table code to use joins and reduce extra queries
add indexes for device_id and port_id, drop primary index
Make all columns sortable
Fix a few other small issues
* Add index for vlan_id since that field can be searched by the user
* fix whitespace
* Rename 197.sql to 198.sql
* set row count for table
* feature: Added support for sensors to be discovered from yaml
* added discovery definitions
* Updated docs, more code updates + tests
* removed the oid_name use
* pre-set variable from scrut output
* small updates as per comments in pr
* Allow index in descr
* Added ability to skip values
* Check for numeric values
* small update of oid name
* feature: FDB TABLES for ios and timos
* Fixed coding style issues
* renamed fdb.sql to 191.sql
* fixed travisCI issue
* FDB table discovery working on IOS
* Fixed bug: failing to insert fdb entries into database
* Fix phpcbf issue
* moved sql schema
* rename sql schema
* Add (tentative) FDB support for HP Comware switches
* build schema
* schema changes
* run build schema.......
* FBD Table discovery working on HP ComWare
* FBD Table discovery working on HP ComWare
* Add FDB support for HP Comware
* Discovery regex fix, tested and works for cisco 3750, 2960, 6509
* Use vlan_id instead of raw vlan. Remove Nokia implementation as vlans are not being discovered for it at the moment.
* Use vlan_id instead of vlan.
* Add debug messages, comware support
* Sorry.. phpunit isnt working for me
* Use a file structure instead of if statement per OS
* Make inserts to vlan table if entry does not exist.
* Rename sql schema file
* Use existing context name
Improve output and database synchronization
Remove chromephp and if ios
rename sqlfile
add comware back
update schema
* Delete TIMETRA-CHASSIS-MIB
* Delete TIMETRA-FILTER-MIB
* change index to bigint to be safe
* Added Basic OS support for Benu
* Benu OS take 2
* Benu OS take 3
* Benu round 4 - this time for real
* added benu sensors
* reamed to benuos, renamed mibs, sensor rewrite pending
* upated sensors to use snmp_get_multi
* rename yaml
* rename yaml
* updated mempool discover to use multi get, fixed whitepaces, removed old commented out code from polling
* changed detection from sysDescr to sysObjectId
* Update benuos.yaml
* Update benuos.inc.php
* Update benuos.inc.php
* Update benuos.inc.php
* Update benuos.inc.php
* Use foreach $key => value
* use get_port_by_ifIndex
get rid of the rest of the array_keys()
* improve hex_to_ip() function, add tests, use in more places
* Simplify can_skip_discovery logic
* ADVA device support
- sensors for temperature, voltage, current and dbm
- ADVA mibs for FSP150CC and FSP3000R7
* sysObjectId - changed to level above instead of two entries
* OS for FSP150 and FSP3000R7 now in two seperate OS definitions
- split the files
- removed sysObjectId check for each
- removed hardcoded sensor limits
- removed more generic MIBs
* standardized variables / corrected declarations
* added missing MIB, style check code
* - corrected 'current' readings by adding $devisor
- changed rrdfile names to sensorname+$index
- moved LLDP-V2 mibs to main mib directory
* Avaya VSP Temperature Support
Avaya VSP Operating System Software Temperature Support
* Update avaya-vsp.inc.php
* Update avaya-vsp.inc.php
* Update avaya-vsp.inc.php
* Update avaya-vsp.inc.php
* Update avaya-vsp.inc.php
* Update avaya-vsp.inc.php
* Update avaya-vsp.inc.php
* Update avaya-vsp.inc.php
New code for VSP Temperatures
* Update avaya-vsp.inc.php
* Update avaya-vsp.inc.php
I have unset my 1 snmp_walk
* small update to variable names and use
* Add state support FAN, Power Supply Avaya VSP
Adding FAN and Power Supply support for Avaya VOSS(VSP operating systems platform)
* Update avaya-vsp.inc.php
* Update avaya-vsp.inc.php
$index has been changed to rcChasFanOperStatus.$index and rcChasPowerSupplyOperStatus.$index in discover_sensor and create_sensor_to_state_index
* Update avaya-vsp.inc.php
its always the details. nice to have another pair of eyes. :-)
* Add TiMOS temperature and power supply state sensors.
* Refactor the sensor discovery, making it a little cleaner
* Discover TiMOS device serial number
Pull proper hardware OID instead of parsing sysDescr
* Make the style gods happy
* Refactoring for some of the requested changes
* Break out the arrays into variables as scrutinizer requests...
* Fix missing semicolon
* Committer: Chris A. Evans <thecityofguanyu@outlook.com>
Add basic support for MRV OptiDriver Optical Transport Platform
* OS Detection
* Sensors
* Chassis temperature
* State
* Tx/Rx Optical Interface Power
* Power Supply
* Fan
* renamed: includes/definitions/mrv-optidriver.yaml -> includes/definitions/mrv-od.yaml
new file: includes/discovery/sensors/dbm/mrv-od.inc.php
deleted: includes/discovery/sensors/dbm/mrv-optidriver.inc.php
renamed: includes/discovery/sensors/pre-cache/mrv-optidriver.inc.php -> includes/discovery/sensors/pre-cache/mrv-od.inc.php
renamed: includes/discovery/sensors/state/mrv-optidriver.inc.php -> includes/discovery/sensors/state/mrv-od.inc.php
new file: includes/discovery/sensors/temperature/mrv-od.inc.php
deleted: includes/discovery/sensors/temperature/mrv-optidriver.inc.php
renamed: includes/polling/os/mrv-optidriver.inc.php -> includes/polling/os/mrv-od.inc.php
* modified: includes/discovery/sensors/dbm/mrv-od.inc.php
Added missing ')' in the if conditionals.
* Requested changes
modified: includes/definitions/mrv-od.yaml
modified: includes/discovery/sensors/state/mrv-od.inc.php
modified: includes/discovery/sensors/temperature/mrv-od.inc.php
modified: includes/polling/os/mrv-od.inc.php
removed extensions from all new mib files
* Add snmprec file to satisfy test units
new file: tests/snmpsim/mrv-od.snmprec
* newdevice: HPE RT3000 UPS
* newdevice: HPE RT3000 UPS
* changed polling to snmp_get_multi_oid, fixed divisor for load and voltage
* fixed blank line in functions.inc.php
* newdevice: Added support for Terra sti410c
* newdevice: tests for Terra sti410c
* renamed sti410c to terra, added support for sti440 and recognition for sda410C, sta410C, saa410C, sdi410C, sai410C, ttd440, ttx410C, tdx410C, sdi480
* fixed terra.svg and access to sysDescr
* Added feature CPU and Memory monitoring on BDCom switchs
* Added feature CPU and Memory monitoring on BDCom switchs, plus pre-commit check
* Added mib files, and modification given by laf
* Replaced png logo with a svg version. Modification in the validation of processor discovery.
* Replaced png logo with a svg version. Modification in the validation of processor discovery + added files.
* feature: Wireless Sensors
Includes client counts for ios and unifi
Graphing could use some improvement.
Alerting and threshold ui not implemented
WIP: starting OO based wireless sensors.
Class based functionality working
remove old functional files
add schema file
discovery needs to be enabled, not polling
fix up schema
fix Unifi discovery not returning an array
Add some debug when discovering a sensor.
Fix style.
Add missing semicolin
Add a null object (Generic) for OS.
Fill out some phpdocs
Re-organized code
Each sensor type now has it's own discovery and polling interface
Custom polling tested with Unifi CCQ
Left to do:
Implement UI (Graphs and Custom thresholds)
Alerting
Testing
Fix event message text
Remove runDiscovery and runPolling from OS, they are unused and don't belong there.
Cleanups/docs
Missed this file.
Remove the requirement to fetch the current value to check validity.
Do that automatically if current is not specified
A few cleanups here and there
First pass at graphing.
device_ and wireless_ graphs added.
Add RouterOS support
Singleton OS instance isn't required right now.
Remove that to allow some memory to be freed.
Add wireless to the device list metrics.
Make all metrics clickable
Tweak graphs a bit
Implement limit configuration page.
Use sensors page as common code instead of duplicating.
Clean up some javascript interactions: Allow enter on values to save. Cancel if update is not needed. Enable the clear custom button after setting a custom value.
Add some wireless alert rules to the library.
Add documentation.
Add unifi client counts by ssid in addition to radio.
Optimize Sensor polling a bit.
Add HP MSM clients support (for full controller)
Fix function accessibility
Formalize the discovery and poller interfaces.
Add Xirrus clients and noise floor
move module interfaces to a more appropriate place.
push caching code up to os, unsure about this do to the limitations
No point in selectively enabling wireless discovery. We only discover if the device supports something.
Add RSSI, Power, and Rate.
Add these sensors for Ubnt Airos.
Clean up some copyrights.
Reduce the amount of files need to add new types.
Leave graph files for consistency and to allow customization.
Remove the old wifi clients graph completely.
ciscowlc should have improved counts (total and per-ssid)
Schema didn't get added.
Impelement the rest of the AirOS sensors
Reformat and re-organize the Airos.php class.
Add several UBNT AirFiber sensors
A few fixes add links to the section headers
Add HP MSM mibs.
* Schema file got dropped in rebase.
* Add wireless menu to view sensors across all devices.
Icons in the menu need help :/
* Add HeliOS, Mimosa, and Siklu support
Sensors added SNR + Noise
* Add power and utilization to Unifi
* Update polling to prefetch all sensor data in a few snmp requests as possible
* Add Extendair: tx+rx power, aggregate rate, frequency
* Add a check for duplicate sensors in discovery. Just print an error for now.
* Add Bit Error Ratio (named error-ratio to allow for bit error rate to be added if needed)
Fix an incorrect link in the wireless sensors table
* Add error rate and change all bps and Hz to use si units
* Fixes to limits and frequency display
* Fix overview graph frequency display
A few decimal place tweaks
* Don't allow switching sensor and wireless-sensor graphs, it doesn't work.
Change individual distance graphs to use si units
* Go through the OS and make sure I got all the sensors I can (probably missed some still)
Because pollWirelessChannelAsFrequency() is generic and a little complex, so pull it up to OS.
Message to help developers adding supports that don't return an array from discover functions.
* Fix some issues
* Remove noise and signal for now at least
A couple more fixes
Add a notification
* Oopsie
* Bonus AirFiber sensors
There were two or more separate $device arrays during discovery. When one was updated, others were not.
Combine those all.
Make sure the new os is loaded if the os changed.
* I agree to the conditions of the Contributor Agreement
contained in doc/General/Contributing.md.
* Extends the work done by @Peter2121 on #3519 to include disk statuses as individual sensors.
* Making changes as requested by @laf.
* Fix a typo from the variable renaming flurry.
* small updates
* fix: Updated ipv4/ipv6 discovery to exclude IPs with invalid port_ids
* Update the valid IP sql queries to include addresses without a port
* Fix arp-table too.
* Eaton UPS cleanup
* newdevice: Eaton/MGE UPS cleanup
MGE split Galaxy (and Upsilon) to apc-mgeups
All others to eaton-mgeups
Remove mge ups from eatonups os.
Remove powerware it is a duplicate of eatonups
* Add rfc1528 for both mgeups os
* Update overview graphs
PPC_LINUX_IOSD or X86_64_LINUX_IOSD means IOS-XE, Drop the X86_64_ as that gives us full coverage.
Drop IOS-XE usage for detection. Allows us to migrate ios detection to yaml.
* I agree to the conditions of the Contributor Agreement contained in doc/General/Contributing.md.
* Poll device for optic lane info
* Add discovery for multiple lanes per optic
* Update formatting
* Update AUTHORS.md
* newdevice: improve comware detection
Only some H3C Comware devices were detected as comware, detect them all.
* Update the test data
FYI, C1234 was just a nonsense string
* New Device Support for ICT DC Distribution Panels
* Fixed indexes, removed tests
* Supply name instead of oid to snmp_get call
* Fixed index conflict for current sensors
* refactor: Moved ifLabel -> cleanPort and updated the usage
* added list of tags allowed
* few updates as per comments from @murrant
* Added simple unit tests
* double display for javascript popover
* Remove ifNameDescr() function
Fix realtime port page
* remove accidental temp code
* Remove double display calls in ajax tables
* Added detection for Hirschmann Railswitch
* Update AUTHORS.md
I agree to the conditions of the Contributor Agreement contained in doc/General/Contributing.md.
* Fixes for PR 6207 requested changes
* Fixes for PR 6207 requested changes
* Fixes for PR 6207 requested changes
* Fix for PR 6207 requested changes
* Fix for PR 6207 requested changes
* Fix for PR 6207 requested changes (old states and temperatures directories removal)
* fix for PR 6207 : state fileupdated
* fix: Change rfc1628 'state' (est. runtime and on battery) to runtime
* Fix up the graph error ( : in ds name).
Change seconds on battery to minutes so the value is in minutes
* wrong scale for limits
* Don't use snmp_walk
* Added Coriant TNMS MIB and MEF (Metro Ethernet Forum) MIB
* Coriant Logo
* Added Basic Librenms Support and MEF support
* Forgot snmpsim
* Better like this
* Spaces !
* Renamed sql file
* Space
* Fix spaces
* svgo optimized logo
* Removed modules that are by default to 0
* Added sysDescr as requested
* Fix conflict file
* Setting right severity id in the discovery log_event()
* Since MEF-EVC can be used on other devices than Coriant's one, lets this be used by the poller/discovery itself
* Fixed spaces
* Rename 173.sql to 174.sql
* Moved logo from os/ to logos/
Addd Icon
* Fix name
* minimize file
* Change l/w to viewbox and minify
* Renamed mef-evc to mef on request from @laf
* Rename 174.sql to 175.sql
* Fix Generex votage sensor divisor and add an exclusion option
* Allow OID to be used to figure out if we need to change the divisor.
* Missed current and found bugs while I was there.
* Use returns swap oid logic
* Add CPU and memory for Entera devices
* Renaming file for consistency
* split -> explode
* Added graphs to overview page, changed oid used for CPU, and added storage
* Remove uneeded code
* Fixed storage
* Update LLDP discovery to use IP address if discovery_by_ip is enabled
* Update as per laf's suggetions
* Fix indentation
* Updated with Laf's suggestion
* Add more debugging
* Trim MAC address
* Remove debug statements
* feature: Added ability to switch port polling mode
* update, speed things up slightly by walking certain tables
* more fixes
* updates
* updates
* update to exclude ports that are down
* wrong variable used
* update to set previous port status when null
* small update to port disco
* New event log severity model
* Revert "New event log severity model"
This reverts commit 0783527af8.
* New event log severity model
* Fixed spaces vs tabs
* Learning the format requirements
* Learning the format requirements
* Moved the colours in to the stylesheet
* change SQL file to stop conflicting
* refactor log_event so severity isn't last, but reference is.
* keep having to move the file due to new PR conflicts
* Revert "keep having to move the file due to new PR conflicts"
This reverts commit f3030e7218.
* extended support to dashboard and eventlog page
* formatting
* refactor: Tidy up sensor discovery
* more files
* removed uneeded files
* updated array check
* updates for linux/supermicro
* small changes
* Update linux.inc.php
* Add supermicro temps back to linux.inc.php
* No need for is_file on rfc1628.inc.php, it exists
* Revert rfc1628 change
* Fix whitespace...
* rebased
* fixed $valid data not being passed to new sensors() function
* Update discovery-protocols.inc.php
Allow invalid hostnames if discovery by IP is true
* Update AUTHORS.md
signing
* Update AUTHORS.md
signing
* CDP discovery by IP modification
CDP would not discover devices that had invalid DNS value for cdpCacheDeviceId - modified to accept
Also exclude adding devices whose hostname matches the IP
* Update AUTHORS.md
* I agree to the conditions of the Contributor Agreement contained in doc/General/Contributing.md.
I agree to the conditions of the Contributor Agreement contained in doc/General/Contributing.md.
~ Changed: Message for the NTP discovery and polling altered. A stratum of 16
is not 'Insane' its actually not in sync as per the RFC 5909 specification.
See: https://tools.ietf.org/html/rfc5905#page-21 Fig. 11 for reference.
On branch edgecore
Changes to be committed:
modified: ../includes/discovery/os/edgecos.inc.php
modified: OSDiscoveryTest.php
new file: snmpsim/edgecos-ecs4210-28t.snmprec
new file: snmpsim/edgecos-ecs4510-28f.snmprec
new file: snmpsim/edgecos-ecs4510-52t.snmprec
new file: snmpsim/edgecos-es3528mv2.snmprec