Commit Graph

64 Commits

Author SHA1 Message Date
Tony Murray ce02f001ce TrueNAS no longer supports zpool space usage (#15490)
* Freenas zpool improvement
Don't try to multiply two strings (cast units to int)
No need to double fetch database entries to check if it exists.
Only poll zpoolUsed to speed up polling

* Block zpool usage on new devices, they dropped support.
TRUENAS-MIB included for reference

* Fix polling, update test data
2023-11-01 23:00:58 -05:00
Peter Childs 0b98b6ff72 add os check in discovery for aix/freenas storage and cisco cdp (#15104)
* add os check in discovery for aix/freenas storage and cisco cdp

* use os_group = cisco
2023-07-24 19:07:23 -05:00
AdamB b27dfa5891 Add support for PrimeKey Software Appliance (#15059)
* Add PK-SOFTWARE-APPLIANCE-V2 MIB

* Add support for PrimeKey Software Appliance

* Move file to correct path

* Make the OS detection more specific

* Thanks vscode

* Sync filename with osname

* Not supported

* Track SQL database size as volume

* Two fixes
2023-07-07 23:35:53 -05:00
Tony Murray 265906b44c Fix some undefined constants (#14993)
* Fix undefined constants
These have been broken for a long time.  Likely they are unused.

* Fix undefined constants
These have been broken for a long time.  Likely they are unused.
2023-04-22 10:37:20 -05:00
electrocret 96e1350b9d Fix cisco-flash (#14772) 2023-01-05 02:03:17 +01:00
Jellyfrog b6620746c5 Miscellaneous cleanup - part 5 (#14502)
* Miscellaneous cleanup - part 5

* Update includes/discovery/sensors/pre-cache/ipoman.inc.php

Co-authored-by: Tony Murray <murraytony@gmail.com>

* Update ipoman.inc.php

* string for trim()

* Update ciscosb.inc.php

Co-authored-by: Tony Murray <murraytony@gmail.com>
2022-10-25 19:27:28 +02:00
Jellyfrog 3848941d55 hpe ilo: fix filesystem type regex (#14485)
* Update hpe-ilo.inc.php

* Update hpe-ilo_4_with_bat_checks.json

* Update hpe-ilo_5_with_bat_checks.json
2022-10-20 22:50:00 +02:00
Jellyfrog 56d0c7af19 intelliflash: correct variable typo (#14486)
* intelliflash: correct variable typo

* Update intelliflash.json
2022-10-20 22:49:46 +02:00
Jellyfrog 1c9234adf1 Hikvision: Dont include empty storage sensor (#14453) 2022-10-18 12:33:41 +02:00
Jellyfrog 8692abb830 Prevent errors when hrStorageTable doesn't exist (#14327)
Prevents Illegal string offset 'hrStorageDescr'
2022-09-08 21:52:33 -05:00
Jellyfrog 9e5ced28d4 Fix hrStorageType being undefined (#14260) 2022-09-05 22:34:59 +02:00
Tony Murray db54161b10 Fix os_group unset errors (#14238)
Instead of requiring an isset check for os_group, just set it, but to null
valid isset checks will still work right since it is now set to null.
2022-08-24 14:45:43 -05:00
Félix Bouynot b643a5033f Add Cisco Flash storage support (#14219)
* 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>
2022-08-23 11:31:47 +02:00
Tony Murray 465fa3986a Fix Undefined variable/key warnings (#14134)
* 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...)
2022-08-21 16:23:43 -05:00
Renaud R ca86a17a12 fix os name on the entry condition (#13578) (#13580) 2022-01-09 18:46:22 -06:00
Peca Nesovanovic 21edc086ca split Eltex-mes OS to mes21xx / mes23xx. + few improvements (#13544)
* split Eltex OS to 21xx and 23xx

* styleci & typo

* yaml cleanup

* removed MIBs from first release

* tidy up yaml

* test data
2021-11-24 21:34:48 +01:00
Peca Nesovanovic a6a00419e4 Inital support for Eltex-MES switches (#13036)
* Inital support for Eltex-MES switches

* Eltex-MES code cleanup & added mib files

* Eltex-MES mib files renamed

* Eltex-MES mib files renamed(v2)

* Eltex-MES added json test data

* Eltex-MES added bad_iftype in YAML

* Eltex-MES test data after adding bad_iftype in YAML

* Eltex-MES fixed YAML & new test data

* Undo module disabling

Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
2021-07-16 16:14:09 +02:00
Rafael Pardim 37ac9dffbe Fix for Gaia Storage duplicated (#12824)
* Fix for Gaia Storage duplicated

We are getting duplicate storage.
Since Checkpoint Gaia is a Linux-based operating system, the file “./includes/discovery/storage/ucd-dsktable.inc.php” has already discovered the storage, so I think the file “./includes/discovery/storage/gaia.inc.php” is not necessary.

* Delete gaia.inc.php

* Add files via upload

* Add files via upload

* Fix for Gaia Storage duplicated
2021-05-06 08:46:11 +02:00
Tony Murray 1c379dcd05 Remove legacy function calls (#12651)
* massive inlines

* fix style and wtf

* remove rrdtool.inc.php include

* fix CommonFunctions namespace issues

* looking for missing class space, fix undefined class issues

* style fixes
2021-03-29 00:25:30 +02:00
Tony Murray 61316ce2cc PHP 8 fixes (#12528)
* port related errors

* more fixes

* fix storage count

* add tests for php8

* style

* only need not empty

* aix fixes....

* storage WIP

* fix aix discovering hrstorage
fix db test adding .gitkeep
fix os modules when discovery only

* fix aos processors wrong oid

* fix mempool number casting

* fix aos7 cpu

* use + 0 cast instead of floatval()

* more verbose error on invalid json

* remove invalid data in json

* actually fix the json

* correct json error fix

* cast_number() function
fix aruba-instant and aos6 bugs exposed by new function, probably more...

* fix a-f
fix inadequate sort for component data

* fix global port poll time

* fix mempools precent 0, route count, ntp const

* fix schleifenbauer liberal current usage

* further number casting refinement

* vrp

* fix tests

* fix arbos

* warn cleanups adjust to :: change

* fix ciena-sds

* fix drac

* fix dell-rpdu anddlink

* fix and improve arubaos
better error when getting an array in Processor

* fix atenpdu, add missing arubaos files

* aruba-instant to yaml
apparently I didn't need to do this, the diff just looks really odd
It did add ranged sub-index replacements

* docker app, was completely wrong... fixed

* fix sentry4 divide by 0...

* fixed root issue, remove check

* nicer cidr in ipv6 code

* remove bogus enuxus battery bank skip_values

* Fix InfluxDB tests

* remove extra import

* fix other style issues.

* influx "style" fixes
2021-03-12 18:10:14 -06:00
PipoCanaja 0d892a0559 VRP - Huawei Wifi Controllers and routers 3G/4G update (#12565)
* MIBS update for Redundancy support, and first state

* Current unit state

* Config Sync state

* Upgrade FLASH mib as well

* discover storage

* Storage discovery

* storage

* tests

* fix initial value, and handle empty Descr

* IMEI to replace SN, cause SN is sometimes missing
2021-02-26 16:08:01 +01:00
Jellyfrog 20b4215204 Swich links to https (#12511)
* Switch librenms links to https

* Convert librenms links in comments

* Switch gnu.org url to https

* switch php urls to https
2021-02-09 00:29:04 +01:00
Adam Bishop 1f5384172a Add mempools, cpu and storage to some arbor devices (#12444)
* Add mempools, cpu and storage to some arbor devices

* Update test data

* Precision must be int - remove
2021-01-19 10:21:23 -06:00
Tony Murray f2f169ae78 Modernize mempools (#12282)
* 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
2020-11-23 15:35:35 -06:00
Jellyfrog 28591c0330 Split VMware into seperate OS (#12243)
* Split VMware into separate OS

* Bump VMware MIBs
2020-11-03 21:27:23 +01:00
Jellyfrog bef67751a3 Add PHP CS Fixer (#12128)
* Add PHP CS Fixer

Based on https://gist.github.com/laravel-shift/cab527923ed2a109dda047b97d53c200

* Apply PHP CS
2020-09-21 19:52:01 -05:00
Jellyfrog 82f43cb98d Apply fixes from StyleCI (#12120) 2020-09-21 15:40:17 +02:00
Adam Bishop 83dd1f0a16 Detection, sensors and zpool/dataset usage for FreeNAS, TrueNAS (#11474)
It's also possible to do zpool IO from the MIB, but diskIO on
LibreNMS makes a lot of assumptions about it coming from the UCD
MIB.

This changeset adds detection for FreeNAS and TrueNAS - despite
having their own enterprise number, the snmpd uses the FreeBSD
one.

The naming is a bit all over the place, because this reflects
reality - IXSystems produce FreeNAS and TrueNAS, the product lines
have merged to eliminate FreeNAS, but TrueNAS still calls itself
FreeNAS everywhere except the GUI.
2020-04-27 17:23:44 +02:00
dlesel c95661b482 Added AIX file system, prefer over hrstorage for AIX (#10588)
* Added AIX file system, ignore hrstorage for AIX

* Add AIX Test Data

* Add AIX Test Data 2

* remove includes/polling/os/aix.inc.php

* Update AIX Test Data

* Corect spaces in code

* Update code to correctly disable hrStorage for AIX

* Update aix.json

* Update aix.svg

* Delete aix.svg

* Update aix.svg

* Delete aix.svg
2019-11-13 06:01:45 +00:00
Spencer Butler 7bfe0bc831 Added support for HikVision-DS Cameras (#9980)
* Added support for HikVision-DS Cameras

clean up

removed pointless file, cleaned up code

fixed failing unit tests, a bit of cleanup

WIP - will rebase

split hikvision into hikvision-nvr an hikvision-cam

* removed unneeded comment and rec file
2019-03-27 15:38:35 -05:00
ACL 1fd967a7dd Improve index check for compatibility with different versions of the DDOS (#9698)
* Updated DataDomain MIB, Added DataDomain Storage poller and discovery

* Fixed issues pre-commit issues

* Removed extra blank lines

* Make polling less redudant

* Remove blank line

* Remove device os detection since it's not needed. Add test data for DataDomain

* For better compatibility, we will check if the $index is null prior to adding the storage

* Fix:  is undefined...

* Update datadomain.inc.php

* Update datadomain.inc.php
2019-01-22 17:33:36 -06:00
Tony Murray fad0bffc43 Escape SNMP & IPMI shell commands (#9537)
hopefully doesn't break anything
Mostly issues with snmp oids and options containing spaces.  Try to remove all of those.

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.
2018-12-16 13:42:50 +00:00
ACL e9120085c9 Updated DataDomain MIB and added Storage support (#9270)
* Updated DataDomain MIB, Added DataDomain Storage poller and discovery

* Fixed issues pre-commit issues

* Removed extra blank lines

* Make polling less redudant

* Remove blank line

* Remove device os detection since it's not needed. Add test data for DataDomain

* Added json test file
2018-10-17 17:02:06 +01:00
Tony Murray 773ee96240 refactor: Restrict storage discovery walks to os (#8528)
leave hrstorage and ucd unrestricted
Not sure on the ilo, but I think linux and windows servers can return data
2018-04-09 13:54:14 +01:00
theherodied 313b46236e Added Tegile Storage OS detection, storage pool, and project storage. (#8464)
* added Tegile Storage 001

* Tegile fixed whitespace 002

* Added tegile.snmprec 003

* Added TEGILE-MIB

* Tried to fix svg size issue

* Tried to fix svg size issue 005

* Tried to fix svg size issue 006

* Trying dedup 007

* Revert "Trying dedup 007"

This reverts commit b30a3edb49.

* Tried to fix svg size issue 009

* Tried to fix svg size issue 010

* Reverted changes and created new branch

* changed tegile to intelliflash

* changed tegile to intelliflash

* changed tegile to intelliflash 002

* added intelliflash snmprec

* added Json test data

* Update intelliflash.json

* Redid logo

* Update tegile.svg

* changed to intelliflash1. intelliflash2 will come later.

* removed previous commit I made

* Adding project usage

* simplified project calculations

* simplified project calculations

* simplified project calculations

* simplified project calculations

* Cleaned up comments

* Added disco OS if check and removed network over graph

* chenged os detection to sysObjectID. Fixed disco if check.

* Updated json test file

* Fixed intelliflash-pr storage units.

* Updated test data

* Updated test data to remove bgp module
2018-04-09 00:57:22 -05:00
theherodied 2537291734 nimbleos Changed to bit shift high << 32 and add low. Changed over graphs. (#8411)
* Changed to concat 32bit high.low counters

* Changed to concat 32bit high.low counters

* Correction. Needed to bit shift.

Correction. Needed to bit shift << 32 on high and add low.

* Correction. Needed to bit shift.

Correction. Needed to bit shift << 32 on high and add low.

* Added storage removed processor and memory

No point in processor and memory until nimble supports it. Added stroage to overhead.
2018-03-23 15:23:02 -05:00
theherodied f95cc1b07f Added Nimble storage volume utilization (#8405)
* Added nimble storage volume utilization

* Added nimble storage volume utilization

* Added author

* Fixed style issues
2018-03-16 13:43:28 -05:00
Sneddo 4fc946bd21 Move ignore_storage call to discover_storage (#7973)
* Move ignore_storage call to discover_storage

* Remove long if statement
2018-01-04 22:24:06 -06:00
Tony Murray 4ffdbe0e6a fix: Fix can't find CPQHOST-MIB (#8024) 2018-01-04 22:42:16 +00:00
Neil Lathwood b45302bf70 newdevice: Updated Checkpoint Gaia detection and added storage (#7656)
* newdevice: Updated Checkpoint Gaia detection and added storage

* update db_schema

* added murrants discovery options

* Rename 216.sql to 217.sql
2017-11-22 23:28:33 -06:00
Neil Lathwood 6b44ac784a newdevice: Added support for Huawei OceanStor devices 2017-10-12 19:55:25 +02:00
TomEvin c8b677779d newdevice: Added HPE ILO4 storage, memory and additional sensors
* HPE ILO4 enhance

Added Storage, Memory pools, new status (Array Controller, Logical Drive)

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Delete hpe.ilo.inc.php
2017-10-09 20:24:20 +01:00
Tony Murray 98786c0ea7 feature: Allow ignore_mount, ignore_mount_string, ignore_mount_regex per OS (#7304)
* feature: Allow ignore_mount, ignore_mount_string, ignore_mount_regex at OS level

* Change the storage settings to override global instead of merge.
Add documentation
2017-09-13 19:43:21 +01:00
Tony Murray b18c41b1a9 refactor: Use the Config class includes/discovery (#7299)
* refactor: use the Config class includes/discovery

* fix issue with $config variable not accessible in include-dir.inc.php

* improved whitespace

* Tidy up discovery_by_ip
2017-09-11 21:26:41 +01:00
Neil Lathwood d0c87400f3 newdevice: Added detection and sensor support for EMC OneFS v8 (#6416)
* newdevice: Added detection and sensor support for EMC OneFS v8

* Improve discovery
2017-04-14 21:25:24 -05:00
David Bell 3e01de724f newdevice: Add CPU and memory for Entera devices #5974
* 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
2017-02-23 23:01:56 +00:00
Neil Lathwood 87de5607df refector: centralised check for ignore storage devices #5075 (#5076)
refector: Centralised check for ignore storage devices #5075
2016-11-30 22:50:29 +02:00
Neil Lathwood 42123010c8 refactor: Added support for dskTable in UCD-SNMP-MIB (#4993) 2016-11-21 07:08:38 +00:00
Tony Murray edbb6ae0e3 refactor: Centralize MIB include directory specification (#4603)
* refactor: Centralize MIB include directory specification
The default is now:
```
$config['mib_dir'].'/mibdirname:'.$config['mib_dir']
```
This means we exclude OS mibs and only use ours  (we could prepend `+` if we want to include os mibs.
All snmp calls should only include the name of the subdirectory under the mibs directory.

* Remove d_echo from Proc
Fix snmpsim tests.
2016-09-28 14:19:28 +01:00
Tony Murray 9284bc60ff Update code in includes to be PSR-2 compliant (#4220)
refactor: Update code in /includes to be psr2 compliant #4220
2016-08-28 18:32:58 +01:00