Commit Graph

226 Commits

Author SHA1 Message Date
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
4b52cab776 fix RRD in MySQL (#11740) 2020-05-30 17:43:41 -05: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
Tony Murray
df16de9d2f Refactor Datastores to allow future improvements. OpenTSDB Tags. (#11283)
* Datastores to object oriented code, using the Laravel IoC container

Change instantiation
better DI
move OpenTSDB

Small re-orgs

remove unused stuff

Fix graphs and other scripts

Use DI for all except rrd

fix up connection error handling

Add tests, fix up a "few" things
Add Config::forget()

Style fixes

Don't reference legacy code

remove accidental code paste

Add datastores phpunit groups

some tests

* rebase fixes

* some test fixes

* shorter tests

* shorter tests

* Don't except when rrdtool can't be started.

* restore tests

* fix rrd tests

* fix iterable change upstream

* fix isValidDataset

* fix invalid data bug

* fix mysql incorrect ds

* fix issue with data that is too long

* use regular data_update()

* Use log facade

* OpenTSDB mis-ordered arguments fix

* Making a singleton with different options makes different singletons.  Just use the global config settings to disable datastores.

* only filter tags for datastores that won't it don't modify the tags permanently

* Update copyrights to include original authors.

* Stats for all datastores

* Fix mysql sends different rrd / other ds names

* fix snmp last stats not initialized
remove unused function

* remove unused function and move single use function closer to its use

* InfluxDB does not need to update null or U values.
Skip write if all fields are empty

* Fix smart value checks

* fix style issues

* Make sure port data is stored the same way as before for Graphite and OpenTSDB
Add ifIndex tag to all to be compatible

* Missed rrdtool_tune() call

* Test update WIP

* OpenTSDB now includes tags

* fix style
2020-03-16 09:17:58 -05:00
crcro
2ee2862357 app: mailcow-dockerized postfix stats (#11058)
* app-mailcow-dockerized-postfix

* fix docs

* updated niceCase

* test-data

* snmprec upload

* new test data

* new test data
2020-03-13 10:16:03 +01:00
Tony Murray
7fe895bd08 Revert "Refactor datastores to classes (#9179)" (#11273)
This reverts commit e5dad7a64e.
2020-03-11 07:52:52 -05:00
Tony Murray
e5dad7a64e Refactor datastores to classes (#9179)
* Datastores to object oriented code, using the Laravel IoC container

Change instantiation
better DI
move OpenTSDB

Small re-orgs

remove unused stuff

Fix graphs and other scripts

Use DI for all except rrd

fix up connection error handling

Add tests, fix up a "few" things
Add Config::forget()

Style fixes

Don't reference legacy code

remove accidental code paste

Add datastores phpunit groups

some tests

* rebase fixes

* some test fixes

* shorter tests

* shorter tests

* Don't except when rrdtool can't be started.

* restore tests

* fix rrd tests

* fix iterable change upstream

* fix isValidDataset

* fix invalid data bug

* fix mysql incorrect ds

* fix issue with data that is too long

* use regular data_update()

* Use log facade

* OpenTSDB mis-ordered arguments fix

* Making a singleton with different options makes different singletons.  Just use the global config settings to disable datastores.

* only filter tags for datastores that won't it don't modify the tags permanently

* Update copyrights to include original authors.

* Stats for all datastores

* Fix mysql sends different rrd / other ds names

* fix snmp last stats not initialized
remove unused function

* remove unused function and move single use function closer to its use

* InfluxDB does not need to update null or U values.
Skip write if all fields are empty

* Fix smart value checks

* fix style issues
2020-03-10 19:08:00 -05:00
SourceDoctor
2cfc7c6f14 Extended unbound monitoring (#11255) 2020-03-05 11:35:23 +01:00
SourceDoctor
53dc564ef5 Puppet Agent Monitoring (#10827)
* puppet agent monitoring

* change position of last run graph

* device overview panel

* updating documentation

* mouseover for Overview Dashboard

* adding blank line for code climate
2020-02-12 08:26:02 +01:00
Joseph Tingiris
02bc15c206 Asterisk app: add IAX2 peer graphs (#11078)
* Asterisk app: add IAX2 peer graphs

* It's an entirely new graph and will not break existing graphs.
* The asterisk extend script must be updated to provide the appropriate poller data.
* The PR for librenms-agent/snmp/asterisk is here: https://github.com/librenms/librenms-agent/pull/274

* code climate, round 1

* clarified unit text

* code climate, round 2

* changes needed to properly generate test data

* linux_asterisk-v1 test data
2020-02-03 18:47:27 +01:00
SourceDoctor
6ffde9ce2d PureFTPd Application (#11048)
* PureFTPd Application

* graphing connected Users
2020-01-21 18:50:11 -06:00
SourceDoctor
4d50feffb3 Added certificate file validity check for services (#10354)
* snmp extend for monitoring certificate file validity

* Update Applications.md

* Update Applications.md
2019-11-05 21:56:31 +00:00
SourceDoctor
8f1c77545d Added Seafile Server Monitoring (#10465)
* Seafile Monitoring

* generalized function for application with multiple similar entries

* adding snmprec file

* Create linux_seafile-v1.json

* Update linux_seafile-v1.snmprec

Updated linux_seafile-v1.snmprec to use 4x for encoding json data response

* Update Applications.md
2019-10-21 23:28:21 +01:00
Chuyen Vo
5a169fc85e Strip backslash return from snmp_get extend (#10724)
* Strip backslash return from snmp_get extend

* Update powerdns-recursor.inc.php

* Update powerdns-recursor.inc.php
2019-10-21 13:21:30 +00:00
SourceDoctor
932d338a83 smart application database update fix (#10378)
* fix database filling

* Update smart.inc.php

* Update smart.inc.php
2019-06-26 09:47:39 -05:00
VVelox
ad6ac30528 fix an issue where the order may be random (#10375) 2019-06-26 09:45:40 -05:00
Tony Murray
f3ba8947f7 Use Config helper (#10339)
remove usage of global variable
2019-06-23 00:29:12 -05:00
VVelox
d071c8b403 sort arrays before storing them in a component (#10329) 2019-06-11 07:52:42 -05:00
SourceDoctor
349e102b73 enhance smart to show power_on_hours also (#10261) 2019-06-06 23:39:22 -05:00
Martin
d68d8a81df Prevent fail2ban from filling eventlog on every poll (#10225)
Either the jails in the array or the respective indexes get rearranged on every poll. Adding only the values (jail names) without the indexes solves the issue. I tried also asort() which gives the same behavior.

Details: https://community.librenms.org/t/eventlog-filling-with-fail2ban-jail-component-logs-since-latest-stable-update/7902/10
2019-05-14 08:09:41 -05:00
SourceDoctor
96f7f142ba add mdadm support (#10159)
* add mdadm support

* Update mdadm.inc.php
2019-05-12 23:42:03 -05:00
Tim de Boer
91ca7b37fe Refactored Nvidia Application (#10037)
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.

- [ ] 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.
2019-04-09 14:47:43 +01:00
Tony Murray
1b46d87b0a Fix fail2ban jails eventlog spam (#10066)
The previous sort preserved keys, which we don't want
2019-04-03 21:49:15 -05:00
Tony Murray
c305d2b520 Fixed fail2ban jails eventlog spam (#10061)
Sort the jails before saving so it always matches.
Not sure why it would be different order, but this fixes the spam in any case.
2019-04-03 23:21:27 +01:00
VVelox
bc2a0e6c42 check if the proper variable is empty (#10017) 2019-03-24 18:40:37 -05:00
Tony Murray
b1f9a2531d Prevent error with multiple proxmox
Duplicate function error
2019-02-01 09:03:16 -06:00
Tony Murray
74c57441e2 Powerdns app to json (#9680)
* Update powerdns app for json

* test data

* qsize-q is value

* add legacy test data

* docs

* Update linux_powerdns-v1.json
2019-01-17 11:43:43 -06:00
Tony Murray
6a00162648 fix constant as string (#9636)
update style and copyright
2019-01-10 06:42:25 -06:00
Mike Centola
98f75bd9ce Modify GPSD Application to support SNMP Extend. Update Docs (#9625)
* Modify GPSD Application to support SNMP Extend. Update Docs

* Fixed namespace and removed comments (#9625)
2019-01-09 23:36:37 -06:00
VVelox
d3250b325a convert the FreeBSD NFS stuff over JSON (#9097)
* initial work done to FreeBSD NFS pollers for JSON support

* minor formatting cleanup and no longer pass update_application a array for the second argument

* add test data and snmprec(minus legacy)

* use variables from the data part of the JSON in the metrics

* add the legacy snmprec file for fbsdnfsserver

* add the most of the test stuff for FreeBSD NFS

* add the legacy SNMP data for FreeBSD NFS client

* add the missing "applications": {

* properly rename the tests to match the appname

* correct the appname stuff in the tests

* make a chunk of the json properly a array item

* correct this to the actual value

* change 0 to 0.0 for one and make quote data

* hmm...  RdirPlus is becoming Rdirplus

* whoops, revert that... should be RdirPlus as that is what is returned
2018-12-28 20:09:35 -06:00
VVelox
01eebd48c7 convert UPS-APCUPS over to JSON (#9095)
* add test data for the ups-apcups app

* add ups-apcups SNMP test data

* update for both legacy and JSON

* update the docs for the new extend

* add a comment so git sees this file as updated

* add missing "applications": {

* regen the json version

* properly regen the test json

* test fix

* fix the v1 tests json for ups-apcups

* regen post fixing json-app-tool

* regen the json again after more tweaks to the json-app-tool

* see if it does not like .0 for numbers that would otherwise be integers

* data is not a constant

* ...wow... missed that $json_return was mis-spelled twice :(

* re-add the .0s to some test data
2018-12-28 20:07:57 -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
VVelox
c5bb60907c add app for getting status of TCP connections for specified services (#8090)
* add the poller for portactivity

* add the ability to get monitor ports for portactivity

* add the graphs for displaying stuff for the portactivity app

* add the portactivity app page

* update the docs for Portactivity

* remove extra line

* minor doc update for Portactivity

* add update_application line

* convert to use json_app_get

* convert curly brackets to square

* style fix

* remote error, errorString, and version after they stop being important so they are not processed

* add alert rule examples

* add the poller for portactivity

* add the ability to get monitor ports for portactivity

* add the graphs for displaying stuff for the portactivity app

* add the portactivity app page

* update the docs for Portactivity

* remove extra line

* minor doc update for Portactivity

* add update_application line

* convert to use json_app_get

* convert curly brackets to square

* style fix

* remote error, errorString, and version after they stop being important so they are not processed

* add alert rule examples

* remove dump of get_portactivity_ports function added during rebase

* update to the current json_app_get

* add portactivity snmprec

* add the portactivity test data

* whoops bad merge when rebasing... fix

* minor formatting cleanup and add a missing comma

* fix some odditities with what one of the tests is doing

* whoops... include the use for the exception

* set the response to okay

* attempt to make snmpsim array check happy again

* the json now lints

* more making metric testing happy

* one more update to make travis-ci happy

* now flattens arrays also add array_flatten

* rename array_flatten to data_flatten as pre-commit chokes on it as laravel has something similarly named

* go through and properly add all the metrics

* tested with the newest one and it works

* whoops, clean up json and remove prototype that was used when putting it together

* doh! make it happy with laravel now

* see if a minor changing in formatting for the numbers makes the polling unit test happy

* order them properly

* remove a comma

* a few more minor fixes
2018-11-22 09:05:38 -06:00
VVelox
6d62026751 convert NTP to JSON and json_app_get (#9088)
* add tests for v1 of the JSON NTP client stuff

* update the NTP stuff to work with legacy and JSON

* add the NTP client legacy tests

* Update ntp-server.inc.php
2018-08-27 08:16:53 -05:00
VVelox
e134a55556 convert zfs over to use json_app_get (#8573)
* convert zfs over to use json_app_get

* make the format checker happy

* change array brackets used and update for upcomming changes to json_app_get

* change it over to do exception checking

* styling cleanup

* cleanup error handling

* update to the latest json_app_get

* correct a bit of logic for legacy and cleanup some formatting

* add the snmprec files for the ZFS app

* add the tests for ZFS with legacy extend

* add another check

* convert these from base64 to hex

* remove improper commas

* Match upstream spacing

* fix typo

* fix bad data and zfs metrics, allow float values

* bad capture

* improve comment

* Update db_schema.yaml
2018-08-19 17:44:11 -05:00
Tony Murray
184f5a5f99 Fix invalid json in test data (#9015)
* Fix invalid json in test data
Most simply needed the syntax fixed
fail2ban needed updated data (added non-zero values in test data too)
awplus: ntp application cannot be enabled by tests since it doesn't use snmp extend... ntp app is enabled by ntp module... pass on that for now.

* missed awplus change somehow...
2018-08-16 11:11:03 -05:00
TheGreatDoc
b844dd44c8 Asterisk Application support (#8914)
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`

PR 183 from librenms-agent contains the script to make this work

https://github.com/librenms/librenms-agent/pull/183
2018-07-21 20:48:31 +01:00
Tony Murray
eeb3d58f5b Improved Logging and Debugging (#8870)
Use Log facility when Laravel is booted.
Update init.php so we can easily boot Laravel for CLI scripts. (and just Eloquent, but that may go away)
Move all debug setup into set_debug() function and use that across all scripts.
Log Laravel database queries.
Send debug output to librenms log file when enabling debug in the webui.
Allow for colorized Log CLI output. (currently will leave % tags in log file output)

** Needs testing and perhaps tweaking still.

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`
2018-07-13 23:08:00 +01:00
István Sárándi
7047a455bf Fixed storing metrics for SMART application script (#8807)
This was an obvious bug, the pattern in all similar .inc.php files for other apps is always `$metrics[$something] = $fields`, assigning the array itself to be an element of itself must have been a mistake (that makes it impossible to create application metric based alerts based on disk SMART status).

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.

- [ ] 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`
2018-06-06 23:55:12 +01:00
VVelox
c3007b483a add json_app_get and convert fail2ban over to JSON (#8571)
* add json_app_get function

* add numeric testing and version support

* now use json_app_get

* remove some unneeded code

* update the docs for json_app_get some more

* make the format checker happy

* add in min version support and now take extend name instead of the partial OID

* hmm... don't make min version optional

* add Exception usage for this all make min version actually work

* minor formatting cleanup

* minor style cleanup

* update json_app_get with $throw_me setting

* Use exceptions to fully handle errors.
Always update the application.  Include error message for use in UI.
Move data to data key for easier parsing.
Add test data

* make a few changes to the lovely changes from @murrant

* style cleanup

* now attempt parsing it the old way if a error of -5 is returned

* add new exceptions and rework them all

* add new exceptions and min version 0 no longer bypasses the key checks

* redo the error codes a bit and improve the comment about it all

* fix a a bit of formatting

* added JsonAppException and make the other JsonApp stuff a sub of it

* note JsonAppException

* fix class creation

* JsonAppBlank now extends JsonApp

* doh! add <?php

* update the poller to properly use the new exceptions

* no longer check for error twice and make sure the data key is present

* cleanup processing of legacy scripts

* tweak this a bit

* white space fix

* fix the tests for fail2ban
2018-05-25 21:16:16 -05:00
Hans Erasmus
163c595494 feature: Added a third graph to unbound with more metrics (#8616)
* Added a third graph to unbound with more metrics

* Update unbound.inc.php

* Reset composer.lock

* Update unbound.inc.php

* Update unbound.inc.php
2018-04-25 20:52:12 +01:00
Sander Steffann
65b8270936 feature: Added random entropy support for applications (#8555) 2018-04-13 17:42:14 +01:00
VVelox
89d24f25a5 feature: Added application metric support to ZFS (#8269)
* add metric support and make it work

* minor gramar correction

* remove accidetnally duplicated code
2018-02-27 16:35:07 +00:00
crcro
c21e9c2f4a feature: Added powerdns dnsdist application (#7987)
* powerdns dnsdist app support

* fix conflict

* added doc

* fix new lines

* alphabetic order

* no data manipulation on host side
changed rrd from gauge to counter
2018-01-06 20:05:06 +00:00