* 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>
* 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
* 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 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
* puppet agent monitoring
* change position of last run graph
* device overview panel
* updating documentation
* mouseover for Overview Dashboard
* adding blank line for code climate
* 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
The NVIDIA application obtains its metrics from nvidia-smi dmon. Its built-in help (nvidia-smi dmon --help) says that the pviol and tviol columns stand for "Power and Thermal Violations". Therefore the metric should not be called Thermal Violation Percentage, but Power Violation Percentage.
* 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
* Security fix: unauthorized access
Affects nginx users:
Moved php files outside of public html directory (Apache was protected by .htaccess)
Affects all users:
Some files did not check for authentication and could disclose some info.
Better checks before including files from user input
* git mv html/includes/ includes/html
git mv html/pages/ includes/html/