Commit Graph

2647 Commits

Author SHA1 Message Date
Peca Nesovanovic
9f2de7d605 Added initial IPv6 Address discovery for TP-LINK Jetstream (#13484)
* Added initial IPv6 Address discovery for TP-LINK Jetstream

* styleci cleanup

* styleci cleanup

* styleci cleanup

* split OS specific code in separate file

* styleci cleanup
2021-11-09 20:40:48 +01:00
Denny Friebe
f23c5c0e7b Raspberry Pi: Add SNMP extend to monitor IO pins or sensor modules connected to the GPIO header (#12749)
* Raspberry Pi: Add SNMP extend to monitor IO pins or sensor modules connected to the GPIO header

* Raspberry Pi: Add new test data

* Raspberry Pi: Make styleci happy

* Raspberry Pi: Fix some more style issues

* Raspberry Pi: Use d_echo for array debug

* Raspberry Pi: Prevent processing if the extension is not present

* Raspberry Pi: Make styleci happy

* Raspberry Pi: Update test data

* Raspberry Pi: Remove debugging
2021-11-04 21:38:15 -05:00
Garcia MICHEL
e0443293a0 Add iDrac physical disk state (#13264)
* Add physical disk for iDrac

* Add alert rule for iDrac Physical Disk

* Add test data
2021-11-02 23:26:59 +01:00
Tony Murray
c572e2828b RouterOS now returns the correct runtime (#13461)
as of version 6.47
2021-11-02 12:23:56 +01:00
David Girón
9f8bb8caae Add more discovery components for Dell PowerConnect 28xx (#13420)
* Add Processor discovery for Dell PowerConnect 28xx

* Add Temperature discovery and cleanup code

* Add test data for PowerConnect 2824

* Add Serial Number

* Don't add VLANs as Ports

* Revert "Don't add VLANs as Ports"

* Remove invalid mempool from tests
2021-10-29 10:09:05 +02:00
Julian Lehrhuber
a3ec263f78 Bintec be.IP plus support (#12993)
* Introduce OS flag to support devices that deliver OIDs out of order

* Add MIB for Bintec Be.IP Plus

* Add YAML definitions for Bintec Be.IP Plus

* Add Bintec be.IP plus test files

* Rename bintec mib files

mib-standards.mib was deleted, because it included definitions that also
existed in separate files

* Add test data

* Remove standard mib files from bintec dir

* Add regex to parse Bintec Be.IP Plus OS version

* Update test data for Bintec Be.IP Plus

* Calculate Bintec Be.IP Plus CPU load from inverse of idle time

* Improve Bintec Be.IP Plus discovery and tests

* Use MIB instead of numerical OIDs where possible

* Update tests to comply with updated discovery

* Remove unused MIBs

* Remove json props that let tests fail

* Update Settings.md

* Remove `snmp_out_of_order_oids` definition from bintec-beip-plus

* Add `-Cc` snmp param for prots module

* Add `-Cc` snmp param for arp-table module

* remove snmp_out_of_order_oids

* Remove snmp_out_of_order_oids

* Update snmp.inc.php

Co-authored-by: Tony Murray <murraytony@gmail.com>
2021-10-28 13:05:43 -05:00
Peca Nesovanovic
08dd8a07db Mikrotik vlans discovery, v2 (#13427)
* Mikrotik vlans discovery, v2

* styleci cleanup

* added Routeros entry in mkdocs.yml

* fixed typo in mkdocs.yml

* Better Vlan Eloquent Model

* Missed one

* Use new SnmpQuery code

Co-authored-by: Tony Murray <murraytony@gmail.com>
2021-10-26 18:31:44 -05:00
Tony Murray
b0e0d65c86 Fixes for misc unset variables in polling (#13421)
Remove $attribs global
2021-10-25 21:35:18 +02:00
TheGracens
e4d26c0c09 Update apc.inc.php (#13405)
Fixes the wrong temperature multiplier in APC devices . In case high precision is not available and using older APC firmware
2021-10-21 17:08:50 -05:00
Erik
27c124f19f FabOS remove disabled dbm sensors (#12877)
* add check if adminstatus is up

* added testdata

* Changed ifAdminStatus state detection

* updated testdata

* updated testdata2

* Update fabos_6520.json

* Update fabos.json

* Update fabos_6520.json

* Update fabos.json

* fix fabos.json

* fix bug in discovery include

Co-authored-by: Erik <johndoe@example.com>
Co-authored-by: Tony Murray <murraytony@gmail.com>
2021-10-20 18:51:49 -05:00
Tony Murray
f94f7f23b8 Fully convert core to a modern module (#13347)
* 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
2021-10-19 15:43:43 -05:00
Kate Robinson
568d12cbd8 Modified SQL delete statement for vrf is null (#13199)
* Modified SQL delete for is NULL instead of = null

* Fixed spacing

* Fixed more spacing issues

* Replaced double quotes with single quotes for echo statement

* Fixed more spacing issues

* Modified null vrf db check to match vrp.inc.php

* Clean up comments

* Modified git username to fix CLA

* Revert bgp-peers.inc.php

Co-authored-by: Kate Robinson <katerobinson@KateRobinson-imac.local>
Co-authored-by: Tony Murray <murraytony@gmail.com>
2021-10-19 06:54:34 -05:00
Cirno the Strongest
ece914a06d Use high precision OIDs for APC UPS sensors (#12594)
* Use high precision OIDs for APC UPS sensors

* Force test re-run

* Remove ifHighSpeed

Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
Co-authored-by: Tony Murray <murraytony@gmail.com>
2021-10-18 19:41:37 -05:00
Simon Smith
81819c2aca fix windows fanspeed (#13376) 2021-10-18 23:38:57 +02:00
Tony Murray
4bab6d7ed2 Remove load_os and load_discovery functions (#13345)
* 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
2021-10-08 14:04:11 -05:00
Tony Murray
8d5bc3fc41 Use Measurements for all statistic collection (#13333)
* 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
2021-10-06 17:09:54 -05:00
Tony Murray
aa35d2f0c0 Connectivity Helper to check and record device reachability (#13315)
* 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
2021-10-03 22:45:10 -05:00
Tony Murray
b2ac547abb Quick fix for route discovery on PHP8 (#13284) 2021-09-28 16:22:17 +02:00
Tony Murray
8a883140cb Infer character encoding for ifAlias and sysLocation (#13248)
* 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>
2021-09-21 08:47:44 -05:00
Kevin Zink
c984cdbebc MegaRaid controller in Linux (Broadcom/LSI) (#12999)
* Add power consumed

* Revert "Add power consumed"

This reverts commit 424554ac04bd340de2fd962cb6808045024ef783.

* Start with tempsensorts aus some states

* Inventory data

* Convert plugins to Blade

* Revert "Convert plugins to Blade"

This reverts commit 8d1d3ff5b1.

* fix style

* Add FANs and Powersupplies

* fix style

* add test data

* add a short description for the doc

* refresh Testfile
2021-09-19 18:31:23 -05:00
Tony Murray
117036bf29 Fix Dell server sensors (#13247)
missing mib directory
2021-09-16 21:05:31 +02:00
Jellyfrog
258505ed44 Apply fixes from StyleCI (#13224) 2021-09-10 20:09:53 +02:00
Jellyfrog
26b95c0ccc Apply fixes from StyleCI (#13208) 2021-09-08 23:35:56 +02:00
Tony Murray
d496c228d4 Discovery: mark snmp disabled devices as skipped (#13202) 2021-09-08 18:15:08 +02:00
PipoCanaja
05ce3d1858 Allow more compatibility in STP port discovery/polling (#13109)
* allow more variety in STP port discovery/polling

* style
2021-09-08 08:57:22 -05:00
SourceDoctor
1544eadd37 default port_group for new ports (#13166)
* default port_group for new ports

* .

* adding Docs, default Value, change keyname

* .

* Update Configuration.md

Co-authored-by: Tony Murray <murraytony@gmail.com>
2021-08-24 20:28:18 +02:00
Tony Murray
d8d0ccd03d Common contexts for polling (#13158)
* 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
2021-08-23 01:22:28 -05:00
dennypage
049b7af3d5 Allow stack index other than '1.' for CiscoSB (#13078)
* When in a stack, the index for each port is based on the unit number in the stack. The first unit
in the stack uses index '1.', the second uses index '2.', the third '3.' and so on. This change
allows for stack indexes greater than '1'

* Create ciscosb_cbs350-4x.snmprec

* Create ciscosb_cbs350-4x.json

Co-authored-by: Tony Murray <murraytony@gmail.com>
2021-08-03 16:31:00 +02:00
Peca Nesovanovic
9557cccb6a Jetsream: added/fixed LLDP discovery (#13082) 2021-07-31 18:26:57 +02:00
O Palivan
754276ba89 Extend REGEX filtering option by sensor_class (#13066) 2021-07-23 23:46:12 +02:00
Keryazmi
2ddf460283 ADVA - Typo in previous PR (#13064)
Replace string 'cmEthernetTrafficPortIfIndex' to 'cmEthernetNetPortIfIndex'.
And replace typo word.
2021-07-23 12:00:02 +02:00
Emmanuel Caillé
578602f8f9 Use non numeric snmpwalk for nxos fan trays (#13048)
* Use non numeric snmpwalk for nxos fan trays

* Update test data with now discovered fan data
2021-07-21 19:19:41 +02:00
Keryazmi
3d0c1e63b7 Update Sensors for ADVA FSP150CC + discovery fix (#13020)
* Update YAML file for ADVA FSP150CC

Update for Adva FSP150CC
1. ERP State
2. Condition State

* Update Pre-Cache for ADVA FSP150CC

Update multiple devices and cache ERP objects.
1. XG116Pro (H)
2. XG120Pro
3. XG210
4. EG-X

* Update on Temperature Sensors for ADVA FSP150CC

Update multiple modules to support Adva FSP150CC Series.

* Update Voltage Sensors for ADVA FSP150CC

Update multiple modules for Adva FSP150CC Series.

* Create adva_fsp150_xg116proh.snmprec
* Create adva_fsp150_xg116proh.json
* Update adva_fsp150_xg116pro.snmprec
* Update adva_fsp150_xg116pro.json

Fix legacy ADVA discovery code

* Fix snmp-get and DB access
* style

Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
2021-07-17 01:01:45 +02: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
Npeca75
1b68273b5d Added Vlan discovery on LAG ports, Jetstream OS (#13007)
* Added Vlan discovery on LAG ports, Jetstream OS

* Jetstream expand function rewriten

* Jetstream expand function rewriten

* Jetstream expand function rewriten (v2)

* Added snmprec

* Create jetstream_t1600g-28ts.json

* Combine Regex

Co-authored-by: Tony Murray <murraytony@gmail.com>
2021-07-11 12:21:19 -05:00
paulierco
bc5a62dcbd Alcatel-Lucent aos7 LLDP Neighbors (#12886)
* first commit

* fix style

* fix style

* fix style

* fix style

* fix style

* fix style

* fix style

* change local_port_id

* fix style

* fix style

* fix style
2021-07-03 15:23:58 +02:00
paulierco
c505040289 Alcatel-Lucent AOS6 to yaml (#12982)
* first

* add missing ifName

* oid for stacking and style

* add missing ifName

* revert stacking

* remove stacking mib

* remove PS-1
2021-06-28 12:42:34 +02:00
Kevin Zink
7ef302a8b9 EUROstor RAID (#12969)
* Proware Controller in EuroStore RAID Chassis

* fix style

* Eurostore

* renew testdata

* Fix style
2021-06-21 10:13:40 +02:00
cjsoftuk
b7d1420020 Firebrick: Fix an issue which led to duplication of BGP peers. (#12932)
* Firebrick: Fix an issue which led to duplication of BGP peers.

* Code style.

* Attempt to get some sanity with BGP Table 0.

* Attempt to make it so peers are not immediately added then deleted.

* Force vrfId to Null if empty.

* Another attempt at keeping the DB clean.

* Code style.

* Stop the dicovery deleting peers it just created.
2021-06-21 09:51:49 +02:00
Kevin Zink
4ec609bccf Add Serialnumber for some Dell ForceTen devices (#12960)
* Add Serialnumber for some Dell Force devices

* Also in entity-physical

* fix style

* fix style

* add testdata
2021-06-17 21:16:09 -05:00
PipoCanaja
53ce0e016f LLDP - Extend discovery lldp code to support different subtypes (#12901)
* extend lldp code to support different subtypes

* style
2021-06-17 00:42:28 +02:00
Kevin Zink
7edc302f34 2 more Rittal variants (#12953)
* 2 rittal variants

* fix style

* fix problem with missing entry["cmcIIIVarValueStr"]

* fix typo
2021-06-16 21:15:47 +02:00
paulierco
20c44b85c3 Alcatel-Lucent aos6 and aos7 fdb fix (#12945)
* first

* style
2021-06-12 09:32:34 +02:00
geg347
672fe61b5e New module add juniper rpm support + reimplementation of cisco-sla module (#12799)
* Definition of a new SLA module to migrate from old cisco-sla and support other devices : Juniper RPM and Huawei

* Change wrong description name of module SLA

* Re implementing Juniper RPM support in a new module Slas (Cisco SLA to be added)

* Added Graphs for Juniper RPM types

* Tried to make discover and poller generic : to handle Cisco SLA and Juniper RPM and others

* Reimplementing Cisco SLA in the new Sla module and adding condition to manage both SLA and RPM

* Definition of a new SLA module to migrate from old cisco-sla and support other devices : Juniper RPM and Huawei

* Change wrong description name of module SLA

* Re implementing Juniper RPM support in a new module Slas (Cisco SLA to be added)

* Added Graphs for Juniper RPM types

* Tried to make discover and poller generic : to handle Cisco SLA and Juniper RPM and others

* Reimplementing Cisco SLA in the new Sla module and adding condition to manage both SLA and RPM

* Fix some error due to Elequent object replacing SQL request

* Fixing indentation

* Fixed continuous integrations errors

* Fixed continuous integrations errors part 2

* Fixed continuous integrations errors part 3 : missing last new lines

* Fixed PHP Static Analysis checks

* Fixed continuous integrations errors part 4

* Fixed PHP Static Analysis checks part 2

* Trying to convert existing cisco-sla to new slas one

* Trying to add slas to fix test failure (I am pretty sure this is not enough but I don't know how to do it)

* Switching old cisco-sla module declaration to new slas module in concerned OS files

* Fixing wrong sla module name instead of slas in concerned OS files

* Fixing wrong module name sla changed to slas (as is it in power-supplies reimplementation)

* Fixing some warnings shown in the Inspection CI but skipping some that are already present

* Adding tests files from virtual Juniper VMX and adding slas modules in /tests/module_tables

* Adding missing SNMP data files

* Module Slas modifications to use inheritance

* Fix CI errors

* Fix CI errors part 2

* Fix CI errors part 3

* Fixing no value on RTT graphs

* Fixing only last SLA to be polled : problem with loops

* Fix CI errors part 4

* Optimizing a little the Juniper RPM poller part

I wanted to query only the required values but it is complicated to query a specific OID
as Cisco-SLA does because the owner and tag are hardcoded in ASCII decimal with strange values.
So I use the function snmp_walk which gets the whole OID values in text.
And I index the Juniper MIB (because we want multiple values). But I changed the DISMAN MIB
requests to get only what we want.

* Fix CI errors

* Fix CI errors part 2

* Fix CI errors part 3

* Fixing PHP Static Analysis error 2/4

* Fix CI errors

* Implementing Interfaces to fix some errors that occurs with inheritance

* Adding missing Interfaces files

* Moving generic Sla discovery code into Junos Class

* Fix CI errors

* Fix CI errors part 2

* Fixing missing definition of SlaDiscovery in Cisco shared Class

* Fixing missing import for Illuminate\Database\Eloquent\Collection

* Fix CI errors part 3

* Fix PHP Static Analysis error

* change type strings to use translations instead of config

* IOSXR test data

* remove test data garbage

* simplify discovery

* Fix style

* Updating test files to adapt mock sla_nr ID starting from 0 and not 1 : CI tests should pass

* clean up polling
add rtt field in the db
cisco icmpjitter seems to have confused a lot of values

* rtt on discovery

* use crc32 for consistent sla_nr values

* revert snmprec

* Fix style

* correct schema

Co-authored-by: Tony Murray <murraytony@gmail.com>
2021-06-11 13:48:33 -05:00
ottorei
69397ea70f ISIS-adjacency polling support (#12461)
* init

* Add adjacency polling support

* Format messages

* Fix prints

* Apply fixes from StyleCI

* Fix schema

* Schema fix

* Alert rule example

* Remove display format

* Change option order

* Add test data

* Add test data

* Test data

* Review fixes

* Remove duplicate MIB-file

* Add cleanup

* Fix

* Print fix

* Remove extra cleanup

* Revert "Remove duplicate MIB-file"

This reverts commit 4b3cf8127c.

* Remove unneeded MIB-files

* Add check for empty array

* Apply fixes from StyleCI

* Review fixes

* StyleCI

* StyleCI

* Apply fixes from StyleCI

* typo

* Update function calls on pages

* Linting fixes

* Apply fixes from StyleCI

* Discovery module

* Add discovery module

* Apply fixes from StyleCI

* Update example alert rule

Co-authored-by: ottorei <ottorei@users.noreply.github.com>
Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
2021-06-10 19:42:34 -05:00
Kevin Zink
84c6d215cf Add Epson Projector as new OS (#12928)
* Add Epson Projector as new OS

* Remove poller definitions

* Remove poller definitions

* convert os to epson-projector

* fix delete doc/Alerting/Transports.md
2021-06-10 22:22:19 +02:00
d-k-7
fcac1239fc Improved raritan pdu support (#12937)
* return "Outlet " + index in event outlet description is empty

* update tests to account for blank outlet description

* add hardware, serial, and version detection for Raritan PDUs
2021-06-09 00:38:23 +02:00
PipoCanaja
b55e44a2b4 xDP - ifAlias should be last checked in function find_port_id (#12904)
ifAlias should be last
2021-05-26 00:17:48 +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
61c89794e4 Remove debug globals (#12811)
* Remove $debug global
and $vdebug global
makes these variables more accessible and protects from collisions.

* the on boot set sends application as the first parameter, just handle that

* Relocate other debug related functions

* Log debug to stdout

* Wrong output

* remove stupid constants

* Fix lint and style issues
2021-04-29 22:42:18 -05:00