Commit Graph

2535 Commits

Author SHA1 Message Date
Zane C. Bowers-Hadley
2ac9a634b4 Logsize monitoring for LibreNMS (#15137)
* add logsize poller

* add set size info

* add more stats

* add min size

* more logsize files

* add logsize

* fix creating log file links

* add two new graphs

* add some graphs

* add no_minus_d

* add no minus d to app page

* add count of log files

* save logsizes in app data

* rename title log sizes

* only show top 12

* add mean median and mode

* cleanup naming a bit

* the values for the files hash is now a int instead of another hash

* add new stats and correct median name

* now properly handle unseen

* fix logsize bits

* add combined

* update metrics and add some tests

* add logsize graphs to apps page

* add the logsize bit

* add logszie docs

* add some example alert rules

* style cleanup

* more style cleanup

* fix a few things for metrics and update the test

* fix a variable name in the test and update the data
2023-07-19 22:02: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
Peter Childs
7e22b1276a fix for hrStorageIndex agility (#15028)
* fix for hrStorageIndex agility

* test for array

* Handle not found data

* Handle description changed correctly

* remove debug

---------

Co-authored-by: Tony Murray <murraytony@gmail.com>
2023-07-07 11:41:13 -05:00
Zane C. Bowers-Hadley
00cf300d1a add Suricata Extract submission stats app (#15105)
* add suricata_extract

* convert from dervive to gauge and use delta

* add suricata_extract to includes/html/pages/apps.inc.php

* graph cleanup

* add sub_size

* add sub_size graph

* add docs for suricata extract

* add tests for suricata_extract

* add rules for suricata extract

* minor test tweaks
2023-06-25 20:48:26 +02:00
Tony Murray
0a3678d11a Convert several JunOS sensors to yaml (#15118)
* Convert several JunOS sensors to yaml
Fixes some issues with the php code and reduces extra snmp fetches

* Convert several JunOS sensors to yaml
Fixes some issues with the php code and reduces extra snmp fetches

* Convert BER as well
Allow divisor and multiplier to be set from oid

* use fillValues

* fix

* sort snmprec, fix divide by 0, add more context
2023-06-24 11:52:36 -05:00
Zane C. Bowers-Hadley
f84fca697c add Privoxy stats support (#15114)
* add privoxy

* various style fixes

* cleanup option bar

* save metrics for privoxy now

* add instructions for privoxy

* add privoxy test data

* regen the test data

* add a few missing depends to the instructions

* add apps.inc.php entry for privoxy

* note the required log settings for privoxy

* style fix
2023-06-23 15:27:28 -05:00
Zane C. Bowers-Hadley
5da8e70bf4 add Sneck support, making it very trivial to use Nagios style checks in a NRPE like manner (#13954)
* code stuff done for Sneck

* whoops, correct the abs value post adding it post rrd update

* return a array for getting the sneck data and nicely print the raw return value

* add test stuff and freeze time at 1650911765 for tests

* move the freezeTime

* add use Illuminate\Support\Carbon;

* more test changes

* rework freezeTime a bit more

* more test stuff

* another test

* rework it a bit again

* correct variable spelling for $time_diff

* remove freezeTime as we are using a old version of Laravel

* finalize graphs

* misc

* finalize sneck page

* mve the sneck tests as it needs a newer version of laravel than we are using

* add documents for sneck

* finalize the poller

* formatting cleanup

* correct comment type

* correct the spelling of description

* more documentation

* save the check returns as metrics

* add some more examples

* fix some of the sneck alerts and add a few more examples

* turn off time to polling by default

* suggest using ntp if enabled

* since we are zeroing time_to_polling by default, this now works

* backout some suggested changes for once we change to larval 9

* remove del_sneck_data as it is no longer used

* add more docs on the metrics

* php-cs-fixer to fix a few things

* update and fix sneck tests

* remote a metric from the test

* another minor tweak to the test

* one more minor change

* ahh! derp! think I found it finally... hopefully hanging this for the last time...

* now use app data

* now logs check changes

* add a missing )

* add a missing )

* some style fixes

* update the sneck page use to the app data stuff

* update the poller to use the new app data

* misc

* update sneck to log check status changes

* correct alert log messages

* correct a comment

* fix metrics

* derp, another fix

* test fix

* re-order to avoid warning

* poller update

* update sneck graphs

* update sneck graphs

* remove a unneeded line

* test update for discovery

* minor tweaks to the test and fix update the polling a bit

* style fix

* fix return data printing

* fix the test data to include app data

* attempted test fix

* add config def to apps.sneck.polling_time_diff

* cleanup docs a bit

* minor config tweaks

* minor doc cleanup
2023-06-15 09:06:28 -05:00
Jellyfrog
b14e2d4609 Apply fixes from StyleCI (#15101)
Co-authored-by: StyleCI Bot <bot@styleci.io>
2023-06-13 13:35:00 +02:00
Zane C. Bowers-Hadley
0ed68e33de add Linux Softnet Stat app (#15094)
* add linux_softnet_stat poller

* add graphs and app page for linux_softnet_stat

* fix polling

* rename a few items, clean up the app specific page, and add to the apps page

* convert from derive to counter

* save the budget and budget_usecs to app data

* display current value of the budgets

* now track budget values

* add tests data

* rename it

* add docs for Linux Softnet Stat

* re-order and add budget for app page graph order

* style fix

* correct data location

* fix metrics for the json
2023-06-11 16:37:55 +02:00
Zane C. Bowers-Hadley
3190bdb8b2 add ZFS L2 support (#15095)
* add alerts for ZFS

* add initial l2 bits to the poller for zfs

* more minor tweaks to the ZFS poller

* more zfs bits

* add new ZFS graphs

* begin adding L2 stuff

* add linux_zfs-v3 bits

* update zfs app page

* style fix

* update the data for the zfs legacy test

* test update for zfs v1

* fix some zfs tests

* more zfs v3 test cleanup

* another zfs v3 test data fix

* more zfs v3 test data cleanup

* more test tweaks
2023-06-11 16:32:28 +02:00
mtentilucci
e55c4e9e1e Add support for Trellix NSP devices (#14964)
* Add support for Trellix NSP devices

- Add discovery for mlos NSP devices
- Monitor port statistics from non standard MIBs
- Add Trellix MIBs
- Add test data

* Fix StyleCI findings

* Rename MIB files to match MIB names, remove unused MIBs

* regenerate mlos-nsp_ns9500.json to account for changes from PR#14963
2023-05-16 17:25:29 -05:00
Albert Siersema
ad1b2f96f5 Fixes #14957 missing IPv6 BGP peers (#14959)
* Fixes #14957 missing IPv6 BGP peers

* Limit to NX-OS and IOS-XR

* Check for actual VRF since count(getVrfContexts) always > 0

* argh, fix last minute nervous finger superfluous space

* removed redundant count()
2023-05-15 10:32:26 +02:00
bnerickson
56e9fa3742 Adding linux_config_files application support (#14776) 2023-05-09 10:23:49 -05:00
Shao Yu-Lung (Allen)
741d93c2a5 feat: Agent support OS Updates (#14687) 2023-04-28 08:49:04 -05:00
AdamB
519fc00367 Change ESXi port naming to be stable (#14639)
* Change ESXi port naming to be stable

Currently every time discovery runs against ESXi, the port names change generating a lot of log spam.

This is because ESXi uses this as the ifDescr:
```Device vmnic1000202 at 01:00.0 nmlx4_en```

The poller parses this, and extracts the interface name, whereas discovery does not, causing the interface names to flip every 6 hours.
https://github.com/librenms/librenms/blob/22.10.0/includes/polling/ports.inc.php#L578-L580

This change gives the discovery process the same behaviour, so the naming is now stable.

* Try to fix test data with a squash

* vcsa test data

* Synthesise VCSA ifName, use it in place of ifDescr

* Refresh test data

* Update ports.inc.php

---------

Co-authored-by: Tony Murray <murraytony@gmail.com>
2023-04-16 12:58:38 -05:00
Stef
0430f6acb1 Cisco QFP polling fixes (#14961)
* fix cisco-qfp Division by zero

* fix percentage calc

* linting

* another zero in RRD. the (int) might be consequential errors and should hurt...

* no float for average_package

* Update includes/polling/cisco-qfp.inc.php

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

* Add floor

---------

Co-authored-by: Tony Murray <murraytony@gmail.com>
2023-04-14 22:11:36 -05:00
Tony Murray
cafdec6285 Remove unused port fields (#14963)
* Remove unused port fields
(and set vlan to default to null)

* Update test data for deleted fields

* update vlan to null

* missed field removals

* More correct migration

* Update new data

* restore accidental deletions
2023-04-14 16:47:26 -05:00
PipoCanaja
228c4ca78d bug - wrong type in ports.inc.php (#14952)
Yet another of these :) 

```
[2023-04-07T19:55:28.777810+02:00] production.ERROR: Error polling ports module for xxxxxxxxxx. TypeError: Unsupported operand types: string - int in /opt/librenms/includes/polling/ports.inc.php:785
Stack trace:
#0 /opt/librenms/includes/polling/functions.inc.php(339): include()
#1 /opt/librenms/poller.php(126): poll_device(Array, false)
#2 {main}  
[2023-04-07T19:55:28.780705+02:00] production.ERROR: Unsupported operand types: string - int {"exception":"[object] (TypeError(code: 0): Unsupported operand types: string - int at /opt/librenms/includes/polling/ports.inc.php:785)"} 
```
2023-04-07 14:09:57 -05:00
Justin Lentz
df31be30c1 Cleanup enable bgp setting (#14931)
* remove logic in module

* remove enable_bgp logic

* remove enable_bgp logic

* remove enable_bgp logic

* remove enable_bgp logic

* remove enable_bgp definition

* remove enable_bgp logic

* Remove enable_bgp documentation

* StyleCI

* StyleCI

* StyleCI

* StyleCI

* StyleCI

* StyleCI

* StyleCI

* StyleCI

* StyleCI

* StyleCI
2023-04-06 21:01:21 -05:00
Jellyfrog
68e0b3df28 Apply fixes from StyleCI (#14899)
Co-authored-by: StyleCI Bot <bot@styleci.io>
2023-03-13 22:32:22 +01:00
Jellyfrog
e9f8e64506 Re-throw exceptions if we're in CI (#14890)
Else they are not shown during tests
2023-03-10 15:00:03 +01:00
Jellyfrog
f111ac22fe APC: Add support for Battery Recommended Days Remaining (#14653)
* APC: Add support for Battery Recommended Days Remaining

* Extract number from string later during polling
Odd that this is different from the discovery process

* wip

* wip

* Apply fixes from StyleCI

* wip

* wip

* Apply fixes from StyleCI

---------

Co-authored-by: Tony Murray <murraytony@gmail.com>
2023-03-10 14:50:56 +01:00
Henne Van Och
2140ff21c5 add more docker stats (#14767) 2023-03-01 01:02:01 +01:00
Tony Murray
2f6d375652 Revert "Fix entity-state polling/discovery (#14793)" (#14811)
This reverts commit ebbb7cbdcf.
2023-01-27 00:43:45 +00:00
Zane C. Bowers-Hadley
98c033e84f CAPEv2 support (#14801)
* re-add it

* add cape app page

* add initial cape graphs

* now work for the general page

* more udpates

* add cape pending

* add pending and cleanup for if there are no packages(likely cuckoo, so don't add extra items)

* rework the lack of packages a bit more

* more cuckoo related cleanupgiot

* fix cape error logging

* minor cleanups

* add a new graph and use it with cape... also lots of cape cleanups

* misc cape updates

* add percentile values for stats

* add fix for weekly

* don't display 1 day average if under 17 hours

* zero timeslots of packages not used for this time slot

* add avg stat graphs for cape

* now use the average graphs and update the app page

* add a new graph

* add CAPEv2 docs

* add tests data

* lots of style cleanup

* another tweak for the test data

* fix misc style issues

* add cape to apps page

* add nicecase for cape

* case fix

* json fix for test data

* add a missing stat

* some more test data tweaking

* more misc test updates

* more test tweaking

* more test work...

* more test data work

* add what is hopefully the final test tweak
2023-01-24 11:20:18 -06:00
fdomain
ebbb7cbdcf Fix entity-state polling/discovery (#14793) 2023-01-19 15:14:29 +01:00
Sander Blomvågnes
cf3f69e67f Adding support for loop-telecom devices (#14674) 2023-01-02 14:47:17 +01:00
fcqpl
ae22662c8d Update Nvidia application - values in wrong charts (#14736) 2022-12-19 09:54:34 +01:00
rhinoau
03482ddd65 Added Moxa switching ifAlias/portName mapping (#14633)
* WIP: Added Moxa switching ifAlias/portName mapping

* style fixes
2022-12-16 09:59:41 -06:00
Tony Murray
1d3440b943 Unify time interval formatting (#14733)
* Unify time interval formatting
Use carbon for formatting, it supports locales.

* fix style

* remove baseline exceptions

* fixes found by lint
2022-12-15 15:52:53 -06:00
bnerickson
a556aca1d2 Removing max polling restriction for wireguard traffic RRD data (#14710) 2022-12-08 01:41:06 +01:00
SourceDoctor
e851c9abd4 Alarm Flag on UPS-Nut Application (#14635)
* Alarm Flag on UPS-Nut Application

* code adjustemnt
2022-11-18 21:15:21 +01:00
bnerickson
bb536bb6fe Adding wireguard application support (#14625) 2022-11-13 11:07:24 +01:00
Jellyfrog
71d740770b Remove Log::event (#14526)
* Remove Log::event

Use the Eventlog class directly instead

* wip

* wip

* wip

* Apply fixes from StyleCI

* Update Eventlog.php
2022-11-09 09:47:19 +01:00
Zane C. Bowers-Hadley
8511611f64 add HV Monitor, a generic means for monitoring hypvervisors (#14218)
* add HV::Monitor support

* document hv monitor

* add HV Monitor tests

* style cleanup

* fix a few missed style items

* test fix

* more test cleanup

* more minor test tweaks

* more test cleanup

* more test tweaking

* test ordering fix all done... hopefully

* more test cleanup

* minor formatting change
2022-11-07 13:35:48 -06:00
bnerickson
a63b12a00d XSS sanitize pwrstatd application script inputs (#14545)
* XSS sanitize pwrstatd application script inputs

* Removing is_int logic
2022-11-01 20:33:17 -05:00
Tony Murray
7d9f22705f Memcached application improve error visibility (#14536) 2022-10-31 08:13:41 -05:00
bnerickson
d28b1cac3f Adding systemd application (#14540) 2022-10-30 14:18:02 -05:00
Tony Murray
0dd183f1e1 fix awplus ntp polling bug (#14521)
tries to count an integer :/
2022-10-26 20:47:46 +02: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
PipoCanaja
8e3fe223ef Sensors - Allow changing RRD type in YAML and PHP sensor discovery (#14208)
* new row variant

* syntax

* syntax

* DB

* syntax

* schema

* test

* allAdvaTests

* Tests

* Tests

* Tests

* missingMigration

* missingMigration

* Tests

* Tests

* Tests

* Tests

* tests

* tests

* tests

* tests

* tests

* test

* fix_Aos7

* fix snmprec arista

* fix snmprec arista

* fix snmprec arista

* tests

* merge_fix

* aos7 backslash

* aos7

* more

* more

* defaultValue

* arista

* typehint

* tests

* tests

* voss

* aos7

* aos7

* aos7

* testWithoutarista-mos_metamux48-c-0-16.json

* tests

* ciscosb

* new tests with 2004 and only sensors module

* adding wireless module again

* adding wireless module again (cont)

* airos

* aos7

* arista

* arista

* bdcom

* fortigate

* fortigate

* fortigate

* ftos

* ftos

* tests on 1804

* tests once more

* tests once more, cont

* tests once more, cont

* tests once more, cont

* tests once more, cont

* tests once more, cont

* more

* bdcom

* comware

* edgeosolt

* enexus

* arista-mos

* removeAristaAgain

* ies500_manual_edit

* ies500_manual_edit

* mni

* volius

* zywal

* manually imported arista-mos

* manually imported arista-mos

* arista-mos test is triggering something ...

* restoreArista

* tests

* tests

* aristamos

* ies52xxM_4206.json

* revert linux_supermicro.json

* revert linux_supermicro.json

* benuos

* fortiadc

* rnx-updu
2022-10-25 08:31:02 -05:00
Tony Murray
797e18e943 Fix memcached polling bug (#14501) 2022-10-24 21:25:25 -05:00
Zane C. Bowers-Hadley
a166df006a base64 gzip compression support for json_app_get (#14169)
* add lnms_return_optimizer

* add compression test using zfs-v1

* minor style fix

* save the original output if not json

* replace gzinflate with gzdecode as apparently that does not require yanking the header

* Minor comment cleanup. Also note it in the application notes as well.

* update docs on how it is called

* update the spelling of it in a few places

* and a few more

* dev docs updated a bit

* the suricata extend has native support for this now

* add exception handling for base64 and gzip decoding failure

* minor cleanup for new exceptions

* minor misc changes

* minor formatting fix

* more phpdoc tweaks

* minor formatting tweak

* remember to actually include the new exceptions

* more phpdoc tweaking

* correct name in JsonAppGzipDecodeException

* add debug and verbose output

* style fix

* not base64 is it starts with a line with only a integer
2022-10-21 10:05:49 -05:00
Jellyfrog
0f13b37b4c Fix fetch ifEntry logic (#14483)
* Fix fetch ifEntry logic

* Update includes/polling/ports.inc.php

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

Co-authored-by: Tony Murray <murraytony@gmail.com>
2022-10-21 07:28:41 -05:00
Jellyfrog
b18ba17af0 Miscellaneous cleanup - part 4 (#14452)
* Miscellaneous cleanup - part 4

* wip

* wip
2022-10-19 01:33:06 +02:00
Jellyfrog
31a237b114 Miscellaneous cleanup - part 3 (#14450)
* Miscellaneous cleanup - part 3

* Apply fixes from StyleCI
2022-10-19 00:34:19 +02:00
Jellyfrog
34a58c3f9f Miscellaneous cleanup, mostly undefined variables - part2 (#14445)
* Miscellaneous cleanup, mostly undefined variables - part2

* wip

* Update Number.php

* Update BridgeMib.php

* Update Xdsl.php

* Update cisco.inc.php

* Update Cisco.php

* Update entity-sensor.inc.php

* Update entity-sensor.inc.php

* Update entity-sensor.inc.php

* Update avtech.inc.php

* Update functions.inc.php

* Update HostResources.php

* Update ports.inc.php

* Update route.inc.php

* Update cisco.inc.php

* Update Cisco.php
2022-10-18 13:30:42 +02:00
Tony Murray
ae3925b09a Fix memcached unserialize vulnerability (#14459)
Allows code injection, so remove it entirely.
This requires a memcached application script to restore functionality.

https://github.com/librenms/librenms-agent/pull/428
2022-10-16 11:15:17 -05:00
bnerickson
4efbb83d9b Add pwrstatd application (#14365)
* Add pwrstatd application

* Adding pwrstatd test json and correcting pwrstatd snmprec file.  Pwrstatd tests pass.
2022-10-12 11:01:09 +02:00
Jellyfrog
7207614437 Trim whitespaces from device data (#14429)
* Trim whitespace from sensor and ports data

* Update arista_eos_vrf.json

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* Update Os.php

* wip

* wip

* wip

* Update querybuilder.json
2022-10-11 12:50:38 -05:00