* 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
* Rewrite smokeping script to be an lnms command
* Add a default number of probes for smokeping
* Formatting fixes
* Refactor to simplify a couple of methods
* Fix a name collision when using more than 60 threads
* Simplify
* First pass at documentation
A few climate fixes too.
I'm a little dubious about the + LibreNMS fix - it could be included
in /etc/smokeping/config if it is really needed, but it sounds like
(looking at git blame) it's needed for if the script generates a broken
configuration file.
I'm thinking we should just not generate broken config.
* Improve testability and add some tests
* Load laravel to make translations available
* Second pass at documentation
* Fix brace
* Extend the device factory to include the type
Also adds a device group fake I created before I realised I didn't need it
* Mimic gen_smokeping.php a little more closely
* Update tests to properly verify old and new behaviour against each other
* Replace gen_smokeping with a wrapper
* Don't double whitespace
Render does this automatically.
Explicitly order by hostname too.
* Make faker less likely to generate duplicates
I tried adding a unique constraint here, but it didn't have the
intended effect.
Extending the hostname like this seems to work fine - I tried
generating 10 million hosts and got no duplicates, compared to
duplicates appearing with as few as 100 hosts without this
change.
A true fix would be to add an 'fqdn' fake upstream.
* Make the tests more robust
* Assorted bug fixes
* Style corrections
* Handle 'generic' devices
* Fix an issue that came up during rebase
Co-authored-by: Tony Murray <murraytony@gmail.com>