Commit Graph

206 Commits

Author SHA1 Message Date
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
Slashdoom
0c12fb6c94 refactoring: freeradius app metrics (#8002)
Add metrics to Free Radius app
2018-01-04 20:33:04 -06:00
VVelox
eaf70e96f6 feature: Added ZFS support for FreeBSD (#7938)
* add the ZFS graphs

* And now the ZFS non-graph stuff.

Still need to move it over to using JSON.

* Now uses JSON.

* use stripslashes as SNMPD loves to slash up the JSON

* Document ZFS.

* very minor formatting cleanup

* minor formatting cleanup and remove a bit of code from when I was mucking around debugging it all
2017-12-30 11:42:51 +00:00
VVelox
0e13e77c5f refactor: Fail2ban polling update and dropping of the FW checking (#7936)
* Update polling and drop the firewalled bit.

Since fail2ban on FreeBSD has moved to using anchors, the previous
issue of it dreking all over its self is no longer a problem.

And AFAIK it has never been an issue on Linux.

This also makes this script more cross platform as well instead.

* change the name of the graph of the total banned so people don't have to remove old file

* go back to the original RRD and just shove U into the no longer data area
2017-12-30 11:39:20 +00:00
Slashdoom
712201e691 feature: FreeRADIUS application monitoring (#7818)
* Update unbound.inc.php

* Update unbound.inc.php

* Create unbound_cache.inc.php

* Update AUTHORS.md

* Update apps.inc.php

* Update bind.inc.php

* Update bind.inc.php

* Update bind.inc.php

* Update bind.inc.php

* Update tiles.php

* Update Applications.md

* Update Applications.md

* Update Applications.md

* Update Applications.md

* Update Applications.md

* Update Applications.md

* Update apps.inc.php

* Create freeradius_access.inc.php

* Update functions.inc.php

* Create freeradius_auth.inc.php

* Create freeradius_accounting.inc.php

* Create freeradius_proxy_access.inc.php

* Create freeradius_proxy_auth.inc.php

* Create freeradius_proxy_acct.inc.php

* Create freeradius_queue.inc.php

* Update and rename freeradius_accounting.inc.php to freeradius_acct.inc.php

* Update apps.inc.php

* Create freeradius.inc.php

* Create freeradius.inc.php

* Update freeradius.inc.php

* Update freeradius.inc.php

* Update freeradius.inc.php

* Update freeradius.inc.php

* Update freeradius.inc.php

* Update Applications.md

* Update Applications.md

* Update freeradius_access.inc.php

* Update freeradius_acct.inc.php

* Update freeradius_access.inc.php

* Update freeradius_auth.inc.php

* Update freeradius_access.inc.php

* Update freeradius_acct.inc.php

* Update freeradius_proxy_access.inc.php

* Update freeradius_proxy_acct.inc.php

* Update freeradius_proxy_auth.inc.php

* Update freeradius_queue.inc.php

* Update freeradius_queue.inc.php

* Update freeradius.inc.php

* Update freeradius.inc.php

* Update freeradius.inc.php

* Update freeradius_acct.inc.php

* Update freeradius_acct.inc.php

* Update freeradius_access.inc.php

* Update freeradius_access.inc.php

* Update freeradius_auth.inc.php

* Update freeradius_proxy_access.inc.php

* Update freeradius_proxy_acct.inc.php

* Update freeradius_proxy_auth.inc.php

* Update freeradius_queue.inc.php
2017-12-12 21:13:24 -06:00
Tony Murray
b620692426 refactor: Update all applications to store metrics (#7853)
* Update all applications to store metrics

* fix db schema

* Add glue test
2017-12-06 22:13:10 +00:00
Tony Murray
4a03e7838e feature: Save application metrics to db for alerting (#7828)
* feature: save application metrics to db for alerting
However, alerting will not work because ResolveGlues() is broken.
Can add workaround after state_translations alerting is merged

Does not update all applications yet, not sure if that should be done here or in another PR.

Introduces two handy functions dbDeleteOrphans() and array_by_column().  Will replace those in other locations after this is merged or separate them out if this is not merged.

* remove accidental inclusions

* Add db schema
2017-12-01 07:53:26 +00:00
Tony Murray
d6db01abb5 refactor: Refactor fix php codesniffer 3.x issues (#7816)
We cannot use 3.x because it  requires php 5.4, so update to 2.9.1 or newer 2.x release.
2017-11-29 08:23:19 +00:00
Tim de Boer
c2ca68a6ec Fixed the Nvidia GPU index error (#7692) 2017-11-09 12:17:30 +00:00
Tim de Boer
24a0ee97a7 refactor: Added the Nvidia SM average as app_status (#7671)
* Added the Nvidia SM average as app_status

* Added the Nvidia SM average as app_status

* Added the Nvidia SM average as app_status

* Added the Nvidia SM average as app_status

* Cleaned up Nvida polling

* typo

* new line

* Evaluation of sm_total swapped
2017-11-08 15:09:29 +00:00
Joel Kociolek
bc3d1ed47e feature: Improve Freeswitch agent: add ability to get data via snmp and graph more data (#7549)
* Add ability to get Freeswitch application data via snmp

On your Freeswitch server install the script from
https://github.com/librenms/librenms-agent/blob/master/agent-local/freeswitch
into /etc/snmp, make it executable and adjust it to your installation.
Configure your snmpd to use the sript as an extension. For example on Debian
add the following line to your /etc/snmp/snmpd.conf:

extend freeswitch /etc/snmp/freeswitch

Activate the Freeswitch application for your server on your LibreNMS server.
it should now start to receive data from your Freeswitch server via snmp.

* Graph "Calls" and "Channels" of Freeswitch agent

The Freeswitch agent sends Calls and Channels count and they weren't graphed
up to now.  This is especially useful in settings where the Freeswitch
server does not act as a Gateway and thus the agent does not sent
Incoming and Outgoing Call numbers.

* Cleanup commented code and add myself to authors
2017-10-26 11:27:11 +01:00
Stefan Funke
c39f3c7468 fix: quotes breaking powerdns app data (#7111) 2017-09-04 23:30:08 -05:00
crcro
96f066189e feature: Added pi-hole application support (#6782)
* added data to webui

* added last step on docs

* fix scrutinizer issue

* fix blank lines
2017-06-05 23:00:09 +01:00
Neil Lathwood
6d0e5794b2 fix: Strip " from memcached application + pass string to update_application() (#6725) 2017-05-25 07:35:20 -05:00
Slashdoom
c52b38b9ee fix: Fixed variable setting for new Bind poller in agent mode (#6671)
* Update unbound.inc.php

* Update unbound.inc.php

* Create unbound_cache.inc.php

* Update AUTHORS.md

* Update apps.inc.php

* Update bind.inc.php

* Update bind.inc.php

* Update bind.inc.php

* Update bind.inc.php
2017-05-19 11:18:36 +01:00
Neil Lathwood
1ce58cd33d feature: Added functionality to support recording status info (#6628)
* feature: Added functionality to support recording status info

* updated phpdoc block
2017-05-13 06:55:38 -05:00
Tom van Leeuwen
af9954610f fix: Sanitized nginx application output for ubuntu-16.04 2017-05-08 20:07:37 +01:00
Tony Murray
379176ceac fix: MySQL app graphs with rrdcached (#6608)
Do not send -1 values when we set the minimum as 0.  Send the proper U for non-values.
fixes: #6223
2017-05-08 19:57:51 +01:00
Neil Lathwood
4ba8be2dfe fix: fail2ban application was setting the wrong variables (#6582) 2017-05-04 13:22:13 -05:00
Slashdoom
bdf1616c76 feature: Added additional Unbound chart for query cache info (#6574)
* Update unbound.inc.php

* Update unbound.inc.php

* Create unbound_cache.inc.php

* Update AUTHORS.md

* Update apps.inc.php
2017-05-04 11:04:10 +01:00
VVelox
62a562b39a feature: Updated BIND application (#6218)
* add BIND named poller

* add BIND named graphs

* add BIND stuff

* add the color pallete used by this

* add app support

* white space cleanup

* document the bind stuff

* expand the linux package stuff a bit

* note the agent and zero_stats value

* now include the $mib stuff

* white space cleanup

* whoops, add the update app bit

* correct a error added when merging

* readd copyright info

* note myself in the copyright info
2017-05-03 15:23:33 +01:00