* Added status checks for (BWCC) battery status and condition for onboard and PCIe RAID-controllers.
Added SNMPsim testfiles for iLO 4 and iLO5 with these changes.
* Added JSON test files.
* Masked serial numbers in SNMPrec files.
* Updated discovery description for battery condition.
* Updated masked SNMPrec file.
* Started UHP VSAT support
* continue uhp
* end of day
* uhp support
* fixed icon / logo
* cleanup
* added test data
* Delete Uhp.php
If the file is empty let's delete it
* added test data
* Update uhp.yaml
spacing fix
* Fixed identation
* New test data
* Fixed
* styling
* fix
Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
* use component to discover if xDSL polling is needed
use component to discover if xDSL polling is needed
* Components OK, Polling in correct files, no DB for VDSL
* GUI
GUI_suite
* per port as well
* rename
* interface listing
* draytek_snmpsim
* fix arraymerge
fix names and max value
* schema
schema
style
* remove one dbFetchRows
remove 2x dbFetchCell
style
style
remove Legacy dbFetchRow
tests
tests
eloquent
more eloquent
more eloquent
one more gone
* fix properties access
eloquent_insert_update
style
tests
tests
tests
tests
* tests
tests
tests
* adslLineCoding
* Models
* fix not nullable cols in DB from code
default values
typo
rename
typo
schema
fix
fix
vdsl fix now
typo
typo
fix size
fix size
* Power values for VDSL
Power values for VDSL
Power values for VDSL
DB
* cleanup
* Rrd::checkRrdExists
* always enable DSL discovery
style
* xdsl module
* cleanup and move to Module
cleanup and move to Module
cleanup and move to Module
cleanup and move to Module
* Fix display
* fix polling and tenth
* remove legacy poller
* Style and Cosmetics
Cosmetics
Cleanup
* Translations
Translations
* exists
exists
* add test support for xdsl
* remove last component call
unused
* translations
* remove non standard onclick event on xdsl line
* Update Discovery Support.md
Update Poller Support.md
toner_gone
* Notification for removal of lnms config:set enable_ports_adsl true
* enable on devices with potential DSL interfaces
* tests are working now
fix teldat tests
* os_schema
* teldat
* move to new module structure
* move to new module structure
* wrong dump function
* wrong dump function
* laravel_through_key hidden
* Update notifications.rss
* Update notifications.rss
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Add other RAM partitions
F5 does partition its RAM, display other partitions, see https://support.f5.com/csp/article/K44014003
* Create f5_ve-14.1.5.1.snmprec
* Create f5_ve-14.1.5.1.json
* Add Cisco flash storage discovery
* Add Cisco flash storage polling
* LibreNMS indentation
* Move file to storage module
* move file to storage module
* Rename and check
Rename the file and add a check only against Cisco devices
* Rename file
* Change parameter from mib name to file name
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Add a first test file for review - Nexus C9340 NXOS ver 10.2.2
* Add first device test files for review - Nexus 9340 ver 10.2.2
* Add Cisco IOS 15.2.7 on C2960X snmprec file
* Add Cisco IOS 15.2.7 on C2960X test data file
* Create nxos_n5548-7.3.3.snmprec
* Create nxos_n5548-7.3.3.json
* Update nxos_n5548-7.3.3.snmprec
* Update nxos_n9340-10.2.2.snmprec
* Update ios_c2960x-15.2.7.snmprec
* Update nxos_n5548-7.3.3.json
* Update nxos_n9340-10.2.2.json
* Update ios_c2960x-15.2.7.json
* Update cisco-flash.inc.php
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Fix Undefined variable/key warnings
* massage for test data
* restore set_numeric, only generates noise
* Fix ucd storage used (apparently free is not stored in discovery...)
* Fix legacy os extend support
Now compatible with oids that could have been used by older software:
extend .1.3.6.1.4.1.2021.7890.2 hardware
extend .1.3.6.1.4.1.2021.7890.3 manufacturer
extend .1.3.6.1.4.1.2021.7890.3 vendor
extend .1.3.6.1.4.1.2021.7890.4 serial
And correct the oids for VERY old exec options.
* Convert to SnmpQuery and convert some numeric oid to textual
* MIB-Dell-10892::chassisServiceTagName.1 is discovered already in ServerHardware trait, no need to double fetch
* OIDs were previously mixed up, fix data
* add new poller
* add a missing ;
* formatting cleanup
* graph stuff and metrics move
* add rrd name
* clean up metrics/rrd def
* more metric/rrd def cleanup
* cleanup
* add basic opensearch graphs
* add opensearch to apps.inc.php
* begin work on opensearch app page
* formatting cleanup
* add translog graphs
* add a missing graph
* fix pending tasks
* add the ability to fetch the saved cluster name
* add fetching the cluster name
* correct the opensearch comment
* add combined shard stats
* add indexing graphs
* correct graph name
* correct some units as being per second
* add more graphs
* add more items for graph sets
* cleanup of units and naming... also more graphs
* more graph stuff
* change the RRD def again and define a few more graphs
* finish basic graph sets
* more graph stuff
* another rrd def change
* add more graphs
* add some more graph sets
* correct unit for c_task_max_in_time
* more graph stuff
* more graph stuff
* correct the unit
* add missing tw_time and another rrd def change
* another unit change
* add trc graphs
* more graph stuff
* add tseg graphs
* add all shards graph to both cluster items
* more graph stuff
* update opensearch app page
* add Opensearch\Elasticsearch app
* add opensearch tests
* run php-cs-fixer on two files
* add alert examples for checking cluster status
* remove an item that was accidentally added as a metric in the test but is not
* derp! thanks jellyfrog
* make it come up as Elisticsearch\Opensearch in the webui
* no longer use components, but app_data, for cluster name change
* update the web side for opensearch for using app_data
* style fix
* update opensearch for new app data stuff
* update to the new Application model
* update poller and device app page for ES/OS
* style cleanup
* update graphs
* test fix
* more test cleanup
* Update alert_rules.json
* begin work on breaking out the RRDs
* update all non-multi rrd graphs for opensearch
* update time_all
* add a unass shards graph
* correct rrd name
* should all be good now
* add missing tm stats
* Un Assigned -> Unassigned
* style cleanup
* another style fix
* remove cluster_name from saved metrics as it is not a metric
Co-authored-by: Tony Murray <murraytony@gmail.com>
Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
* BATS support
* Removed disabled discovery modules
* Style change, more test data, removed unused rows
* Style correction LibreNMS/OS/Bats.php
* Removed old reference
* Another style correction add LibreNMS/OS/Bats.php
* Changed location info and temperature
* Style, again
* Style, again
* New testdata needed
* Fix wrong state color in discovery/bats.yaml
* New test data
* Update bats_bats.json
* Saved the test data in a different way
* More test data
* Manually changed test data
* New test data
* New test data
* Update bats_bats.json
* Saved the test data in a different way
* More test data
* Manually changed test data
* New test data
* New test data
* Delete bats_bats.snmprec
* Update bats.json
* Update bats.json
Co-authored-by: Maikel de Boer <mdb@tampnet.com>
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Update ns-bsd.yaml since SNS updated LTSB 3.7.19
Since the LTSB version of the stromshield OS in 3.7.19 (and also in last version in 3.7.20) the stormshield firewall are seen as a generic device.
The objectID in the MIB as change from ".1.3.6.1.4.1.8072.3.2.8" to ".1.3.6.1.4.1.11256.2.0"
see https://github.com/librenms/librenms/issues/12915
Tested on SNS 3.11.10
* Update ns-bsd.yaml for new and old sysObjectID
The sysDescr contain the serial number, exemple NS-BSD SN510XXXXXXXX amd64 so we need to keep the regex
* Update ns-bsd.yaml
* changed the array to multiligne
* Create ns-bsd.snmprec
* Update ns-bsd.snmprec
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Fix for extracting sensor value from string in poller
* Remove duplicate code
* Update microsemitime.json
Co-authored-by: Maikel de Boer <mdb@tampnet.com>
Co-authored-by: Tony Murray <murraytony@gmail.com>
* add sagan instance fetch function
* add sagan discovery
* add sagan poller
* add sagan graphs
* add graph sources
* add sagan to apps page
* remove alert
* more app graph work
* polling fix
* re-order keys and add alert key
* correct field key usage
* add alert and fix a missing unit
* more unit fixes
* add alert status
* add alert rules for sagan
* fix a missing : after S while I am here in the json stat tool helper... also add tests
* now add the tests
* add docs
* point php-cs-fixer at two files
* remove-unneeded sagan instance fetch function
* convert to use app_data
* style fix
* apply bennet-esyoil's suggestions here as well
* update for the new app model
* convert poller to the new method
* convert the sagan device app page
* convert sagan
* doc cleanup
* Added support for CheckPoint 1450 & 1490 models.
* Added test data for CheckPoint 1100, 1450 & 1490 models.
* Make change
* Moved sysObjectID to the right place.
* Update gaia.yaml
Co-authored-by: Tony Murray <murraytony@gmail.com>
* initial work on add the ability to save/fetch app data
* update to use get_app_data for ZFS
* update the poller for the new app_data stuff
* ZFS now logs changes to pools
* add schema update for app_data stuff
* small formatting fix
* add a missing \
* now adds a column
* sql-schema is no longer used, so remove the file that was added here
* misc cleanups
* rename the method in database/migrations/2022_07_03_1947_add_app_data.php
* hopefully fix the migration bit
* add the column to misc/db_schema.yaml
* more misc small DB fixes
* update the test as the json column uses collat of utf8mb4_bin
* revert the last change and try manually setting it to what is expected
* remove a extra ;
* update suricata as well
* correct the instance -> instances in one location to prevent the old instance list from being stomped
* remove a extra ;
* update fail2ban to use it as well
* remove two unused functions as suricata and fail2ban no longer use components
* style cleanup
* postgres poller updated to use it
* update html side of the postgres bits
* chronyd now uses app data bits now as well
* portactivity now uses it as well
* style fix
* sort the returned arrays from app_data
* correct log message for port activity
* collocation change
* try re-ordering it
* add in the new data column to the tests
* remove a extra ,
* hmm... ->collate('utf8mb4_unicode_ci') is not usable as apparently collate does not exist
* change the column type from json to longtext
* mv chronyd stuff while I sort out the rest of the tests... damn thing is always buggy
* hmm... fix a missing line then likely move stuff back
* style fix
* add fillable
* add the expexcted data for fail2ban json
* escape a " I missed
* add data for portactivity
* add suricata app data
* add app data to zfs legacy test
* put the moved tests back into place and update zfs-v1 test
* add app data for chronyd test
* add app data for fail2ban legacy test
* update zfs v1 app data
* add some notes on application dev work
* add Developing/Application-Notes.md to mkdocs.yml
* add data column to it
* added various suggestions from bennet-esyoil
* convert from isset to sizeof
* type fix
* fully remove the old save app data function and move it into a helper function... the other still needs cleaned up prior to removal
* update docs
* get_app_data is fully removed now as well
* a few style fixes
* add $casts
* update chronyd test
* attempt to fix the data
* more doc cleanup and try changing the cast
* style fix
* revert the changes to the chronyd test
* apply a few of murrant's suggestions
* document working with ->data as json and non-josn
* remove two no-longer used in this PR exceptions
* ->data now operates transparently
* style fix
* update data tests
* fix json
* test fix
* update the app notes to reflect how app data now works
* app test fix
* app data fix for linux_lsi
* json fix
* minor doc cleanup
* remove duplicate querty and use json_decode instead
* style fix
* modelize the app poller
* use a anon func instead of foreach
* test update
* style cleanup
* style cleanup
* another test cleanup
* more test cleanup
* reverse the test changes and add in some more glue code
* revert one of the test changes
* another small test fix
* Make things use models
Left some array access, but those will still work just fine.
* missed chronyd and portactivity
* rename poll to avoid make it any confusion
* Remove extra save and fix timestamp
* save any changes made to app->data
* nope, that was not it
* What are magic methods and how do they work?
* fix two typos
* update linux_lsi test
* change quote type
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Fetch and store upsBasicBatteryLastReplaceDate
For APC USV, sensor class is 'runtime'
* Change type string for battery's life time
* Change limits to meaningful values, remove debug output
Limits are 4 (warn) and 5 (critical) years, using our own experience.
* Add time calculation for battery life time during polling
This means that the received date is subtracted from current
time, the difference is stored as minutes, just like with discovery.
* Improve sensor description/label (again)
* Correct label for battery's life time to “operating time”
* Add test data for APC UPS to test new used OID
OID for the last battery exchange date, which is used
for calculation the operation time.
* Changes for styleCI
* Fix more files for styleCI
* Remove a duplicated empty line (styleCI)
* Update test data
* Procurve hardware description cleanup
Include part number and other details where available
Covers 100% of known sysDescr
Adds Aruba Instant On parsing
adds string replacements for OS fields
Could use hardware: ENTITY-MIB::entPhysicalDescr.1, but strings contain a lot of fluff and some are just "HP", I leave that for another PR
* restore .gitignore.........
* less specific
* Change regex cosmetically
* Add additional OpenBSD PF graphs
Some of these were already present for PFSense (matches, badoffset,
fragmented, short, normalized, memdropped) and reuse existing graph
types; the others are are added as new types.
* collect-snmp-data.php: support IPv6 hosts
* Add SNMP data for new OpenBSD OIDs
* Stack all OpenBSD PF drops into a single graph/rrdfile
* Pull additional drops in to pf_drops
The MIB descriptions don't say "drop", but reading the OpenBSD source:
c471a73b65/sys/net/pfvar.h (L1196)
it's clear that badoff, frag, short, and norm are all drop reasons.
Pull them in into the stacked drop graph, too.
* ./scripts/save-test-data.php -o openbsd -v pf
* Include device_graphs in saved os module test data
* Revert "Include device_graphs in saved os module test data"
This reverts commit a85c902fe9.
* Update to use SnmpQuery
Co-authored-by: Kevin Wallace <kevinwallace@users.noreply.github.com>
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Add support for Cisco Nexus 3550-F (formerly Exalink Fusion) devices
* Refactor to refer to the Exalink Fusion as the Cisco Nexus 3550 (post m&a of Exablaze by Cisco) as well as use YAML based OS discovery
* Rename Cisco N3550 ports include
* styleci fixes to n3550 ports include
* Correct N3550/Exalink OS discovery and improve tests
* Improve N3550 OS discovery and poller support
* styleci
* Rename Cisco Nexus 3550 OS from ciscon3550 -> exalink-fusion
* Update file header
* Improve support for legacy Arista/Metamako MOS devices
* Fix indentation in license text
* Fix formatting in OS discovery
* Add hardware type discovery for Arista/Metamako MOS
* style fixes
* Implement hardware model detection for Arista MOS
* Refactor to use YAML based OS discovery
* Reformat test data for arista-mos_metamux48, 0.16 code
* Enable lm_sensors polling of Arista MOS devices
* Remove bgp-peers data from arista-mos test files
* Add Cumulus-BGPUN-MIB
* Add bgpPeerIface column into bgpPeers table
* update mysql database for BGP unnumbered support
* Rename BGP unumbered MIB for Cumulus
* remove duplicate Cumulus BGPUM mib
* Use custom BGPUN minb for Cumulus while polling bgp peers
* Update BGP peers discovery for Cumulus with unumbered support
* Update BGP peers polling for Cumulus with unumbered support
* Correct typing error
* Add BGP unumbered Cumulus tests units
* Remove unused SQL file
* Update migrations databse by adding bgpPeerIface into bgpPeers table
* Correct spacing error for continous integration
* Update DB column bgpPeerIface to point to ifIndex
* fix: bgpPeerIface column exist
* fix: use Eloquent instead of dbFetch deprecated
* fix: delete unused namespace
* fix: type bgpPeerIface
* fix: add root cumulus mib lacking
* move root cumulus mib into mibs/
* fix: missing root cumulus MIB
* fix: bgpPeerIface not expected for other OS
* fix: add bgpPeerIface into json tests for other OS
* fix: add bgpPeerIface for poller tests OS
* add relathionship between bgpPeers and Ports tables
* Revert "fix: bgpPeerIface not expected for other OS"
This reverts commit f979482106.
* fix: HasOne not imported
* fix: CI php placement of use line
* fix: bgpPeerIface has not default value
* updates way to fill bgpPeerIface
* remove relationship between BgpPeer and Ipv4Address/Ipv6Address
* fix: CI php syntax
fix: CI php syntax
fix: CI php syntax
fix: CI php syntax
* updates cumulus tests
* updates bgpPeerIface already filled
* fix : bgpPeerIface wrong ifIndex
* fix: update cumulus test for polling bgpPeerIface
* fix: CI PHP syntax
* fix: update cumulus test for polling bgpPeerIface
* fix: update cumulus test for polling bgpPeerIface
* Fix Fortigate Test
* Tests
Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
* Fix IPv6 in service check host (#13939)
* Add hostName cleaning to Clean
* Apply RFC 5952 formatting to Clean::hostName output
* Use more liberal cleaning for hostnames
* Remove unwanted whitespace
* Apply Clean::hostName() to all relevant fields
* Fix docstring
* Use IP::isValid inline
* Update Clean.php
* Update services.inc.php
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Fix avtech 12E environment sensor
Updated MIB for newer internal sensor object schema in 12E models.
Updated discovery yaml file to retrieve temperature and humidity
data from internal and digital sensors.
Added test data for roomalert12e model.
Co-authored-by: Sander Steffann <sander@steffann.nl>
Co-authored-by: Tony Murray <murraytony@gmail.com>
* add poller
* add a generic alert graph
* add support for .total
* add the initial work on the suricata app page
* add applayer flow sources
* more rrd work and add more fields
* add a missing graph to the suricata page
* add suricata to the apps page
* all working now for suricata
* add some suricata alert examples
* all done with the php
* update the application docs for Suricata
* add another note about Suricata stats in the docs
* add the test file
* add the test JSON
* remove a unneeded newline from the appication docs
* correct the type uptime type
* packets graph should by packets/sec
* minor formatting cleanup
* one more minor formatting cleanup
* shot in the dark to see if something fixes the angry linter
* fix snmpsim file
* add metrics
* add values to the metrics
* add a missing comma to the json
* add a missing line to snmprec and cleanup json a bit
* a few more minor changes to see if this makes it happy... regened via scripts/json-app-tool.php
* see if this will make it happy
* add suricata to app discovery and hope that fixes it... take a shot in the dark as to why the linter errors strangely on two of the files
* fix json
* add a missing ] to the json
* rename two graphs so it does not trigger one alert and add a missing metric
* whoops, *_alertString is not a metric
* FS OAP OEO and EDFA mibs
* definitions and discovery yaml
* current dbm state temperature and voltage updates
* update on poller and discovery modules
* test data
* removing unneeded pollers and discovery modules as requested
* update to os test data
test data now reflects fs-nmu details instead of module details as module may not be present at previous oid or module may not be present at all in the device
* OS update and Test Date Updates
* channels numbers
* removal of default true poller and discovery modules
* reintroduced previous OEO module data
* StyleCI fixes
* Update fs-nmu.inc.php
* Update fs-nmu.inc.php
* Update fs-nmu.inc.php
* Update fs-nmu.inc.php
* Update fs-nmu.inc.php
Co-authored-by: Neil Lathwood <gh+n@laf.io>