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.
* 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
* 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
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.
* 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
* 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
* 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
* 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...
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
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`
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`
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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