* Add ubiquiti Airfiber 60
* New AF60 data and MIB
* Stylci fix and small additions
* Update test data
* Stylefix
* Remove the weird ubiquity oids containing encoded mac addresses
* Updated test data
* Remove more complex sensors for now to be added after the conflict airos airos-af60 is solved
* Fix hardware and OS
* To be verified is this is the most practical / clean way of doing it
* Advanced wireless and MCS state sensor
* Fix link capacity multiplier and active link
* Test data update fix lint
* Maybe better
* Fix Temperature Sensor for AirOS 8
* Update airos_airos8.json
* Update airos.json
* Add new skip_values feature to deal with Ubiquiti nonsense.
Tweak test data to test the change
fix not_regex
Co-authored-by: Tony Murray <murraytony@gmail.com>
* forcewalk param
* [snmp][no_bulk]
* var names, test, schema
* Key off OIDs, not mibs
luminato is POC and needs to be reverted before merge.
* fix up os schema
* docs
* remove luminato arbitrary changes
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Use GitLab instead of Gitlab
Only change text part, the Alert.Transport.Gitlab class left as is.
* Fix href in document
* Move section in document
The agent list in this document is sorted by alphabetical order,
"SDFS info" is the only exception.
* Remove trailing spaces in document
* Align code in document
* Fix Markdown in document
- Escape underline
- Add syntax highlight
- Add two space in the end of line to make it a newline
- Add newline before list or code section
* Update LibreNMS/Alert/Transport/Gitlab.php
Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
* Test the num_oid generation
* Refactor num_oid discovery
* cnt
* Cache the value to avoid unnecessary snmptranslate
* desc of function
* typo
* Negative caching as well
* Negative caching
* style
* Str::before
* Str::before
* Str::before
* Fix key, and model Devices
* types
* types
* doc update
* re-run tests
* Use Cache class
* Simplify caching and do it into oidToNumeric
* Simplify caching and do it into oidToNumeric
* style
* Extend to 3 hours
* and not ->cache_time
* force re-run tests
* only one OID for num_oid test
* rerun tests
* typo in MD
* restore
* Exemple
* Exemple
* light change
* test
* test
* test
* back to PR
* phpstan + suggestions from Tony
* fix firebrick num_oid
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Developer device simulation
lnms dev:simulate
handy helper to start snmpsim with test data and optionally add and remove a device to LibreNMS
* doc update
* Cisco enhanced cellular support
* Extra sensors, camelcasing and bugfixes
* Doc update
* German translation
* French translation
* Style fixes
* Style changes
* Style changes
* Style changes
* Style changes
* Style changes
* Added test data
* New test data --variant
* New test data --variant ir1101
* Made the new wireless sensors generic
* Added test data for ios variant ir809
* Fix includes/discovery/sensors/count/cisco.inc.php, thanks PipoCanaja
* Moved cellular operating band from Wireless sensors to count sensor
* test data
* test data
* test data
* test data
* Moved ICCID/IMSI/IMEI to inventory
* test data and style fix
* Cellular state sensors now have a group
Co-authored-by: Maikel de Boer <mdb@tampnet.com>
* Added tv_signal sensor class (TV signal in dBmV (decibells to millivolt))
* Added OS motorola-cm (Motorolla DOCSIS Cable Modem)
* Added OS thomson-cm (Thomson DOCSIS Cable Modem)
* Update Documentation
Most work in Graylog and SNMP
Fixed many code tags, spelling and wording.
Added SNMP PowerShell example.
* Update SNMP-Configuration-Examples.md
Fix TOC brackets
* 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
* split siteboss 530 and 550 into multiple OS
* add more sensors to siteboss550 and new Percent sensor
* fix contact closure event state values
* split os polling for siteboss to siteboss530 and siteboss550
* add test unit for siteboss550, rename test unit for siteboss to siteboss530
* refactor siteboss os polling to \Librenms\OS
* implement OSPolling to Sitebos550
* force save in pollOS() to keep custom sysName during polling
* updated unit test
* update device graphs
* remove pollOS and extra save()
* siteboss550 no longer extends OSPolling
* update siteboss550 test data
* update discoverOS() to match recent os discovery changes
* styleCI changes
* fix siteboss hardware discovery; add check to OS polling if os_group .inc file exists
* collapse siteboss to single OS, implement siteboss sensors in advanced discovery
* add siteboss unit tests
* removed unneeded OS disco defs
* styleCI changes
* more styleCI changes
* split siteboss os to siteboss530 and siteboss550
* split siteboss os to siteboss530 and siteboss550
* move php polling back into yaml
* keep original siteboss OS name
* resave snmp data for siteboss OS
* resave snmp data for siteboss550 OS
* removing $graphs global
* remove unused things
* fix some additional graphs
* Fix graphs persisting too soon
* correct name for poller module performance graph
* only one type of graph is used here
* Change Units on Noise Floor
I may be wrong, but I think this should just be dBm (i.e. integrated over the carrier bandwidth). The numbers look much too high to me to be on a per Hz basis.
If I am correct here, this should also be updated in the web interface.
Thanks!
* Update php, correct units for Wireless noise-floor
* Wireless Frequency, don't format_si, to avoid kMHz units
* Update Wireless noise-floor units, in RRD plots
* Added discovery and graphing for JunOS (SRX) RPM probes
* Proposed changes for a percent based sensor type
* Fixed missing MIB declaration in JunOS YAML discovery file
* Updated Health-information.md to reflect the new percentage value type
* Added separate test data for junos_rpm type
* Update sensors.php
* Update sensors.php
* Update functions.inc.php
* test re-run
* Update junos_rpm.json
* percentage -> loss
* add ifSpeed prev test data
* mis-merge
* update sensors
* and bgp...
Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
Co-authored-by: Tony Murray <murraytony@gmail.com>
* added functionality to set sysLocation override in $os.inc.php files
* php styling fixes
* updated docs for location override in $os.inc.php
* patch poweralert.inc.php to use $location override
* added location override for enexus (Eltek)
* update phpdoc for set_device_location()
* converged location code in core.inc.php to use set_device_location()
* added new snmprec test data for enexus os
* Travis test data
* remove enexus_smartpacks2 test data
* Revert "remove enexus_smartpacks2 test data"
This reverts commit 36c8fc7036.
* updated enexus_smartpacks2 test data with generic syslocation
* kick travis CI
* kick travis CI
* Migrate ironware sensor discovery from php to yaml.
* More sensors, add grouping.
* dynamic_discovery_get_value() becomes getValueFromData()
* Target a specific index with skip_values.
* Improve Brocade BGP session discovery/polling
This commit allows for the correct discovery of BGP sessions
with 32-bit ASNs, IPv6 neighbors using the BGP4V2-MIB which is
based on draft-ietf-idr-bgp4-mibv2-11 and also polls for IPv4
unicast received routes through the FOUNDRY-SN-BGP4-GROUP-MIB.
Copied most of the code from PR#8877 by @Mikeburke14, cleaned
up the code a little bit to match the normal LibreNMS style,
and fixed bgpPeers_cbgp discovery as well as polling for the
ipv4.unicast neighbors.
Note that older Brocade IronWare firmware versions are known
to have multiple defects relating to the BGP4V2-MIB which
might result in certain missing non-established neighbors.
Related vendor defect numbers:
- DEFECT000633962
-- Symptom: The OID bgp4V2PeerAdminStatus does not return the
correct value
-- Reported: NI 05.7.00
-- Resolved: NI 05.8.00g
- DEFECT000583319
-- Symptom: SNMP polling on bgp4V2PeerTable (OID brcdIp.3.5.1.1.2)
does not display all the BGP entries
-- Reported: NI 05.6.00
-- Resolved: NI 05.8.00e
- DEFECT000550309
-- Symptom: SNMP polling on bgp4V2PeerTable (OID brcdIp.3.5.1.1.2)
does not display the full information
-- Reported: NI 05.7.00
-- Resolved: NI 05.8.00c
* Add ironware CER & ICX platform test data.
* Re-add ironware.json compatible with current master branch.
* Add bad_ifoperstatus for filtering interfaces having a status for example notPresent
* Add bad_ifoperstatus for filtering interfaces having a status for example notPresent
* Add bad_ifoperstatus for filtering interfaces having a status for example notPresent
* Default to null for group yaml discovery.
* Update test data for a154bda yaml group null fix.
* Changes to guessed limit functions for sensors.
Original behaviour
===================
The file `includes/discovery/functions.inc.php` contains
`sensor_limit_low()` and `sensor_limit()` which both attempt to
guess a sane value for sensors when no explicitly defined
low_limit or high_limit can be found during discovery.
Both switch control structures used in those two functions
have empty case statements which means that if one of those matches,
it's going to fall through and run the code for each subsequent
case until a `break` is reached.
For example, when we call `function sensor_low_limit(dbm, -13.036)`
it will return the value `-12.3842` instead of `null`. That is
because there will be a match at `case 'dbm':` which falls through
all the way to `case 'cooling':`, where it performs
`$limit = -13.036 * 0.95` before hitting a `break`.
Changed behaviour
===================
Removed `power_consumed` and `count` guessed low_limit and
high_limit, I personally added those sensor classes in PR #9471
when I didn't understand that a switch control structure has
fall-through behaviour so I can guarantee that guessing limits for
those is a mistake on my behalf. It should not be there, only
power_factor can have guessed limits. Apologies for the issue,
I'm still a beginning programmer!
Furthermore, I removed guessed high_limit values for `current`
and `power` because these are supposed to draw higher values as
more devices or components are installed on for example a PDU or
a chassis.
Finally, I removed guessed low_limit and high_limit for `dbm`
sensors, there is a much too large variance in power budget on
commercially available optical transceivers for there to be a
sensible window where you can guess these values.
* Documentation on adding sensor classes.
* Update test data - sensor limit changes @ 30212d2
* clean up all but header incrementing in Creating-Transport.md
* make Device-Dependencies.md mdl happy
* make Entities.md as mdl happy as possible... one long table line left
* make mdl as happy as possible for index.md
* clean up Introduction.md as much as possible
* minor formatting cleanup... move each icon onto its own row
* make ack and notes the same style
* clean Macros.md up
* clean Rules.md up as much as possible
* tweak one line a bit to get it to format a bit nicer
* a bit more format tweaking, making sure it does not sure with >
* clean up as much as possible for Templates.md
* make Testing.md as mdl happy as possibly
* clean Transports.md up as much as possible
* clean as many issues as possible for Alerts.md
* clean up as much of ARP.md as possible
* clean up as much as possible for Bills.md
* make DeviceGroups.md as mdl happy as possible
* cleanup Devices.md
* make as mdl happy as possible Inventory.md and index.md
* mdl cleanup for Logs.md and PortGroups.md
* make Ports.md and Routing.md as happy as possible
* clean up Services.md, Switching.md, and Systems.md as much as possible
* more markup cleanup
* lots more md cleanup udner Devloping/
* reapply bits from #10343 that accidentally got removed when merging