267 Commits

Author SHA1 Message Date
Peca Nesovanovic c3545ce860 memcached undefined vars (#14225) 2022-08-23 13:46:11 +02:00
Zane C. Bowers-Hadley 55c62b234e add Opensearch\Elasticsearch monitoring (#14053)
* 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>
2022-08-15 14:44:20 -05:00
Peca Nesovanovic 1be8de0b24 [apps] Docker only show current containers (#14152)
* [apps] enable RRD filename filtering

* count/exists

* Switch to Applications table

* rework similar to zfs

* Update docker.inc.php

Co-authored-by: Tony Murray <murraytony@gmail.com>
2022-08-07 14:50:46 -05:00
Ambroise c807e409d9 add the possibility to monitor redis application through the unix-agent (#14182) 2022-08-07 12:05:28 -05:00
Zane C. Bowers-Hadley b827e2bbbd add support for Sagan (#14070)
* 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
2022-08-04 18:12:34 -05:00
Ambroise 0f37f68bfd Add possibility to monitor the php-fpm service with the unix agent and (#14173)
not only with SNMP agent

Co-authored-by: Ambroise Rosset <ambroise.rosset@unil.ch>
2022-08-03 08:31:06 -05:00
Zane C. Bowers-Hadley 0bbcde1227 add the ability for storing app data to prevent spamming of the event log via via component usage (#14087)
* 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>
2022-07-22 16:01:55 -05:00
Alban Browaeys a6bc7490e2 Fix app docker (#14080)
* docker app: polling - RRD dataset and fields value mismatch

RRD dataset definitions and fields array keys passed to data_update
have to be in the same order. There is no match based on key before
building the rrdtool update command.

Fixes mem_perc ending as NaN because it ended with a value above 100
as it was given mem_limit bytes value.

* docker app - remove misleading divider

The mem_perc and cpu_usage are already in percent, no need to divide
them by a hundred. The values were then made into milli percent or micro
percent.
2022-07-15 09:12:20 -05:00
Zane C. Bowers-Hadley 1416f46197 Remove alert keys from component for Suricata (#13959) 2022-05-06 04:06:20 +03:00
Zane C. Bowers-Hadley cdf457fbc5 add Suricata monitoring (#13942)
* 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
2022-04-25 20:30:49 -05:00
Henne Van Och 8f8872520a Add supervisord application (#13673) 2022-01-13 18:19:27 +01:00
Mark Westerterp 8a6f158ab8 fix: Add consistent output of name and app_id to Poller for all Applications (fixes #13641) (#13648)
* Add echo of name and app_id to all Applications

* Make echo not application specifc

* Fix echo

* Do spaces make StyleCI happy?

* Not spaces, but the type of quotes makes StyleCI happy
2022-01-06 12:08:52 +01:00
Tony Murray ccda5472c0 Add additional type tag for Bind metrics (#13581)
* Add additional type tag for Bind metrics
Fixes data getting clobbered when exported to external TSDB.
Fixes 13539

* Update bind.inc.php
2021-12-02 08:05:04 -06:00
A. Manual Goldstein 4d79ffe3bb PHP8 compatibility for ntp-server polling app (#13513)
It appears that the ntp-server application script uses an undefined constant when initializing its data array. The use of undefined constants previously generated a warning, and since PHP 8.0 generates an error instead.
2021-11-13 17:20:30 +01:00
Russell Morris 9abacb594d PHP8 Unit Conversion, ups-nut (#13432) 2021-10-26 23:12:22 +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 0c8d442091 Fix type error (#12899)
Possible float in convertToBytes.
Assuming the original number is a float and it isn't accurate, could end up with a float.
2021-05-25 15:30:50 +02:00
rasssta 3f0f133ee9 Added metric for MySQL Slave Lag (secs) (#12765)
* Added metric for MySQL Slave Lag (secs)

Added metric for MySQL Slave Lag (in seconds) to be able to build Alert Rules when slave lag value is greater than 0 (or X). It's possible to add graphs and other metrics as well, but the priority for me is to be able to build alert rules based on the "Slave Lag" metric.

* Added metric for slave lag (SlLa)
2021-04-19 20:06:55 +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
Serphentas c88ef64169 Chrony support (#12488)
* initial chrony implementation

* remove unused import

* add testing data

* fix test data

* fix tests

Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
2021-03-18 20:11:25 +01: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
yrebrac 7d65cf1f05 Add application powermon (#12500)
* adding powermon application

* working consumption graph

* updating powermon application

* powermon app style fixes

* added powermon app test data

* debug code

* revert

* fix tests

* fix tests

Co-authored-by: Tony Murray <murraytony@gmail.com>
Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
2021-03-07 20:28:09 +01:00
Lucas Dousse 49868ee1a6 docker stats app (#12358)
* docker stat app support

* Add missing doc and app

* stylci

* styleci

* styleci

* Add test data

* add snmpsim

* Update docker.inc.php

test with use Number::Bi

* typo

* Add tests

* Add tests

Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
2021-03-07 20:26:44 +01:00
Cupid@zul f9a379fa3c Rrdcached SNMP: Add poller feature for RRDCached SNMP to query remote agent. (#12430)
* Add poller feature for RRDCached queries via SNMP

* Docs Update

* Update Documentation to include localhost RRDCached monitor.

* update doc.

* update/fix

* Update Applications.md

as requested, remove RRDCached Security ref for local polling.

* Update Applications.md

* Update Applications.md

Co-authored-by: Tony Murray <murraytony@gmail.com>
2021-02-14 10:00:56 -06: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
Jellyfrog 1220d583e9 Apply fixes from StyleCI (#12336) 2020-11-21 22:52:58 -06:00
PipoCanaja 7239d4fc5f typo in bind application polling (#12276) 2020-10-29 15:32:41 +01:00
Clark Chen 2f61f505ca Fix typo cause empty data for NFS Server (#12223)
Typo causing NFS tab data aren't polling properly
2020-10-16 10:53:37 +02:00
Diego Canton de Brito 5b892dc4f8 Force lower case (#12178)
We force the strings returned from the "unbound-control stats" command to "lower case", avoiding problems with future changes to the unbound output in other variables.

All code must contain lower case letters in the $ unbound [] variable
2020-10-01 19:59:24 -05:00
hugalafutro 87538c4c4a Update unbound.inc.php (#12152) 2020-09-24 14:44:34 +02:00
Jellyfrog 29f45ca352 Apply fixes from StyleCI (#12124) 2020-09-21 15:59:34 +02:00
Jellyfrog 0d56bbd946 Apply fixes from StyleCI (#12123) 2020-09-21 15:51:53 +02:00
Jellyfrog 2fc3a21211 Apply fixes from StyleCI (#12121) 2020-09-21 15:43:38 +02:00
Avinash Kumar 78fa539628 Icecast, Opensips and Voip monitor Application (#12070)
* Icecast added

* Opensips added

* Voip Monitor added

* Icecast documentation

Icecast corrections

* Opensips documentation added

Opensips corrections

* Voip monitor documentation added

Voip monitor corrections

* Icecast corrections

* Opensips corrections

* Voip monitor corrections

* test data added for icecast

* test data added for opensips
2020-09-18 16:49:20 +02:00
SourceDoctor 8e60f8f56f Application Puppet Agent RRD Runtime Graph fix (#11837) 2020-06-18 18:15:52 +02:00
yon2004 953def1518 Added discovery for ups-nut status (#11606)
* Added UPS NUT state sensors

* Added UPS NUT state sensors

* Added UPS NUT state sensors

* Added UPS NUT state sensors

* Added UPS NUT state sensors

* Update linux_ups-nut.snmprec

* Fixed UPS states so making alerts easier.

* Fixed

* Actually Fixed it

* Added alert rules for UPS-NUT
2020-06-18 09:43:11 +02:00
Tony Murray 867aa132c1 Merge pull request #11661 from SourceDoctor/app_dhcp_enhancement
Application DHCP Upgrade
2020-06-16 17:03:45 -05:00
Anael Mobilia 22916afb9e Apps - backupninja (#11010)
* GUI - graphs

* GUI - Apps

* Polling

* GUI - apps

* Add backupninja to documentation

* Apps - backupninja : add link to librenmsagent script

* Add backupninja snmprec file

* Delete backupninja.snmprec

No Regression tests on apps (yet), only on devices.

* Remove old debug

* Update language : FR -> EN

* Add debug informations

* File path moved to /etc/snmp/

* Python script now use json

* Update following example on puppet script

* Update installation instructions following puppet example

* Update apps.inc.php

Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
Co-authored-by: SourceDoctor <sourcehhdoctor@gmail.com>
2020-06-16 01:04:30 +02:00
SourceDoctor 529f364ada Ping Perf fix while running Squid (#11823)
* Ping Perf fix while running Squid

* Update squid.inc.php

rename variable
2020-06-14 13:04:33 +02:00
SourceDoctor 1093315700 Merge branch 'master' into app_dhcp_enhancement 2020-06-08 20:51:41 +02:00
SourceDoctor 4b52cab776 fix RRD in MySQL (#11740) 2020-05-30 17:43:41 -05:00
SourceDoctor cbe572f959 Application DHCP Upgrade 2020-05-22 23:02:19 +02:00
SourceDoctor 4edff1e88a Application - Redis (#11612)
* Application - Redis

* Travis fix
2020-05-15 22:05:40 +02:00
SourceDoctor d65aa52b4a Fix RRDCached Application Socket Address in Poller (#11525)
* Fix RRDCached Application Socket Address in Poller

* remove unnecessary socket open check
2020-05-08 01:51:30 -05:00
Hayden 8993817674 Fix memcached always reporting "ERROR" for app_state (#10739)
* perform json_encode() on memcached app $response data to match update_application() string parameter

* return raw snmp_get result for memcached response data during update_application()
2020-04-11 13:53:28 -05:00
Tony Murray 217969e140 Update php-codesniffer (#11368)
* PHPCS 3.5+

* Fix newly detected style issues
2020-04-03 08:41:24 -05:00
Tony Murray 1445263290 Fix rrd format issues for asterisk and cipsec-tunnels (#11375) 2020-04-03 07:57:37 -05:00
SourceDoctor 83d980515c Rrdcached Socket Check fix (#11372)
* Global Settings - Alert Default Settings

* Revert "Global Settings - Alert Default Settings"

This reverts commit a1af62b146.

* RRDCached Socket Check fix
2020-04-02 20:50:39 -05:00
SourceDoctor 7b8ca66c67 Get configured Rrdcached Socket from config (#11351)
* Global Settings - Alert Default Settings

* Revert "Global Settings - Alert Default Settings"

This reverts commit a1af62b146.

* Get RRDCached Socket from Configuration

* socket check

* misstype fix

* travis fix

* .
2020-03-31 23:16:15 -05:00