* 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>
* 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
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 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
* feature: Added app_state support for applications #5068
* moved schema file 173 -> 174
* Re-arrange code
* added device_id to dbUpdate call
* updated function + missing apps
* Rename 174.sql to 176.sql
* Remove $device, it is unneeded when updating. Rename update_applications() -> update_application()
* Some apps can return simply 0
* feature: Allow customisation of rrd step/heartbeat when creating new rrd files
* revert defaults
* added docs + webui config option
* Move RrdDefinition to an Object to make them easier to create and remove the possibility of typos.
* Fix style/lint issues and missing use statements
* 3 more missing use statements
* updated doc + moved schema file
* Added support for freeswitch via unix_agent
* Fixed display of graphs on apps overview
* Removed tab indents
* Fixed not sending port_descr_type (#4188)
* Removed / Updated version info to just be LibreNMS (#4193)
* Remove requirement for ['enable_printers'] (#4192)
* ricoh devices returning garbage as toner level (#4180)
* ricoh devices returning garbage as toner level
* ricoh toner extra check
* more ricoh rules
* Fix remote rrdtool_check_rrd_exists() calls (#4196)
It was comparing with the full name when rrdcached only printed out the relative name.
Thanks mikmak on irc for lots of troubleshooting.
* check for no motd line (#4200)
Fixes#4199
* Only push the toc down, not the content
the toc is on top when the header switches to two lines, so we only need to push that down.
* IRC bot - detect lost communication
Force reconnect if no data received from server for config['irc_conn_timeout'] seconds (that may happen when network/VPN goes down - in such case IRC bot won't get immediately notification that connection was lost, at least till it tries to send anything).
* Update irc.php
* Update irc.php
* Update irc.php
* Update irc.php
* fix ifName randomly defined, breaking influxdb updates (#4202)
* IRC bot - allow to disable ssl check
In PHP 5.6.x stream wrappers verify peer certificates and host names by default when using SSL. That fix allows to turn off that verification with config option $config['irc_disable_ssl_check'] = true;
It is useful when you want to use self generated certificate for your own IRC server.
* Update irc.php
* More more docs (#4197)
* Updated docs + some small code changes
* Added validating code doc for developers
* Doc updates
* Updates and improvements
* Add ntpd to the list of agentapps (#4194)
* Fix deprecated constructors
This small change should't prevent easy updates to libraries and fixes the lint check on php7
* Don't allow php7 failures anymore
* Fix defunct process issues: create Proc class (#4210)
* Proc class
Encapsulate processes in a class, when they go out of scope, we can use the __destruct() process to make sure the process terminates.
* Fix rrdtool_last checks failing
* Don't close rrdtool in rrd_graph
Try to start rrdtool process if they haven't been started yet
Remove some extra debug output
* phpdocs added
several cleanups
should still be functioning the same
Only open one rrdtool process for graph.php
* include common.php in definitions.inc.php (#4198)
definitions.inc.php makes a call to dbFetchRow, which uses c_echo()
It is safe to include common.php here as it only has function definitions.
* Use pre-commit.php in for travis-ci tests (#4212)