* Dynamic entPhysicalIndex values for YamlDiscovery
* Use degree symbol when displaying temperature values
* Adjust SNMP options for new snmp_get_multi()
The OS polling module for mrv-od was using snmpget commands with
-Ovqs, rather than -OQUs, which meant that the equal sign was
stripped in the snmpget output. But that equal sign is now used
as the explode() delimiter so it broke the construction of the
returned array for the snmp_get_multi() function.
Additionally, I removed the NBS-CMMC-MIB:: prefix which is no
longer returned by snmp_get_multi() as part of the OID. Now,
the mrv-od.inc.php OS polling module is retrieving data from
positions in the array with actual content.
* Convert mrv-od to yaml, improve sensors discovery
Converted sensors discovery for mrv-od to yaml, retaining all
functionality for pre-cache, dbm, and temperature. Replaced specific
SFF-8472 Digital Diagnostics state sensors with generic ones, given that
we are now reading out detailed values through new dbm, current, voltage
sensors.
Reasoning: the generic Digital Diagnostics state sensors report state
diagsOk, or else the worst severity level measured among all of the
Digital Diagnostics values for that optical data point. You'd really
only want to set a generic "alarm" so the box can report that it
thinks something is wrong, whereafter a human can look at the graphs
and/or the CLI to draw their conclusions about the alarm. Otherwise,
things would quickly become too spammy as you are essentially duplicating
every sensor across both regular measurements and state measurements.
Further changes:
- Increase maximum number of detected PSUs from 4 to 8 per the MIB.
- State sensor to detect (in)sufficient power budget for all modules.
- Use skip_values to hide state sensors with the notSupported value.
- Use skip_values to hide sensors which are unsupported per the MIB,
signified by the device returning special values -1 or -2147483648.
- Add dBm, temperature "over" graphs to the mrv-od device header bar.
* Add mrv-od entity-physical support
MRV does not use the ENTITY-MIB data format, so we had to reconstruct
the inventory from their proprietary format using the following tables
from their NBS-CMMC-MIB:
- nbsCmmcChassisTable
- nbsCmmcSlotTable
- nbsCmmcPortTable
Additionally, since sensors didn't have their own ifindex in the
NBS-CMMC-MIB, I went ahead and appended the last OID digit to
the "containing" ifindex create a unique number. The same was
done for the sensors in the yaml-discovery.
* Test data for mrv-od, fix 2* pre-commit.php issues
* Fix entPhysicalIndex returning 0 instead of null
Some unit test breakage was caused by 62167ebcb which changed
the code to return 0 instead of null when {{ $index }} was
set as the entPhysicalIndex in the YamlDiscovery. So now we
detect if it returns some value which may be interpreted as
false, and if so we set null rather than 0.
* New OS: Aruba Instant
* New OS: Aruba Instant
* recreate test data
* remove aruba_instant test data
* remove empty file includes/definitions/discovery/aruba-instant.yaml
* fix state sensor discovery
* remove minor changes to includes/polling/functions.inc.phpwq
* move mac helper functions to Rewrite class
* simplify snmpwalk_group usage, general code cleanup
* fixes
* fixes
* fixes
* fixes
* fixes
* fixes
* recreate test data for 105 variant
* Add Client sensors for 8.4.0.0+
* begin stream-lining discovery and polling. separating discovery functions
* update test data
* update test data
* update test data
* improve mempool discovery/polling, clean up os polling, improve state discovery, improve os definition, misc fixes to wireless sensors module
* attempt to implement custom AP and client discovery and polling
* code fixes
* re-add ap count top graph
* more fixes
* more fixes
* more fixes
* more fixes
* remove some debugging, update test data
* code cleanup
* code cleanup
* address some scrutinizer warnings
* additional sensors for timos
change to yaml discovery for sensors
remove obsolete tmnxChassisPowerSupplyTable
* inconsistent data in snmpsim
* fix snmpsim data
* fix snmpsim data
* fix snmpsim data
* device: Added support for APC AP9810 zone contacts
* fix: disconnected sensors been detected. And iemConfigProbesTable certainly does get used and it reference
* fix: load is VA, not to be confused with watts. This could be different per device though...
Apparent Power unit = VA
Real Power unit = Watts
And Keeping codeclimate happy
* feature: updated APC MIB
* feature: added test data for APC Smart UPS SMX750i and AP9810 with contact switches
* adding paper tray status and error states
* adding paper tray test data
* Create jetdirect_papertray.json
* Store printer supply type
* Update json data
* fix style
* Add data scrubbing state to Synology RAID status
Adds a new state translation to Synology DSM RAID status sensor, so it displays "DataScrubbing" while the operation is running. Previously it would just show "# 13".
* Update Synology RAID MIB
Downloaded from
https://global.download.synology.com/download/Document/MIBGuide/Synology_MIB_File.zip
* refactor: advanced sensor states
mark create_state_index($state_name) as E_USER_DEPRECATED?
* fix: minor corrections
* fix: mib has partialSync(9) and incompatibleVersion(8)
* fix: corrected netagent2upsstate - Sleeping(5)
* fix: NetAgent2 upsThreePhaseUPSStatusInverterOperating correction
* refactor: array() be gone
* Refactoring includes/discovery/sensors/state/extendair.inc.php with arrays
And tidying up array formatting in other files
* fix: minor typo
* standardising array item names
removed redundant "if ($state_index_id !== null) {"
* workaround: procurve & serverscheck
a sensor is causing create_state_index($state) to return null.
The updated code doesn't allow for this and thus a hybrid is being used.
* standardised naming of state info. Caused a typo $state_name instead of $status_name
$state_name is the standard
* converted compas to square arrays
* Converted APC states using preg_match to new create_state_index() call
* Update boss.inc.php
* newdevice: Added support for Alpha Comp@s
http://www.alphainnovations.eu/compas
* fix: Updated state values
state values persist in database, even after deletion of devices.
Not a 100% how to purge them.
create_state_index($state_name, $states) doesn't update the database, if the states have changed
* refactor: comp@s OS state sensor now updated to latest format
* add mibs,first commit
* adds support for Nokia ISAM Plattform
* remove some comments
* change os polling to multi oid
* Restore file headers
* Fix discovery by sysObjectID
* first deactivate checks against IHUB (timos), It not necessary so long we can not provide more thatn one snmp community per device
* move snmp state and temperature from pre-cache
* Update os_schema.json
* Merge ethernetprobe2 into akcp and improve akcp
Use higher resolution temperature values if available
Properly hand F/C temperature scales (LibreNMS always uses C)
Add current, voltage, airflow (no test data)
Move humidity to yaml
* Update akcp.snmprec
* Update akcp-serverprobe8.json
* Add group
* Update test data
remove old MIB
DO NOT DELETE THIS TEXT
#### Please note
> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.
- [X] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)
#### Testers
If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
After you are done testing, you can remove the changes with `./scripts/github-remove`. If there are schema changes, you can ask on discord how to revert.
Tested on MX and EX series, works fine.
Skip slots that are empty and pull all sensors in jnxFruTable, data from old code is preserved.
* New os Eltek WebPower - files + test files
* OS eltek-webpower - minor fix to mib query.
* OS eltek-webpower - sensor and state data improvements.
* OS Eltek Webpower - Created battery symmetry test and battery bank delta voltage support.
* OS Eltek Webpower - symmetry code fix.
* OS Eltek Webpower - symmetry code fix.
* OS Eltek Webpower - symmetry code fix.
* new os eltek - rectifier state fix
* Updated json test data
* Update eltek-webpower.json
* Update eltek-webpower.yaml
* Update eltek-webpower.yaml
* update os polling for ray
I changed hardware detection, because in old format i got a hostname instead of hardware. I added features tab also.
* Added wireless rate sensors
I added sensors for Netbitrate and Maxbirate
* deleted old ray.png
* added better resolution logo for ray
* Update Ray.php
* Delete ray.png
* Add files via upload
* Delete ray.svg
* added ray.svg logo
* update ray.snmprec
* Update Ray.php
* Updated json test data
* added state support for RAy Radios
* Update ray.snmprec
* netagent2 - 3Phase UPS support
* Revert "netagent2 - 3Phase UPS support"
This reverts commit 7900bc5bc0.
* OS netagent feature update - 3 phase support
* OS netagent2 update - 3phase support code cleanup
* OS netagent2 update - 3phase support code cleanup 2
* Netagent2 - Add status unknown to smoke and water states.
* NetAgent2 - changed detection method like murrant suggested.
* netagent2 - XPPC-MIB - 3 phase states support
* Added json test data
Added discovery for state of serverscheck flooding sensors.
DO NOT DELETE THIS TEXT
#### Please note
> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.
- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)
#### Testers
If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
Use Log facility when Laravel is booted.
Update init.php so we can easily boot Laravel for CLI scripts. (and just Eloquent, but that may go away)
Move all debug setup into set_debug() function and use that across all scripts.
Log Laravel database queries.
Send debug output to librenms log file when enabling debug in the webui.
Allow for colorized Log CLI output. (currently will leave % tags in log file output)
** Needs testing and perhaps tweaking still.
DO NOT DELETE THIS TEXT
#### Please note
> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.
- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)
#### Testers
If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
* 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
* 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
* 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
* 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
* 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)
* 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
* 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
* 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