* Add DBm and State Sensors
Added extra MIB files
Added Dbm levels on ports
Added Stacking State Sensors
* Added include for zynos.inc.php
File patch - includes/discovery/ports/zynos.inc.php
* Create ZYXEL-STACKING-MIB
Official Zyxel MIB
* Create ZYXEL-TRANSCEIVER-MIB
Official Zyxel MIB
* Added test file zynos_xgs4600.json
* Create zynos snmprec test file
* CENSORED zynos_xgs4600.json
* Created new polling file for Zynos ports
Converts zynos SWP port style to be 1/1 style
* Created new discovery for Zynos ports
Changes zynos SWP ports to be 1/1 style during discovery
* Fixing ci complaints in discovery/ports/zynos.inc.php
* Fixing ci complaints in polling/ports/os/zynos.inc.php
* fixing more ci complaints in discovery
* Updated Zynos.snmprec
* Updated zynos.json
* Updated zynos.json
* Removed ifDescr pre-cache
* Removed pre-cache from zynos.yaml
* Reverted zynos.snmprec
* Restored zynos.json
* Updated zynos polling to use zeropad
* Updated zynos discovery to use zeropad
* Updated zynos.yaml
Updated zynos.yaml to include ifname: true to change port names and added '/^ZyXEL/' to sysDescr_regex
* Update zynos.inc.php
* Update zynos.inc.php
* Update zynos_xgs4600.json
* Update zynos_xgs4600.snmprec
* Re-Generated Zynos.json
* Fixed ifOperStatus in Zynos.json
* Delete zynos.inc.php
* Update ports.inc.php
* Added new test data
* Updated zyxel test data and discovery
* Update ports.inc.php
* Update zynos.snmprec
* Updated zynos.json
* Update Zynos.json
* Fix StyleCI issues
* Update zynos.json
* Update zynos.json
* Update zynos.json
* Updated zynos mgs3712.json
* Update zynos_mgs3712.json
* Added back old SFP discovery
-SFP Temperature
-SFP Voltage
* Add support for IPMIv2 Kg Key in device settings
Some devices require that the Kg key be specified. An example would be a server of mine, a Cisco C220 M3.
Otherwise, it would error out with `Error: Unable to establish IPMI v2 / RMCP+ session`.
With verbose output enabled, the connection attempt would stop at `RAKP 4 message has invalid integrity check value`.
* Add Kg key support in Poller
* Sanitize Kg key from debug output
* Added Kg key support for discovery process
And it seems to work like a charm. New fields, such as fan tachometers, were added in automatically.
* Applying StyleCI changes
* New device:add code
pre-requisite for updating other code paths
includes option to set display name
separate validation code from device creation
* remove duplicate community and v3 creds
* style fixes
* some lint fixes
* fix phpstan
* Exception cleanup
improved messages and translations
* port association mode to enum
well, pseudo enum
* defaults and cleanups
* fixed/improved validation messages
* fix tests
* fix stupid ide refactor mistake
* lint fixes
* Add EntityVoltage Sensors
* Add BoardPower Sensors
* Add Fanspeed Percent sensor
* Add Voltage_Status and Temperature_Status Normal|Minor|Major|Critical indicators, and internal Voltage and Temperature sensors
* set Minor alarm violations to warning status
* remove inconsistently applied empty lines between sections, and trailing newline that caused errors
* fetch thresholds for temperature.sensors and optical.RxPower from SNMP
* Added snmp testfiles for ne8000-m8 variant of VRP platform
* group sensors by card-identifier
* Regenerate testfiles for 5720-32x-ei
* Regenerate testfiles for the whole VRP family
* Optical Bias is reported as miliamps-mA, and not microamps-uA
* Implement divisor detection, VRP or NE8 prepended on sensor for debug-testing
* remove VRP or NE8 prependeds on sensors(put there for debug/testing only)
* use parent OIDs for walking and naming
* ignore per-slot power if unsupported
* regenerated snmp json testfiles
* sanitize bgp-peers value
* restore vrp.json test
Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
* STP module rewrite WIP
* Finish rewrite
* Ignore disabled and log root/topology changes
* Remove interfaces for now
* fix style
* Lint fixes
* Document ResolvesPortIds and hide map functions
* whitespace fixes
* Revert to stpInstances in case someone writes mstp support
* missed one
* phpstan fixes
* Handle table and oids separately
* forgot to register observer
* Test data and correct non-table handling in SnmpResponse->table()
* update test
* test data
* revert aos7 silly things
* minimal polling
* Update test data
* order ports_ntp and rename new field to port_index
* forgot the db_schema
* revert ciena-sds port things
* MSTP support, maybe
* Adding test data
* Filter bad lines instead of discarding the entire snmp response
and capture fixes and test data
* fresh data
* add os data
* update data, ignore unfound ports, obviously bad device implementation.
* fixes
* Ignore context files in os detection test
* Remove empty table data
* add ciena-sds vlan
* designatedCost column is too small
* Update stp webui
* Refactor code to interfaces, to allow vendor mibs
* update schema
* fix issues added by abstraction
* STP fixes
* Default to no context for vlan 1
* never store vlan 1
* Update test data
* remove eltex brokenness
* fix style
* fix stan
* Fix Rewrite MAC to Hex padding with floats
* fix sqlite migration
* Add echo of name and app_id to all Applications
* Make echo not application specifc
* Fix echo
* Do spaces make StyleCI happy?
* Not spaces, but the type of quotes makes StyleCI happy
* Smartax supports IF-MIB, skip custom discovery and fix polling GPON ports in and out traffic
* This file seems to break GPON port polling on SmartAXes firmware versions R017 and R018, deleting the file fixes GPON polling
* Added necessary test files so that polling tests do not fail
* Catch all module errors
As of PHP 7.1, we can now catch errors and exceptions by catching throwable.
Also, log the errors in a consistent way with the entire stack trace
* Log event and improve messages
* call from facade because event might not exist on logger
* core WIP
* try to finish up
* trim space too
and a couple of cleanups
* update test data
* put escapes back
* another net-snmp difference
* correct copy paste error
* WIP
* Use new code YAY
* a tiny bit more
* Kind of working
* Handle manual modules correctly
* convert core to modern module
* Only save metrics if modules is not overridden
* correct module exists check
* database error handling
* debug handling
* restore bad changes
* Introduce Actions
RunAlertRulesAction
UpdateDeviceGroupsAction
* tweaks to output
* Fix some issues in outside code
* Style fixes
* fixes to module status checks
* typehints!
* Use logger only and DI
* OS module not named correctly
* Work on quiet output a bit more
* generically don't change output when disabling debug if the driver is already stack
* Fix missing $device variable for legacy os polling
Fix missing dbFacile functions when no legacy modules polled in RunAlertRulesAction
* restore legacy os module shim
* use the new poller code for tests
* PollingDevice event
* Fix some issues and enable/disable error reporting around legacy modules
* typehints
* fully update baseline
* Use Process for version commands so we don't leak debug output.
* don't detect rrdtool version in ci every time
* style fixes
* Warning fixes
* more fixes
* re-update baseline
* remove diff noise
* fix up alerts
* Catch exceptions in device ip lookup
* Revert accidental snmp.inc.php poller target change
(should have been ?: not ??)
* core WIP
* try to finish up
* trim space too
and a couple of cleanups
* update test data
* put escapes back
* another net-snmp difference
* correct copy paste error
* WIP
* Use new code YAY
* a tiny bit more
* Kind of working
* Handle manual modules correctly
* convert core to modern module
* Only save metrics if modules is not overridden
* correct module exists check
* database error handling
* debug handling
* restore bad changes
* Introduce Actions
RunAlertRulesAction
UpdateDeviceGroupsAction
* tweaks to output
* Fix some issues in outside code
* Style fixes
* fixes to module status checks
* typehints!
* Use logger only and DI
* OS module not named correctly
* Work on quiet output a bit more
* generically don't change output when disabling debug if the driver is already stack
* Fix missing $device variable for legacy os polling
Fix missing dbFacile functions when no legacy modules polled in RunAlertRulesAction
* restore legacy os module shim
* use the new poller code for tests
* PollingDevice event
* Fix some issues and enable/disable error reporting around legacy modules
* typehints
* fully update baseline
* Use Process for version commands so we don't leak debug output.
* don't detect rrdtool version in ci every time
* style fixes
* Warning fixes
* more fixes
* re-update baseline
* remove diff noise
* fix up alerts
* 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
It appears that the ntp-server application script uses an undefined constant when initializing its data array. The use of undefined constants previously generated a warning, and since PHP 8.0 generates an error instead.
* Rewrite netstats polling
As modern module
Don't use snmpgetnext as it can result in extra data returned
* remove copyrights on interfaces
* typehints
* fix silly backslashes
* Core module WIP
* update OS::make()
* core WIP
* try to finish up
* switch all core do os Model
* Mock WIP
* Working tests
* cleanup
* phpstan fixes
* style fixes
* fix agent
* trim space too
and a couple of cleanups
* corrected ios test data
* missed space
* update test data
* put escapes back
* another net-snmp difference
* Fix class description
* revert snmp.inc.php change, that can be a different PR
* revert snmp.inc.php change, that can be a different PR
No snom os exists anymore.
According to very old files, sysDescr should contain the string "snom".
I checked on stats and no one reports an snom phone added to LibreNMS.
I can't add the os detection, so just remove these.
Netstats PR will remove other snom references
* Remove load_os and load_discovery functions
Put bits where they belong and use $os
* remove extra line return
* OS loading code in the wrong place
* fixes
* line
* Use Measurements for all statistic collection
* fix space
* Use colors
cleanup
* fix style
* manually fix license notice
* add return times and new line
* add return times and new line
* fix mistake in copyright template
* fix style
* Use the normal config to add availability module to the poller list
This also allows it to be disabled.
* Use the normal config to add availability module to the poller list
This also allows it to be disabled.
* Fping WIP
* Update availability, move ping rrd update in the same place as db update.
* move classes around
* make device:ping command work
* use new code, remove legacy code
* save metrics boolean prevents all saves
style fixes
* update device array
* style fixes
* Update unit test
* fix whitespace
* Fix Fping stub
* fix backwards if
* fix phpstan complaining
* Fix return type
* add fillable to DeviceOutage model.
* device_outage migration to add id...
* missed line in db_schema.yaml
* 1 billion more comments on the brain damage up/down code
* tests for status and status_reason fields
* fix style again :D
* Duplicate legacy isSNMPable() functionality
but with only one snmp call ever 😎
* Remove unused variable
* fix migrations for sqlite
* Infer character encoding for ifAlias and sysLocation
Tries to convert character encoding for non-UTF-8 encoded strings.
This will only work for snmp strings that are type-hinted, not ones forced to ASCII with -Oa or similar
Only works for your default charset or Windows-1251 or LATIN1.
You can set your character encoding in .env with CHARSET
Please save us all and just use UTF-8
* style fixes
* less Yoda
* ensure return type
* fall back to passed string
* don't convert strings with any unprintable characters (such as line return)
* Update LibreNMS/Util/StringHelpers.php
Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
* Fix CP850
* fix space
Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
* Removed older Horizon definitions
* Added Horizon Compact definitions via YAML.
* Added Horizon Duo definitions via YAML.
* Added Horizon Compact Plus definitions via YAML.
* Fixed issue with OID name casing for Horizon Duo EnetPort2CRC sensor
* Moved SNR/RSL/Tx Power to wireless sensor definitions.
* Reordered use statements to make StyleCI happy.
* Show ifSpeed on Graph
Drop ifHighSpeed, we really don't want to store that value.
* safer truth check
* Allow global setting and per-graph variable
* match surrounding case
* Style fixes
* Remove old function usage
* update schema
* remove some old usages
* cleanup more ifHighSpeed references
* update test data to remove ifHighSpeed
* fix down migration
* Add button on graph page
Change default
tweak wording
* Common contexts for polling
Don't store contexts on the device array, use the device model
Also should be easier to add different contexts later.
* rename variables for consistency
* Update ict-pdu.inc.php
Lines 7&8 fixes an issue seen when polling current on ICT2000DB-12IRC .
* Create ict-pdu_ict200db-12irc.snmprec
* More generic fix
* Create ict-pdu_ict200db-12irc.json
* Update ict-pdu.json
Co-authored-by: Tony Murray <murraytony@gmail.com>