* Added Ubuntu and Raspbian to ifAlias script
* Improved to pass shellcheck and added support for "/etc/network/interfaces.d/*"
* Last shellcheck type and updated docs
* Last changes in docs
* Tabs vs Spaces
* 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>
When the script is called, it has already matched a regex. I saw a user duplicating this script so they could notify oxidized. That just makes things hard. The only reason for the extra regex here should be to parse a user from the output.
* Update syslog-notify-oxidized.php
For oxidized to be able to catch from syslog a configuration change on a CISCO switch via SNMP.
* Update syslog-notify-oxidized.php
Small mistake with ","
* Update syslog-notify-oxidized.php
Modify with @murrant helps.
* Add Traffic_bills.md
This script describes how to migrate traffic bills from observium to librenms.
* pretty print mysql and some cosmetics
uppercase SQL Keywords
remove double spaces
* Oxidized + Device remove
Was just working on oxidized, but then to properly update nodes after delete, updated delete_device()
* revert dumb style changes
* baseline update and no DI there...
* Fix OS first load and device deletion missing tables
* collect-snmp-data.php can now capture snmp context test data
This is helpful for devices that use context for multiple data sets such as VLANs and VRFs. Allows us to test things that use those now, but does make more snmprec files :/
* update typehints on affected methods and baseline
* Improve check_requirements script to dynamically read requirements.txt
* Don't dynamically load requirements for python2
* Make sure we check python3 dependencies with python3 binary
* Quote variable to fix SC2086
* Add dynamic_check_requirements.py
* Use dynamic_check_requirements.py for python3
* Revert "Don't dynamically load requirements for python2"
This reverts commit 4485c8fcf9e0075fcf212e4f8bbc59ed75e144b5.
* Revert "Improve check_requirements script to dynamically read requirements.txt"
This reverts commit a9c83350d9de6b1b3b0a313dca23af749a08300a.
* Add LIBRENMS_DIR variable to exec, check for permission errors
* Make sure we check for permission errors on pip install
* Fix shellcheck SC2046 missing quotations
* Make sure we install pip packages as librenms user for Python3
* revert daily.sh, update dependencies in composer
* And in the validation
* should be executable
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Add support for Procurve devices
Syslog hook support added for automatic Oxidized backups of devices running Procurve
* Add documentation for HPE/Aruba Procurve devices
Update documentation to support configuration of example Syslog hooks for HPE and Aruba devices running Procurve
* Core module WIP
* update OS::make()
* core WIP
* try to finish up
* switch all core do os Model
* Mock WIP
* Working tests
* cleanup
* phpstan fixes
* style fixes
* fix agent
* trim space too
and a couple of cleanups
* corrected ios test data
* missed space
* update test data
* put escapes back
* another net-snmp difference
* Fix class description
* revert snmp.inc.php change, that can be a different PR
* revert snmp.inc.php change, that can be a different PR
* Remove $debug global
and $vdebug global
makes these variables more accessible and protects from collisions.
* the on boot set sends application as the first parameter, just handle that
* Relocate other debug related functions
* Log debug to stdout
* Wrong output
* remove stupid constants
* Fix lint and style issues
* Refactor test for GitHub Actions
* Checkout pull request HEAD commit instead of merge commit
* Fetch changed files from API instead of git
* HEAD commit
* Origin
* Fix env
* force full unit checks on gh actions change
* Fix DB conn
* Update test.yml
* Also set port in PDO connection
* Exit with correct exit code
* Update CiHelper.php
* Update test.yml
* Update CiHelper.php
* Update Proc.php
* Cleanups
Remove extra unit test run on php 7.4
Add names that will hopefully show in github.
Remove redundant DB env variables.
* Fix
Shorter names
and DB_TEST env is required
* Change command for information purposes
Co-authored-by: CrazyMax <crazy-max@users.noreply.github.com>
Co-authored-by: Tony Murray <murraytony@gmail.com>
Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
* remove unneeded semi-colons at end of line
* fix SC2206: Quote to prevent word splitting/globbing
* fix SC2164: Use 'cd ... || exit' in case cd fails
* fix SC2004: $/${} is unnecessary on arithmetic variables.
* fix SC2155: Declare and assign separately to avoid masking return values.
* fix SC2124: Assigning an array to a string! Assign as array, or use * instead of @ to concatenate.
* fix SC2059: Don't use variables in the printf format string. Use printf "..%s.." "$foo".
* fix SC2076: Don't quote rhs of =~, it'll match literally rather than as a regex.
* fix SC1090: Can't follow non-constant source. Use a directive to specify location.
* fix SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined.
* SC2223: This default assignment may cause DoS due to globbing. Quote it.
* fix SC2164: Use 'cd ... || exit' or 'cd ... || return' in case cd fails.
* fix SC1117: Backslash is literal in "\n". Prefer explicit escaping: "\\n"
* better handling of branch comapre
* add missing local ver_73 from merge
* remove duplicate definition
* Update to Composer 2
No need to roll our own checks anymore since this is now built in.
Also limit the update check to once a week.
* update
* Make Composer wrapper report correct exit code
* Update composer_wrapper.php
* re-enable extension check
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Faster initial database creation
Add db dumps to improve initial db migration
On my test system 13s -> 7s, a 46% reduction.
Should help out a lot on systems like RPi
* lnms schema:dump command
--snapshots saves db snapshots, otherwise it saves the yaml
* fix style
* fix timezones...
* not working with in-memory db yet
remove build.sql
* All os detection now uses Yaml
Move OS detection code into the Core module.
Defer all OS with snmp queries.
Add snmpwalk option.
Port ubnt and mobileiron to yaml.
* Silly ide refactor