* Remove unneeded horizontal scroll bars for alert widgets
Fixes#12454
* Always hide horizontal scroll bars
Width of the widget_body class is set to 100% which hides them anyway, with correct css margins
* Output image for graphs with no data
* add font
* Fix graph error, try to detect rrd missing
* centralize graph_error
use it for graph_text_and_exit()
* Add SVG, right now the text can get a little big...
* fix style
* Added tv_signal sensor class (TV signal in dBmV (decibells to millivolt))
* Added OS motorola-cm (Motorolla DOCSIS Cable Modem)
* Added OS thomson-cm (Thomson DOCSIS Cable Modem)
* Special Ports to Global Settings
* customers_descr type fix
* add mix-manifests - move section
* move to webui :P
Co-authored-by: Tony Murray <murraytony@gmail.com>
* New device named bti800
Support new device for model bti sa-805
* Create bti800.yaml
* Create BTI8xx-MIB
* Create BTI8xx-SYSTEM-MIB
* Create BTI8xx-TC-MIB
* Create BTI8xx-INTERFACE-MIB
* Create BTI8xx-SFP-MIB
* Create bti800.inc.php
* Create bti800.inc.php
* Create bti800.inc.php
* Create bti800.snmprec
* Create bti800.json
* OS icon for BTI800
* Update bti800.yaml
Change mib folder name 'bti800' to 'bti'.
* Rename mibs/bti800/BTI8xx-MIB to mibs/bti/BTI8xx-MIB
Change directory named 'bti800' to 'bti'.
* Rename mibs/bti800/BTI8xx-INTERFACE-MIB to mibs/bti/BTI8xx-INTERFACE-MIB
Change directory named from 'bti800' to 'bti'
* Rename mibs/bti800/BTI8xx-SFP-MIB to mibs/bti/BTI8xx-SFP-MIB
Change directory named 'bti800' to 'bti'.
* Rename mibs/bti800/BTI8xx-SYSTEM-MIB to mibs/bti/BTI8xx-SYSTEM-MIB
Change directory named 'bti800' to 'bti'.
* Rename mibs/bti800/BTI8xx-TC-MIB to mibs/bti/BTI8xx-TC-MIB
Change directory named 'bti800' to 'bti'.
* Create bti800.yaml
Added system temperature and transceiver temperature for BTI800.
* Delete bti800.inc.php
System temperature and transceiver temperature code convert to yaml file locate at /includes/definitions/discovery/bti800.yaml
* Update bti800.inc.php
Add missing code at line 20.
* Update bti800.inc.php
* Update bti800.yaml
* Delete bti.svg
* Replace bti.svg to bti.png
* Update bti800.snmprec
* Update bti800.json
* Update bti800.json
* Update bti800.json
* Update bti800.yaml
* Update bti800.inc.php
Change call for each current Tx and Rx value by using pre_cache() function instead using snmp_get() function for each value to return.
* 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>
* Shift HTTP kernel and middleware
* Shift service providers
* Shift console routes
* Shift to class based factories
* Namespace seeders
* Shift PSR-4 autoloading
* Default config files
In an effort to make upgrading the constantly changing config files
easier, Shift defaulted them. This allows you to review the commit
diff for once for customizations when you are done Shifting.
Moving forward, consider using ENV variables or create a separate
config file to allow the core config files to remain as default
as possible.
* Shift Laravel dependencies
* Shift return type of base TestCase methods
From the [PHPUnit 8 release notes][1], the `TestCase` methods below now declare a `void` return type:
- `setUpBeforeClass()`
- `setUp()`
- `assertPreConditions()`
- `assertPostConditions()`
- `tearDown()`
- `tearDownAfterClass()`
- `onNotSuccessfulTest()`
[1]: https://phpunit.de/announcements/phpunit-8.html
* Shift cleanup
* console routes
* composer update
* factories
* phpunit
* bootstrap pagination
* model factory
* wip
* Apply fixes from StyleCI (#12236)
* wip
* Apply fixes from StyleCI (#12238)
* wip
* wip
* wip
* wip
* Apply fixes from StyleCI (#12240)
* wip
* Apply fixes from StyleCI (#12242)
* composer update
* Bump to PHP 7.3 minimum
Co-authored-by: Laravel Shift <shift@laravelshift.com>
* Changed default font in .pdf creation for wider charset support
Change of TCPDF font from helvetica to freeserif to support wider variety of languages by default (including cyrillic). Causes "??????" to render correctly.
* Update pdf.php
* initial support for DC-UPS-48 from algom
* add snmprec files for algcom-dc-ups
* rename MIB and create json test unit
* new MIB name, recapture test snmprec and json
* remove unnecessary OS matching
* 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