80 Commits
Author SHA1 Message Date
ottoreiandGitHub 599c423532 Optional availability calculation mode to allow planned maintenance (#12218)
* Add an optional availability calculation mode

* Style fixes

* Review fixes

* Variable fix

* Style fixes

* Style fixes

* Style fixes

* Add additional status check, remove uptime

* Style fix

* Style fix

* Fix extra database update

* Style fix

* Style fix
2020-10-28 02:05:19 +01:00
HaydenandGitHub 397a10e73f new sensors for siteboss OS + new sensor type: percentage (%) (#11958)
* split siteboss 530 and 550 into multiple OS

* add more sensors to siteboss550 and new Percent sensor

* fix contact closure event state values

* split os polling for siteboss to siteboss530 and siteboss550

* add test unit for siteboss550, rename test unit for siteboss to siteboss530

* refactor siteboss os polling to \Librenms\OS

* implement OSPolling to Sitebos550

* force save in pollOS() to keep custom sysName during polling

* updated unit test

* update device graphs

* remove pollOS and extra save()

* siteboss550 no longer extends OSPolling

* update siteboss550 test data

* update discoverOS() to match recent os discovery changes

* styleCI changes

* fix siteboss hardware discovery; add check to OS polling if os_group .inc file exists

* collapse siteboss to single OS, implement siteboss sensors in advanced discovery

* add siteboss unit tests

* removed unneeded OS disco defs

* styleCI changes

* more styleCI changes

* split siteboss os to siteboss530 and siteboss550

* split siteboss os to siteboss530 and siteboss550

* move php polling back into yaml

* keep original siteboss OS name

* resave snmp data for siteboss OS

* resave snmp data for siteboss550 OS
2020-10-20 19:11:12 -05:00
PipoCanajaandGitHub 0e0e80c827 More eventlogs for snmptraps (#12112)
* Allow detailed trap display and inform user about snmptrapd misconfiguration

* Documentation update

* Documentation update

* Documentation update

* CodeClimate

* CodeClimate

* ChangeRequest PR

* Fix tests

* config_definitions

translation

doc

* styleci

* lnms translation generate after npm-install
2020-09-23 17:00:02 +02:00
JellyfrogandGitHub 29f45ca352 Apply fixes from StyleCI (#12124) 2020-09-21 15:59:34 +02:00
JellyfrogandGitHub 77c531527c Apply fixes from StyleCI (#12117)
* Apply fixes from StyleCI

* Disable style check
2020-09-21 14:54:51 +02:00
bbdb1a2a5d Rewrite smokeping script to be an lnms command (#11585)
* 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 <[email protected]>
2020-09-18 00:04:54 -05:00
661a518dea Add attach sysName to Prometheus. (#12061)
* Add attach sysName to Prometheus option.

The value of put to prometheus can be added to sysName by setting the relevant parameter.

* Add attach sysName to Prometheus.

* Add attach sysName to Prometheus.

* Update resources/lang/en/settings.php

Co-authored-by: Jellyfrog <[email protected]>

* Update settings.php

* Update settings.php

* Update settings.php

* Update settings.php

* Update settings.php

* Update zh-TW.json

Co-authored-by: Jellyfrog <[email protected]>
2020-09-07 21:38:13 +02:00
SourceDoctorandGitHub 663ca6e9d1 Move Availability Setting to Poller (#12021) 2020-08-19 22:03:37 +02:00
Hans ErasmusandGitHub 29dae9cbbe Small update to installation steps (#12016) 2020-08-18 12:40:57 +02:00
JellyfrogandGitHub 86220eed9e Add more types to settings page (#11918)
* 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
2020-07-21 20:51:23 -05:00
Tony MurrayandGitHub 560fd71ef6 CORS settings in webui (#11912)
* 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
2020-07-08 07:36:51 -05:00
MunzyandGitHub 8a851eda9f Auth AD URL (#11884)
* Missing auth_ad_url

WIP

* add auth_ad_filter

* Pluralize

* Remove Translation, and add translations generation.
2020-07-01 13:23:35 -05:00
Tony MurrayandGitHub d75cc5235d Settings geocode lookup (#11875)
* Add setting to enable geocoding to ui

* rename settings

* rename settings

* capitalization

* Open streetmaps does not support geocoding
2020-06-29 21:03:03 +02:00
Tony Murray 5adea74c2c sort language file 2020-06-27 07:47:08 -05:00
Tony Murray e3d75a8a09 Copy button, consistency 2020-06-27 07:47:08 -05:00
Tony Murray 2c82e919f6 refined finish 2020-06-27 07:47:08 -05:00
Tony Murray d1ceb14b9a create .env if non-existing 2020-06-27 07:47:08 -05:00
Tony Murray 057f4c49fc db in one refactor WIP3 2020-06-27 07:47:08 -05:00
Tony Murray ed3e818413 db in one refactor 2020-06-27 07:47:08 -05:00
Tony Murray c750107906 Refactor to a simpler style 2020-06-27 07:47:08 -05:00
Tony Murray 27027428fa config file writing 2020-06-27 07:47:08 -05:00
Tony Murray adf3afdaca run through and refinement 2020-06-27 07:47:08 -05:00
Tony Murray a3a8a6ae67 port to Bootstrap4 for flexbox 2020-06-27 07:47:08 -05:00
Tony Murray f86f4ba307 style reorgs 2020-06-27 07:47:07 -05:00
Tony Murray d943df40db user create + db migrate 2020-06-27 07:47:07 -05:00
Tony Murray cc7902c084 WIP 2020-06-27 07:47:07 -05:00
Tony Murray dbbd0e9867 db wip 2020-06-27 07:47:07 -05:00
Tony Murray 21aadc1a48 more style tweaks, will probably dump the table 2020-06-27 07:47:07 -05:00
Tony Murray 2221c0cfc2 slight style improvements
checks partial
2020-06-27 07:47:07 -05:00
Tony Murray 72efd7bbd9 structure and better middleware 2020-06-27 07:47:07 -05:00
SourceDoctorandGitHub 4e6a7291a2 Device Availability Calculation (#11784)
* Device Availability Calculation

* Travis fix

* .

* schema corrections

* flexible duration

* travis

* .

* .

* .

* .

* remove not needed code

* line Text to RRD

* update humantime

* .

* only set up again if device was marked as down

* set RRD area transparency

* save uptime also, to keep last availability as good as possible

* file description correction

* look for outages even if uptime > duration
2020-06-22 22:57:30 +02:00
arrmoandGitHub ba1302805f Change Units on Noise Floor (#11790)
* Change Units on Noise Floor

I may be wrong, but I think this should just be dBm (i.e. integrated over the carrier bandwidth). The numbers look much too high to me to be on a per Hz basis.

If I am correct here, this should also be updated in the web interface.

Thanks!

* Update php, correct units for Wireless noise-floor

* Wireless Frequency, don't format_si, to avoid kMHz units

* Update Wireless noise-floor units, in RRD plots
2020-06-10 10:41:36 +02:00
Tony MurrayandGitHub 300645388f Dispatcher Service settings (#11760)
* 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
2020-06-08 08:27:03 -05:00
5f3b82de6f Added discovery and graphing for JunOS (SRX) RPM probes (#11187)
* Added discovery and graphing for JunOS (SRX) RPM probes

* Proposed changes for a percent based sensor type

* Fixed missing MIB declaration in JunOS YAML discovery file

* Updated Health-information.md to reflect the new percentage value type

* Added separate test data for junos_rpm type

* Update sensors.php

* Update sensors.php

* Update functions.inc.php

* test re-run

* Update junos_rpm.json

* percentage -> loss

* add ifSpeed prev test data

* mis-merge

* update sensors

* and bgp...

Co-authored-by: PipoCanaja <[email protected]>
Co-authored-by: Tony Murray <[email protected]>
2020-05-30 18:24:43 -05:00
Tony MurrayandGitHub 8b37eaf752 Maximum Execution Time Exceeded show error (#11720)
* Maximum Execution Time Exceeded show error
Migrate translations to php translation files.
Fix invalid view class in Handler

* Update MaximumExecutionTimeExceeded.php

* Update MaximumExecutionTimeExceeded.php
2020-05-28 14:39:19 -05:00
SourceDoctorandGitHub f92caf8cf7 Fix - Seperate default poller id and distributed poller groups (#11584)
* Seperate Setting for default poller id

* revert change

* Travis restart

* fixes
2020-05-24 17:55:11 -05:00
b09bc07f8f Laravel 6.x (#11397)
* Update Laravel core files

Fix app/Http/Kernel.php

* Use RouteServiceProvider::HOME

* Sync Laravel default config files

* Update composer dependencies to Laravel 6

* fix resources/lang/en/validation.php

* Manually fixing tests

required by travis, fails locally???

* Update wpb/string-blade-compiler

* Add new viewany() authorization policies

* Update minimum PHP version to 7.2

* Re-generate our json test-dumps

Due to:
https://github.com/laravel/framework/pull/16069
https://github.com/laravel/framework/pull/31100

* update truenas data

* fix truenas

Co-authored-by: Laravel Shift <[email protected]>
Co-authored-by: Tony Murray <[email protected]>
2020-05-23 12:05:18 -05:00
Tony MurrayandGitHub ce21011aff Rewrite development helper to lnms dev:check (#11650)
* Refactor pre-commit to class

* docs build

* dusk check

* ci mode for checks

* full checks

* other mysql

* make other lint checks actually work
fix pylint finding

* ci is a long opt

* fix undefined index

* dusk fully working

* ask for forgiveness, not permission

* fix whitespace

* skip dusk sometimes

* Handle 3com and other os with digits

* flags instead of if else spaghetti

* convert to command

* cleanup

* missed check

* fixes

* case

* self-check :D

* argument now

* fix bugs from refactors

* another fix

* adjust file change parsing

* refactor execut a bit

* fallback to global quiet when unknown type.

* allow quiet override for specific commands

* output cleanup

* check flow

* start of tests

* file categorizer tests and fixes

* fixes and cleanup

* skipable not implemented...

* more tests, fix bugs

* more tests and cleanup

* wrong command

* fix canCheck and set env properly

* full env fix

* don't allow dusk on user's run as it will erase their db.

* fix os option

* fix whitespace

* don't need to start server

* ci doesn't like that
2020-05-22 20:27:48 -05:00
TheGreatDocandGitHub fd89854012 Fix smokeping config definition (#11651)
* Fix config definition for smokeping

* Fix config definition for smokeping

* Updated mix-manifest
2020-05-21 10:16:24 -05:00
370c7f5662 Added link to smokeping interface + smokeping options to global settings (#11610)
Co-authored-by: Daniel Baeza <[email protected]>
2020-05-20 08:25:27 -05:00
Tony MurrayandGitHub b573c9ef73 Implement OS specific information discovery (#11446)
* Implement OS specific information discovery
That way it doesn't have to be fetched during polling
Also improve discovery process, os is only detected once, in the core module.
EXA is the test os, a couple improvements there.

* Use local variable, then unset it so we don't pollute.

* fix style issues

* test and other fixes

* attribute update fixes

* Update exa data, need new source data

* null missing "os" values

* fix ftos odd character

* fix ftos odd character

* only null for new style or we will reset to null every discovery

* Move device observer to own class

* Handle location, relocate event logging

* update exa e7-2 data

* update ird test data, apparently unicode is now working.

* update Linux ntc, now uses correct icon

* Only load all os on the web, also, we can't load existing the the database isn't connected.

* only for devices that have a location

* revert ftos test data apparently

* revert ird
2020-05-14 11:27:59 -05:00
055abcf443 Device page dropdown hero button, Performance -> Latency (#11328)
* 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 <[email protected]>

* 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 <[email protected]>
2020-04-29 07:25:13 -05:00
Mathieu PoussinandGitHub fc391090e1 BGP Polling: Add error code management (#11424)
* BGP Polling: Add error code polling

* Rework describe_bgp_error_code and fix bgp error fields migration

* Add real test data for IOS-XR and Arista EOS
2020-04-24 22:47:20 -05:00
JellyfrogandGitHub d2a9ffdb83 Fix case sensitiv translations (#11463)
On case insensitive systems, @lang('Auth') would match the auth.php file
and return an array instead of the string "Auth", causing a "Array to string conversion error"
2020-04-22 23:57:30 +02:00
Tony MurrayandGitHub ad7b692654 Config CLI improvements (#11430)
* lnms config:set improvements
--ignore-checks option

* Config option completion
Could use some more refinement, but needs device commands converted to Laravel

* fix whitespace
2020-04-19 21:44:26 -05:00
SourceDoctorandGitHub 67c0f3abea Global setting better naming (#11412)
* Global Settings - Alert Default Settings

* Revert "Global Settings - Alert Default Settings"

This reverts commit a1af62b146.

* Better setting description
2020-04-12 23:54:27 -05:00
d3bc503cf6 Global Settings - force_ip_to_sysname, force_hostname_to_sysname (#11335)
* Global Settings - force_ip_to_sysname, force_hostname_to_sysname

* add manifest.json

* Update mix-manifest.json

Co-authored-by: Tony Murray <[email protected]>
2020-03-24 16:02:48 +01:00
46282bcefe French translation update (#11293)
* FR Translation

* FR Translation

* FR Translation

* FR Translation

* FR Translation

* FR Translation

* revert manifest

* update mix-manifest.json

Co-authored-by: Tony Murray <[email protected]>
2020-03-19 20:27:18 -05:00
Mathieu PoussinandGitHub 1cf7e206e5 Geographical map: Show network links between locations (#11269)
* Geographical map: Show links between locations

* Fix manifest after merge conflict
2020-03-13 11:22:32 +01:00
Tony MurrayandGitHub 121fbe7edd Add datastore settings to the Web UI (#11266) 2020-03-12 11:46:41 -05:00