* Add basic support for GE Galaxy Pulsar Plus Controllers
* Add basic support for GE Galaxy Pulsar Plus Controllers
* Add basic support for GE Galaxy Pulsar Plus Controllers
* Modified Gepulsar.php
* Replace VyOS .png with .svg
Current .png also has white background, which does not look good when using the dark theme
* Update vyos.svg
Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
* Add a executable type to settings page
This allow us to validate the value is a valid executable
* Add a directory type to settings page
This allow us to validate the value is a valid directory
* fixes
* Added basic EndRun support
* Fixed spaces as indicated by Travis
* Changes applied as per request and suggestions
Incorporated @murrant's suggestions.
* Update Endrun.php
* Update endrun.json
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Change CORS implementation
allows for upstream integration of Laravel 7
* migrate config
* skip implementing patterns for now
* Expose settings to the webui
* Make db settings apply
* Add support for Aten PE8216 PDU
* Add support for Aten PE8216 PDU
* Add support for Aten PE8216 PDU
* Revert "Add support for Aten PE8216 PDU"
This reverts commit 5d2f195f28.
* Revert "Add support for Aten PE8216 PDU"
This reverts commit ebfd659775.
* Fixed integer issue with skip_values
* More integer changes
* Add json file
* Fix yaml file
* Setting modules like that reduces user control
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Poller settings WIP
* Poller settings WIP2
* working on SettingMultiple
* setting multiple working
* settings sent with all required info
* fix translation
* Fix keys
* fix groups setting
* Apply settings to service
fixes and validations for setting
* don't error when no poller_cluster entry exists
* hid tab when no poller cluster entries
* Authorization
* make prod
* daily maintenance toggle should be advanced
* Update schema def
* Detection for MobileIron appliances
* Test data
* Remove references for GANDI-MIB
Turns out these aren't actually needed for Linux-likes
* Remove module filters
* -Real dark mode, (themed bootstrap)
-removed inverted colors in navbar
* Test data
* FIX: navbar in mono theme.
* Dark mode rrdtool
* Changed background on gridster to match background of the dark theme
* - Icons and links now are grey
- Modernized tabs style into pills,
- button pagemenu-selected fixed
* Improvements:
- bootgrid-th, are now visible (dark mode to the table headings)
- Changed line color of poller and ping in rrdtool
* Fix some codeclimate errors
* Fix airos.snmprec, reverted to original file
* Ping only device doesn't display
if os was set to something, ping os wasn't loaded and we try to get overview graphs from it.
* Fix snmp_disable device page load error
When other os is set.
* Revamp os setting loading
the only safe way to access is Config::getOsSetting()
* Remove getOsSetting fallback behavior
Most instances don't use it and it can have unexpected results Config::getOsSetting('blah', 'group') == 'librenms'
* refactor and remove unneeded load_os/loadOs calls now since getOsSetting automatically loads it.
* restore unix overview graphs, they are different
small cleanups
* fix
* New OS: QTECH
https://www.qtech.ru/en/catalog/
* QTECH: Add hardware, version and serial support
* QTECH: Fix platform and software version detection
* QTECH: Add test for QSW-3450
* Throw some shit together, rough outline.
* Reorganize tabs, use tab controllers
* Implement performance (into the latency tab)
* Update resources/views/device/header.blade.php
Co-Authored-By: Jellyfrog <Jellyfrog@users.noreply.github.com>
* Add more tabs
* All controllers created
* Implement routes
* Implement smokeping
* routing and auth
* fix smokeping check
* Implement device dropdown menu
* Update deviceUrl to new style
* Use Gates
* Fix style
* use more appropriate gates
* add show-config gate
remove Laravel helper
* Only show vlan tab if VLANs exist for the device :D
* Fix rancid file check will return false
* revert over-zealous file name changes
* don't need to request the location parameter, just cast to string to avoid bugs when not found
* Move latency tab (ping/performance) to the position of performance instead of ping.
Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
It's also possible to do zpool IO from the MIB, but diskIO on
LibreNMS makes a lot of assumptions about it coming from the UCD
MIB.
This changeset adds detection for FreeNAS and TrueNAS - despite
having their own enterprise number, the snmpd uses the FreeBSD
one.
The naming is a bit all over the place, because this reflects
reality - IXSystems produce FreeNAS and TrueNAS, the product lines
have merged to eliminate FreeNAS, but TrueNAS still calls itself
FreeNAS everywhere except the GUI.
* Add OS detection for Greenbone appliances
They don't expose anything fancy over SNMP, but this makes them
display interface names correctly. Under the hood they're unix-y.
Greenbone logo is from the AGPLv3 gsa, which is GPL compatible:
https://github.com/greenbone/gsa/blob/master/gsa/public/img/greenbone.svg
The mib is included for completeness, but it doesn't expose any
graphable values.
* Fix the vendor's logo
* Global Settings - Alert Default Settings
* Revert "Global Settings - Alert Default Settings"
This reverts commit a1af62b146.
* Widget Eventlog - Sensors link and overlib Image
* travis fix
* handling via AppServiceProvider
* collect function
* Travis ...
* static list of Sensor Types
* adding all sensor graph_types
* remove collect
* correct getTypes - remove change to lower case
* class sensor_descr switch
* class sensor_descr switch - revert
* Use standard sensor type names
* move types to attribute list
* going back to changes from 9eee7fad58
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Add Advantech logo.
Taken from https://commons.wikimedia.org/wiki/File:Advantech_logo.svg
with minor edits (removed width and height).
* Add Advantech MIB files.
* Add Advantech definitions.
* Add suppor for version and hardware polling.
* Add advantech snmp recording.
* Add sensors for SFP ports
Each SFP will have temperature, voltage, tx bias, Tx/Rx power.
Also update snmp recording to include new data.
* Rename ADVANTECH-EKI-PRONEER-MIB_1_01.mib to ADVANTECH-EKI-PRONEER-MIB
* Rename advantech-common-mib.mib to ADVANTECH-COMMON-MIB
* Update advantech.yaml
* Update advantech.svg
* Create advantech.json
Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
* ascom support
* tests
* typo
* Correct missing 'mpls' in misc/os_schema.json
* remove mpls for now
* tests
* Update ascom.svg
* Don't disable already disabled modules
As I usually state, not much gain in disabling these here. Would be better to optimize the modules if you think they take too long on devices that don't have support.
* refactor polling code
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Datastores to object oriented code, using the Laravel IoC container
Change instantiation
better DI
move OpenTSDB
Small re-orgs
remove unused stuff
Fix graphs and other scripts
Use DI for all except rrd
fix up connection error handling
Add tests, fix up a "few" things
Add Config::forget()
Style fixes
Don't reference legacy code
remove accidental code paste
Add datastores phpunit groups
some tests
* rebase fixes
* some test fixes
* shorter tests
* shorter tests
* Don't except when rrdtool can't be started.
* restore tests
* fix rrd tests
* fix iterable change upstream
* fix isValidDataset
* fix invalid data bug
* fix mysql incorrect ds
* fix issue with data that is too long
* use regular data_update()
* Use log facade
* OpenTSDB mis-ordered arguments fix
* Making a singleton with different options makes different singletons. Just use the global config settings to disable datastores.
* only filter tags for datastores that won't it don't modify the tags permanently
* Update copyrights to include original authors.
* Stats for all datastores
* Fix mysql sends different rrd / other ds names
* fix snmp last stats not initialized
remove unused function
* remove unused function and move single use function closer to its use
* InfluxDB does not need to update null or U values.
Skip write if all fields are empty
* Fix smart value checks
* fix style issues
* Make sure port data is stored the same way as before for Graphite and OpenTSDB
Add ifIndex tag to all to be compatible
* Missed rrdtool_tune() call
* Test update WIP
* OpenTSDB now includes tags
* fix style
* Datastores to object oriented code, using the Laravel IoC container
Change instantiation
better DI
move OpenTSDB
Small re-orgs
remove unused stuff
Fix graphs and other scripts
Use DI for all except rrd
fix up connection error handling
Add tests, fix up a "few" things
Add Config::forget()
Style fixes
Don't reference legacy code
remove accidental code paste
Add datastores phpunit groups
some tests
* rebase fixes
* some test fixes
* shorter tests
* shorter tests
* Don't except when rrdtool can't be started.
* restore tests
* fix rrd tests
* fix iterable change upstream
* fix isValidDataset
* fix invalid data bug
* fix mysql incorrect ds
* fix issue with data that is too long
* use regular data_update()
* Use log facade
* OpenTSDB mis-ordered arguments fix
* Making a singleton with different options makes different singletons. Just use the global config settings to disable datastores.
* only filter tags for datastores that won't it don't modify the tags permanently
* Update copyrights to include original authors.
* Stats for all datastores
* Fix mysql sends different rrd / other ds names
* fix snmp last stats not initialized
remove unused function
* remove unused function and move single use function closer to its use
* InfluxDB does not need to update null or U values.
Skip write if all fields are empty
* Fix smart value checks
* fix style issues
* device search by (valid) ip address
* add device_ip & not empty conditions to search results
* updated comments
* spaces after commas
* search ip and overwrite_ip for name based searches, too
* All of the images in html/images/manifest.json 404 because the src specified was relative
* The resulting URL was /images/images/android-chrome-192x192.png (which does not exist). The files are in /images/.
* This fix adds a leading / to the src members, which effectively uses the correct path (e.g. /images/android-chrome-192x192.png)
* For reference, when using web manifests for icons, https://developer.mozilla.org/en-US/docs/Web/Manifest/icons
"If src is a relative URL, the base URL will be the URL of the manifest."
* librenmsv1.blade.php uses asset('images/manifest.json'); many other blades use it. This fix applies to all of these views.
/opt/librenms/resources/views/about/index.blade.php
/opt/librenms/resources/views/auth/2fa.blade.php
/opt/librenms/resources/views/auth/deny-demo.blade.php
/opt/librenms/resources/views/auth/external-auth-failed.blade.php
/opt/librenms/resources/views/auth/login.blade.php
/opt/librenms/resources/views/auth/public-status.blade.php
/opt/librenms/resources/views/device-group/create.blade.php
/opt/librenms/resources/views/device-group/edit.blade.php
/opt/librenms/resources/views/device-group/index.blade.php
/opt/librenms/resources/views/layouts/legacy_page.blade.php
/opt/librenms/resources/views/locations.blade.php
/opt/librenms/resources/views/settings/index.blade.php
/opt/librenms/resources/views/user/authlog.blade.php
/opt/librenms/resources/views/user/create.blade.php
/opt/librenms/resources/views/user/edit.blade.php
/opt/librenms/resources/views/user/index.blade.php
/opt/librenms/resources/views/user/preferences.blade.php
/opt/librenms/resources/views/vue.blade.php
/opt/librenms/resources/views/map/device-dependency.blade.php
* Added WUT 57606,57613,57720
* Added os wut-*
* fixed MIB Names and try to generalize wut
* more general sysObjectID mapping, and mib directory
* Delete WUT-57606-MIB
* Delete WUT-57613-MIB
* Delete WUT-57720-MIB
* Rename wut-57613.snmprec to wut_57613.snmprec
* Rename wut-57720.snmprec to wut_57720.snmprec
* Rename wut-57606.snmprec to wut_57606.snmprec
* Delete wut-57606.yaml
* Delete wut-57720.yaml
* Delete wut-57613.yaml
* Delete wut-57606.yaml
* Delete wut-57720.yaml
* Delete wut-57613.yaml
* Update wut.yaml
* Try to correct the Temperature part
This should work for temperature, according to MIB. Pressure and Humidity are not described in this mibfile, so we cannot poll them.
* change wut.yaml
* Add and fix wut_57720
* after ./scripts/save-test-data.php ?
* Add test data
Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
* Add support for TRENDnet switch, TEG-S80ES in particular
* Add trendnet.snmprec
* Add test data (JSON)
* Remove mib comment from yaml
* Update copyright info
* Use sysDescr value for Hardware
* When searching from the web interface, librenms produces
production.ERROR SQLSTATE: Column not found: 1054 Unknown column
'$perms_sql' in 'where clause'
* Above feeds resources/views/layouts/menu.blade.php which, because
of the failed query, has no device_ports as a value. Thus the search
results do not produce the expected 'name ... device with X port(s)'
* As well, the previous query did not exclude deleted and ignored
ports. Therefore, the value for X port(s) was incorrect and did not
correspond to the device's ports screen.
* Device group based access
* Use Permissions class to resolve permissions
Also give port access based on device access
* Convert more pages to use Permissions class
* shorten config setting name
use Eloquent relationships in several places
alphabetize config_definitions.json
* Change Models and Permissions
* Clean up ajax_search LIMIT sql
* Convert more pages to use Permissions class
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Update menu.blade.php
* Swap username and notification icon
* Hide count-notifications when zero
* slight tidy
* Accidental key press
* Decrease space to tie them together better
* Update styles.css version
* Add option to authenticate user independtly of OU
* Set config option in webui
* Compatibility with bind username option
* ran ./lnms translation:generate
* update doc
* Clean broken VRF lite code
* Change DB table for route discovery
* Add VRF simple support
* add port_id to db and discovery
* static-fy the translation arrays
* sort and search cleaning
* Sorting refactor and validation
* formatItem shortened
* Handle ifIndex==0 meaning no next hop defined (MPLS)
* Sync all create/updates
* purge in daily
* remove old route table
* get rid of inetCidrRouteNextHop_device_id
* fix wonky column orders
* add route snmprec
* fix sorting by interface
* Move to new config
* rename to route the new table
* Properly display ipv6 compressed addresses
* Translation before merge ./lnms translation:generate
* Update manifest
additional translatable strings: Filter Settings in settings page and Global Search on all pages.
remove duplicate fr key
also, language file signatures were wrong as I had a testing version of the vue generator
* Unbundle javascript language files
automatically generated for each install
* update docs
* update laravel-vue-i18n-generator
a newer (unreleased) verison is need for English fallback to work
* Add Graylog settings
Fix order of settings
Don't clobber text input when validation fails
fixed spacing for setting reset/undo buttons and help
* fix style
* Remove $_SESSION usage, except install
Fixes issue with device debug capture
Removes secure_cookies setting, use the .env variable SESSION_SECURE_COOKIE instead. Reminder secure cookies requires cookies are transported over https, if everything is already transported via https, the setting won't make a difference.
* Fix availability map controls
* initial db/defaults dump
* numeric values
* Remove $config['time']
* Use config_definitions.json
* try setting definition as a complete array
* a little more
* fix format
* WIP converting dynamic setting pages
* rewriting the webui
* remove legacy and add translations
* finish email section
* improve navigation
update js a bit
* Import the remaining existing settings
* Update backend still some wip
migration
* fix config loading (db not overriding defaults)
* some cleanup
* more array collapsing
* update settings
* Settings search
* add purge settings to ui, order groups and sections
* collapse more arrays
* Auth definitions WIP
* remove needless slash escapes
* add warning to json
* moving settings from defaults.inc
* remove slow_statistics
* Move rrdtool settings to the poller section
* Use translations more consistently
* removing more settings from defaults.inc.php
* show setting name in tooltip
* allow help text to be shown on mobile
* disable settings that are set in config.php
* Implement undo and reset to default.
* Vue.js functional
* Vue.js WIP
* Implement tabs component
* accordion WIP
* lodash ver update
* two items
* Accordion somewhat working
* hash navigation
* Refine Accordion
* Fix up tab styling a bit
* Cleaner tab selected property
Hide html while loading
* spinner?
* Icon support
property for accordion to active
* WIP
* Tabs/Sections from ajax
* Setting Component skeletons
* Dynamic Component resolution
* Basic functionality
* toggle class
* Refactor components
* translate tabs and accordions
* simple array attempt
* improve readonly tooltip
* array styling
* array value editing
* organize snmp info
* Handle initial tab/section in url
* Use Laravel to parse tab/section, dump old
* Draggable array entries
* v-tooltip, for clickable (and touch) help tooltips
disable draggable
* Navigation WIP
* Navigation WIP
* groups computed
* filter settings
* fix event reference
* vue.js i18n initial
* missing description = just setting name
* en fallback
* tidy up the language support and js generation
* persist value to db
* fix issue with 0
* Delete settings from DB instead of setting them to default
* ldap-groups
fixup style
* Default dashboard selection
* fix array of options instead of object
* allow custom validation for settings
* translate options in SettingSelect
* SNMP v3 WIP
* fix setting arrays
* Split persist out of set
* Hook up events for SNMP v3 Auth
correct Config::persist behaviour with arrays
* dependent settings (primitive for now)
actually update the settings values in the LibrenmsSettings component
* more complex "when" behaviour
* remove un-needed seeder
* add poller_modules.cisco-qfp
* remove en.json (disable warning)
* don't set default for log_dir or log_file, otherwise it won't be processed correctly
* Fix module order
add some missing settings
* more config corrections
* correct graphs
correct loading values set to null (although it should have no difference)
remove project_name_version
* Add nfsen settings. Docs are very confusing, so might have flubbed something
remove option for array definition of select option as numeric indexes messes it up
* Correct more upstream config differences
* Config cleanup after a bunch of merges.
* Fixes
* add version tags to js/css files
remove old js
* Print out full settings list read-only
* Add http_proxy setting
fix indents in config_definitions.json
* repeaters default is 0 (aka 20)
* cleanups
* rewrite the dynamic config docs
* add language docs
* Don't show snmp v3 auth add/remove if disabled by config.php
* Fix installer not generating tmp directory directive
This fixes a usecase when open_basedir is set, not allowing php to write to default temp directory /tmp.
In that case, temp directory is set by `php_admin_value[sys_temp_dir] = /var/www/site/tmp`
Without setting config['temp_dir'] in generated config.php, LibreNMS will use /tmp regardless of what is set in fpm configuration.
* is_writeable and is_writable are both valid, but let's stay consistent
* Make $config['temp_dir'] non static
* Remove $config['temp_dir'] from standard config.php
* Make sys_get_temp_dir() fallback to '/tmp'
* Update defaults.inc.php
* Update install.php
* Update Config.php
* Update defaults.inc.php
* Update defaults.inc.php
* Remove auth use of $_SESSION
Will break plugins that depend on $_SESSION, Weathermap was already fixed.
Port them to use Auth::check()/Auth::user()/Auth:id()
* revert accidental replacement
* Add more api helper functions
to centralize code more
* Enable cors
* Initial Legacy route in Laravel
* Force api v0 responses to json
Add a couple more routes
* more paths, pretty print the json response
pass parameters to the api function
* devices basic functions
* Port generic graph function
check permissions function accepts callback to avoid lots of if statements
* move vlans
* links
* graphs
* fdb
* health
* wireless
* port graphs
* ip functions
split em up
* port_stack
* components
* compoment add/edit/delete
* get_device_groups
* port stats
* port graphs
* get_devices_by_group
* port_groups
* api_get_graph
* show_endpoints
* get_bill
* get_bill_graph
* get_bill_graphdata
* get_bill_history
* get_bill_history_graph
* remaining bill functions
* list_alerts
* ack/unmute alert
* Some cleanups
* Some cleanups
* list_alert_rules
* alert rule add/edit/delete
* inventory
* list_cbgp
* vrf
* list_ipsec
* list_fdb
* list_links (fix both usages)
* list_locations
* list_locations
* list_vlans
* list_ip_addresses
* list_arp
* list_ip_networks
* cleanup
* services
* list_logs and fix authlog.......
* cleanup
* cleanup 2
* remove slim
* don't load schema more than once
* basic test
* fix style
* downgrade laravel-cors to a version that supports PHP 7.1