Commit Graph

5155 Commits

Author SHA1 Message Date
vivia11
5fd81db819 device: Added Open Access Netspire OS support (#8674)
* Add netspire os support

* Update netspire.yaml

* Change from numerical oid to regular oid and readd poller/discovery modules

* Remove mib_dir and change os polling
2018-05-10 20:17:42 +01:00
Tony Murray
5236a24dd5 Fix missing vlan name on port vlan page (#8684) 2018-05-10 19:56:53 +01:00
Tony Murray
0020479fc8 Test plugin menu method should be static. (#8681) 2018-05-09 08:39:21 -05:00
Tony Murray
1ad7f3138b Add Laravel to LibreNMS (#8318)
* Add Laravel to LibreNMS.

* Try to set permissions during initial install and first composer update to Laravel.

* Fix composer.lock
Fix missing db config keys

* Start building v1 layout
Port ajax_setresolution, inject csrf into jquery ajax calls
Layout works, building menu
Partially done.

* Fix device group list
remove stupid count relationships

* Print messages for common boot errors.
Don't log to laravel.log file.
Log to error_log until booted, then librenms.log

* Fix up some issues with Config loading
Start of custom directives

* Custom blade directives: config, notconfig, admin

* Preflight checks
Only load config files once.

* Update the composer.lock for php 5.6

* Menu through routing

* Start of alert menu

* Better alert scopes

* reduce cruft in models

* Alerting menu more or less working :D

* Fix style

* Improved preflight

* Fix chicken-eggs!

* Remove examples

* Better alert_rule status queries
Debugbar

* fix app.env check

* User Menu

* Settings bar (dropped refresh)
Search JS

* Toastr messages

* Rename preflight

* Use hasAccess(User) on most models.
Add port counts

* Missed a Preflight -> Checks rename

* Fix some formatting

* Boot Eloquent outside of Laravel
Use Eloquent for Config and Plugins so we don't have to connect with dbFacile inside Laravel.
Move locate_binary() into Config class

* Config WIP

* Try to fix a lot of config loading issues.

* Improve menu for non-admins removing unneeded menus
url() for all in menu

* Only use eloquent if it exists

* Include APP_URL in initial .env settings

* Implement Legacy User Provider

* Helper class for using Eloquent outside of Laravel.
Allows access to DB style queries too and checking the connection status.

* Fix up tests

* Fix device groups query

* Checking Travis

* copy config.test.php earlier

* dbFacile check config before connecting
Don't use exception to check if eloquent is connected, it gets grabbed by the exception handler.
Ignore missing config.php error.

* Fix config load with database is not migrated yet.

* Remove Config::load() from early boot.

* Use laravel config settings to init db (this prefers .env settings)
Fix bgp vars not set in menu
add _ide_helper.php to .gitignore

* Restrict dependencies to versions that support php 5.6

* Update ConfigTest

* Fix a couple of installation issues

* Add unique NODE_ID to .env

* Correct handling of title image

* Fix database config not loading. Thanks @laf

* Don't prepend /

* add class_exists checks for development service providers

* Fix config value casting

* Don't use functions that may not exist

* Update dbFacile.php

* d_echo may not be defined when Config used called.

* Add SELinux configuration steps
More detailed permissions check.
Check all and give complete corrective commands in one step.

* Ignore node_modules directory

* Re-add accidetal removal
2018-05-09 08:05:17 -05:00
mattie47
e898075c36 device: Add NTP support for Allied Telesis AWPlus products (#8580)
* Add support for Allied Telesis AlliedWare Plus products

- Uses mibs from 5.4.7-2.1 for AlliedWare Plus products
- Updates Legacy AlliedWare mibs
- Added Allied Telesis svg

* Remove unnecessary "trim" from snmpget

* Add new line to end of file

* Minor fixes for commit

* awplus: initial ntp commit

This isn't completely working, however initial patch of it partially working

* awplus: Add NTP support

- Fixed polling issues for awplus. Now offset and delay graphs work.

- html/includes/graphs/device/ntp_*.inc.php
--  Removed extra "\" from MAX count which showed up in Graph legend

- html/includes/graphs/device/ntp_delay.inc.php
-- Present legend in either seconds, or milliseconds (depending on vendor)

- html/includes/graphs/device/ntp_dispersion.inc.php
-- Present legend in either seconds, or milliseconds (depending on vendor)

- html/includes/graphs/device/ntp_offset.inc.php
-- Removed rrd minimum (-l 0). This is because offset can be below 0.
--- It's better for the graph to auto scale than set a fixed minimum to display here.

- html/includes/graphs/device/ntp_stratum.inc.php
-- Changed graph to go from 0 to max of 16. NTP Stratum can only be 0 to 16.

* awplus: Add NTP test data

* updated awplus ntp poller

* device: awplus convert NTP poller into seconds

* device: fix NTP graph formatting

* device: Improve NTP formatting

* device: unset awplus NTP variable

* fix formatting

* device: awplus change NTP from numerical OIDs to named

* device: update awplus ntp json tests

* device: fix cisco and awplus ntp database creation

* device: update awplus json
2018-05-08 20:37:06 -05:00
Tony Murray
9279c845f6 feature: Added wireless sensors to about and stats.librenms.org (#8676) 2018-05-08 21:42:52 +01:00
angryp
2d237710e2 Fix for recurring date placeholders in maintenance scheduling form. Only actual for MySQL-community, tested on 5.7.20 and 5.7.22. (#8659) 2018-05-07 23:32:40 -05:00
angryp
82072b3694 Fix for get_alert API method. Tested on MySQL-community 5.7.22 and MariaDB 10.2.14. (#8658) 2018-05-04 23:51:04 -05:00
Aldemir Akpinar
d214f9d5b7 Added new raritan logo (#8581)
* Added new raritan logo

* Cropped logo for the device list, also minified svg a bit more

* updated logo

* Create raritan.svg
2018-04-30 09:58:17 -05:00
Neil Lathwood
80ef4d4324 Fixed clicking notes on device alerts page (#8629) 2018-04-27 11:58:07 -05:00
Tony Murray
c88d28c10a Always update the alert note when acknowledging (#8620)
and unacknowledging
2018-04-27 14:28:08 +01:00
Neil Lathwood
efe8b8858b device: Added detection for Red Lion Sixnet devices (#8576)
* device: Added detection for Red Lion Sixnet devices

* Added state sensors
2018-04-26 08:47:15 -05:00
Neil Lathwood
3d65deaf91 device: Added detection for Corero CMS devices (#8574)
* device: Added detection for Corero CMS devices

* remove files added by accident
2018-04-26 08:46:10 -05:00
Neil Lathwood
1eee6e8195 alert: Added ability to make notes for acking alerts + record who did so (#8433)
* alert: Added ability to make notes for acking alerts + record who did so

* Updated schema

* moved sql file

* Updated from comments in PR

* warning changed to blue

* reset notes + keep notes on ack
2018-04-26 00:00:56 -05:00
Hans Erasmus
163c595494 feature: Added a third graph to unbound with more metrics (#8616)
* Added a third graph to unbound with more metrics

* Update unbound.inc.php

* Reset composer.lock

* Update unbound.inc.php

* Update unbound.inc.php
2018-04-25 20:52:12 +01:00
CZ
492a973e2d webui: Added new TPLINK logo with brand name (#8613)
* added new TPLINK logo with brand name

* Create tplink.svg logo

* Update tplink.svg

* Update tplink.svg
2018-04-25 09:27:37 +01:00
Tony Murray
b41e32c7aa Fix missing use statements (#8614) 2018-04-24 21:20:21 -05:00
CZ
fa035be4c9 New FiberHome SVG Logo (#8601)
- replace PNG with SVG
- adjust testing json data to *.svg
  (fiberhome_switch and fiberhome)
2018-04-23 21:17:51 +01:00
Neil Lathwood
21e26a437e doc: Updated github issues links to community site (#8598) 2018-04-22 23:00:46 +01:00
ospfbgp
9a420a6910 device: Rebranding of Avaya BOSS and VOSS OS' (#8469)
* Update avaya-ers.yaml

Extreme bought avaya network assests so rebranding and moving some files.

* Add files via upload

Extreme bought avaya networking assets and so rebranding to Extreme and adding logos with OS for easier reading when on devices pages

* Update avaya-vsp.yaml

removing .1.3.6.1.4.1.45.3.79.1  This is a VSP 7024xl from avaya.  This is techincally not VOSS but BOSS operating system.  It should be in BOSS and avaya-ers.yaml

* Add files via upload

* Update and rename avaya-vsp.inc.php to extreme-voss.inc.php

* Update and rename avaya-vsp.inc.php to extreme-voss.inc.php

* Update and rename avaya-vsp.inc.php to extreme-voss.inc.php

* Update extreme-voss.inc.php

* Rename avaya-vsp.inc.php to extreme-voss.inc.php

* Rename avaya-vsp.inc.php to extreme-voss.inc.php

* Rename avaya-vsp.yaml to extreme-voss.yaml

* Update and rename avaya-vsp.yaml to extreme-voss.yaml

* Update avaya-ers.yaml

* Rename avaya-ers.yaml to extreme-boss.yaml

* Rename avaya-ers.inc.php to extreme-boss.inc.php

* Update and rename avaya-ers.inc.php to extreme-boss.inc.php

* Update and rename avaya-ers.inc.php to extreme-boss.inc.php

* Update and rename avaya-ers.inc.php to extreme-boss.inc.php

* Update and rename avaya-ers.inc.php to extreme-boss.inc.php

* Update and rename avaya-ers.inc.php to extreme-boss.inc.php

* Update extreme-boss.yaml

* Update extreme-voss.yaml

* Update and rename extreme-boss.yaml to boss.yaml

* Update extreme-voss.yaml

* Rename extreme-voss.yaml to voss.yaml

* Rename extreme-boss.inc.php to boss.inc.php

* Rename extreme-voss.inc.php to voss.inc.php

* Rename extreme-boss.inc.php to boss.inc.php

* Rename extreme-voss.inc.php to voss.inc.php

* Update and rename extreme-voss.inc.php to voss.inc.php

* Rename extreme-voss.yaml to voss.yaml

* Rename extreme-voss.inc.php to voss.inc.php

* Update and rename extreme-voss.inc.php to voss.inc.php

* Update and rename extreme-boss.inc.php to boss.inc.php

* Update and rename extreme-boss.inc.php to boss.inc.php

* Update and rename extreme-boss.inc.php to boss.inc.php

* Rename extreme-boss.inc.php to boss.inc.php

* Update voss.inc.php

* Update boss.inc.php

* Update boss.inc.php

* Update voss.inc.php

* Update voss.inc.php

* Update voss.inc.php

* Update voss.inc.php

* Update voss.inc.php

* Update voss.inc.php

* Update boss.inc.php

* Update boss.inc.php

* Update voss.inc.php

* Update boss.inc.php

* Update voss.inc.php

* Update voss.inc.php

* Rename avaya-vsp_8404c.snmprec to voss_8404c.snmprec

* Rename avaya-vsp_8404.snmprec to voss_8404.snmprec

* Rename avaya-vsp_8284xsq.snmprec to voss_8284xsq.snmprec

* Rename avaya-vsp_7254xtq.snmprec to voss_7254xtq.snmprec

* Rename avaya-vsp_7254xsq.snmprec to voss_7254xsq.snmprec

* Rename avaya-vsp_7024xls.snmprec to boss_7024xls.snmprec

* Rename avaya-vsp_4850gts.snmprec to voss_4850gts.snmprec

* Rename avaya-vsp_4850gts-pwr.snmprec to voss_4850gts-pwr.snmprec

* Rename avaya-vsp_4450gsx-pwr.snmprec to voss_4450gsx-pwr.snmprec

* Rename avaya-ers.snmprec to boss.snmprec

* Rename avaya-ers_1.snmprec to boss_1.snmprec

* Update and rename avaya-ers.json to boss.json

* Update and rename avaya-vsp_8404.json to voss_8404.json

* Update and rename avaya-vsp_8404c.json to voss_8404c.json

* Update and rename AvayaErs.php to Boss.php

* Update Boss.php

* Restore processor_type to avaya-ers in test data

* Update voss_8404c.json

* Update extremeboss.svg

* Update extremevoss.svg
2018-04-21 11:21:14 +01:00
Richard Mayhew
350045995c webui: Replaced old Mikrotik SWOS vendor logo with the correct Mikrotik Logo (#8584)
* Replaced old Mikrotik SWOS vendor logo with the correct Mikrotik Logo

* Uptated RouterOS and SWOS to use a common Mikrotik logo

* Removed unused routeros.svg image file

* Updated test to use new defined icon
2018-04-21 09:56:54 +01:00
Sander Steffann
65b8270936 feature: Added random entropy support for applications (#8555) 2018-04-13 17:42:14 +01:00
Tony Murray
d841625f12 refactor: Refactor database and config init (#8527)
* Refactor database and config init
Connect to the database without loading full config
Load config completely so post-processing is always done consistently.
Erase existing $config when loading, fixes issues in case we load the config twice.
If the database is not connected, don't try to load database settings. (Fixes some db errors on install)
Attempt to remove $config access/modification before init.php
Remove usage of db_name, that might not match the connected database.
Centralize db config loading, so we consistently apply db_test database settings.
Many of these changes are influenced by Laravel port.

* Some safety so we don't assign strings to numeric port field
Smooth out phpunit bootstrap

* Fix a couple of scrutinizer warnings.
2018-04-11 16:15:13 +01:00
Neil Lathwood
c09e44aa94 device: Added support for Dahua NVR (#8542)
* device: Added support for Dahua NVR

* Update dahua-nvr.yaml
2018-04-11 15:34:21 +01:00
Paul Heinrichs
ff0063b515 api: Add option to output graphs as base64 (#8535)
* Allow 'option' param in graph endpoint

* Update lint and update docs

* Uncomment api response

* Add imagedestroy on 'tobias_trim' section

* Add base64 to port endpoints also
2018-04-11 08:02:04 -05:00
Brock Alberry
5d64c5da6d webui: Update Buffalo logo to new style and svg (#8539)
* Delete buffalo.png

* Add files via upload

* remove height/width and compressed
2018-04-10 21:13:53 +01:00
Tony Murray
a21c0bccc4 fix: Fixed device group rule suggest, Auth before init (#8538)
* Fix Auth before init

* Fix Auth before init
2018-04-10 16:56:22 +01:00
theherodied
313b46236e Added Tegile Storage OS detection, storage pool, and project storage. (#8464)
* added Tegile Storage 001

* Tegile fixed whitespace 002

* Added tegile.snmprec 003

* Added TEGILE-MIB

* Tried to fix svg size issue

* Tried to fix svg size issue 005

* Tried to fix svg size issue 006

* Trying dedup 007

* Revert "Trying dedup 007"

This reverts commit b30a3edb49.

* Tried to fix svg size issue 009

* Tried to fix svg size issue 010

* Reverted changes and created new branch

* changed tegile to intelliflash

* changed tegile to intelliflash

* changed tegile to intelliflash 002

* added intelliflash snmprec

* added Json test data

* Update intelliflash.json

* Redid logo

* Update tegile.svg

* changed to intelliflash1. intelliflash2 will come later.

* removed previous commit I made

* Adding project usage

* simplified project calculations

* simplified project calculations

* simplified project calculations

* simplified project calculations

* Cleaned up comments

* Added disco OS if check and removed network over graph

* chenged os detection to sysObjectID. Fixed disco if check.

* Updated json test file

* Fixed intelliflash-pr storage units.

* Updated test data

* Updated test data to remove bgp module
2018-04-09 00:57:22 -05:00
Paul Heinrichs
098c948a04 device: Added Last Mile CTM support (#8478)
* Add Listmile mibs

Created custom lastmile mib

* Add Lastmile CTM support

* Update test description and remove wireless sensor

* Requested changes

Renamed OS

* json test data

* Updated test data
2018-04-08 09:32:41 +01:00
Tony Murray
7250376104 refactor: Don't access $_SESSION directly for Auth (#8513)
* Don't access $_SESSION directly for Auth

* fix style

* add property annotations
2018-04-07 21:55:28 +01:00
Adam Winberg
2ece84495d webui: Improved fdb search (#8251)
* sort fdb search by number of mac addresses/port to show most likely endpoint switchport first in list. Also add IP search to fdb search

* fix style check error
2018-04-07 20:14:28 +01:00
theherodied
a81e2d25cd Added 2n device detection. (#8490)
* Added 2n Intercom mib

* Added 2n png logo

* Added 2n definitions yaml

* changed 2n logo. still needs to be changed later.

* changed 2n logo. still needs to be changed later 2.

* changed os name

* png not working

* trying svg. need to fix still.

* changed to object id detection

* added includes/polling/os/2nipforce.php

* named file correctly 2nipforce.inc.php

* added 2nipforce.snmprec

* added uptime to over graphs

* Changed to HeliosIP OS

* Changed to HeliosIP OS

* Removed Device Traffic from over graphs

* working on review requests 001

* Like so

* Create heliosip.json

* Update heliosip.json

Forgot to clear os cache

* Removed svg dimensions.

* Made 2n logo again.
2018-04-07 10:53:17 -05:00
sorribes22
c22b31506e api: Added lattitude and longitude on devices/device fetch (#8515)
* 'lat' and 'lng' columns added on list_devices()

* 'lat' and 'lng' columns added on device fetch

Helped by https://github.com/laf

* Commit user.name changed
2018-04-07 13:29:46 +01:00
Aldemir Akpinar
18101a93d5 webui: Use toastr for operational messages on alert templates page (#8499)
* webui: Use toastr for operational messages

* Reload template table after insert/update

* Trying to fix travis ci error

* Change error checking to librenms standard
2018-04-07 13:22:08 +01:00
Maurice den Braber
3198826769 Update devices.inc.php to use searchquery (#8509)
Updated devices.inc.php to use new searchquery parameter in stead of hostname.
2018-04-05 22:41:56 +01:00
Tony Murray
85d0e3b98e refactor: Move nested defaults to Config::processConfig() (#8429)
* Move nested defaults to Config::processConfig()

Fixes log_file when users set log_dir for example.

Removed stuff:
mibdir
dp_autocreate
base_url: setting http/https before config.php is loaded...
moved collectd setting to it's own config file

* add base_url mod back.
I thought that since definitions is called before config.php it was useless, but it changes the built in definition between http and https.
2018-04-03 15:53:25 +01:00
vivia11
b71febf372 device: Added WTI-MPC OS and mib (#8492)
* Add icon and initial discovery

* Added more discovery for wti-mpc. Add mib.

* Add snmp data and edit discovery

* Remove discovery due to weird mib[C

* Update wti-mpc.yaml
2018-04-01 21:38:47 +01:00
Tony Murray
214472ba89 refactor: rename array_sort() to avoid function collision (#8494) 2018-04-01 21:27:41 +01:00
Tony Murray
04e24d4671 webui: Alert builder layout optimsation (#8489)
* Alert builder: don't waste space
More space for the ui elements when the dialog is large.
Stop the import button from overlapping things when the dialog is extra small.

* Add divider to alert menubar
2018-03-29 20:57:41 +01:00
Wheel
b1ec1d14f0 webui: Added override default device grouping radius (#8485)
* Override default device grouping radius

Added an option to override the default group_radius 80. Usefull in fullscreenmap

* Update worldmap.inc.php

* Update worldmap.inc.php
2018-03-29 12:05:38 +01:00
vivia11
314a552437 devices: Add Phybridge OS support (#8456)
* OS yaml definition for Phybridge

* Add images and snmp data

* Removed width/height from svg and added more specific discovery for phybridge

* Minimized svg and inverted icon

* added json test file

* update to json file

* Changing os name: phybridge to phybridge-flex

* Update json file to phybridge-flex

* Remove unneeded test data
2018-03-28 23:54:02 -05:00
Tony Murray
fb701bc1b4 Defaults for alert collection rules (#8474)
Better error message if rule with same name exists.
2018-03-28 22:11:57 -05:00
Tony Murray
d91fe84fc3 Change the default alert delay to 1m (#8462)
Add regex type for numbers
Tooltips for all alert rule dialog items
2018-03-28 22:10:54 -05:00
Michael Corcoran
97d58cc121 fix:: Fixed display of WD drives for smart application (#8471)
WD drives have a dash in the serial number, e.g. WD-WCCXXXXXXXXX.
The librenms-agent script changed to using serial numbers in
librenms/librenms-agent@3a84624615
As we split the name by the same char, we discarded everything after WD,
which made all WD drives in the system appear as one, and broke the generated
links.
2018-03-26 14:36:38 +01:00
Maurice den Braber
9f5b42b028 webui: Allow full search on devices page (#8364)
* Update devices.inc.php

* Update devices.inc.php

* Replace $_POST with $vars

Better protection for SQL injection attempts; Need to verify other files for same issue.

* Fixed whitespace.

*sigh*

* More search options & sql injection fixes.

+Allow full search on devices page;
+Allow sysName search on alertlog page;
+Allow sysName search on alerts page;
+Allow sysName search on eventlog page;
+Allow sysName search on poll-log page;
+Allow sysName search on ports page;

*Replaced all occurrences of $_POST with $vars in librenms/html/includes/table. ($vars are sanity-checked).

* Whitespace fix

* Fixed $where & $param

* Add files via upload

* Whitespaces....

Sometimes you want'em, sometimes you hate'em.
2018-03-25 21:50:09 +01:00
Neil Lathwood
544b363951 alert: Added support for disabling recovery notifications (#8430)
* alert: Added support for disabling recovery notifications

* reversed use of recovery

* removed debug + small update
2018-03-22 12:38:16 -05:00
Mike Rostermund
e13920cdc8 Fix typo (#8444) 2018-03-21 15:10:20 -05:00
Tony Murray
8cc8eb8dd2 refactor: Use elseif instead of else if (#8417) 2018-03-19 21:40:17 +00:00
Dag Bakke
af39200c41 Borderless fullscreen geographical map, with just the nodes. (#8337)
* Added a variant of map.php which allows for a borderless fullscreen geographical map, with just the nodes.

* Signed my work.

* Removed a space.

* delete whitespace

* remove whitespace

* hack to fix some tiles not loading

found the fix here:
https://stackoverflow.com/questions/36246815/data-toggle-tab-does-not-download-leaflet-map/36257493#36257493
https://gis.stackexchange.com/questions/224932/problem-with-map-tiles-loading-with-leaflet-and-bootstrap

You might be able to do something more elegant.

* added menu entry

This removes the need for setting it as a front-page. Now it can be accessed from the menu and LibreNMS can be accessed by navigating back.

* Create fullscreenmap.inc.php

Notice the line:
$pagetitle[] = 'Fullscreen Map';

* REmoved the original fullscreenmap.php

* Revert "REmoved the original fullscreenmap.php"

This reverts commit 570953c5f5.

* addded the resize event to html/pages/fullscreenmap.inc.php for proper leaflet rendering

* Removed old file

* Adjusted CSS and javascript.

* Reverting to original javascript.

* change Leaflet container CSS to white background

* Made the Geographical Map not hide the menu when not in fullscreen mode.

* Cleaned up the CSS-file a bit.

* Added a variant of map.php which allows for a borderless fullscreen geographical map, with just the nodes.

* Signed my work.

* Removed a space.

* delete whitespace

* remove whitespace

* hack to fix some tiles not loading

found the fix here:
https://stackoverflow.com/questions/36246815/data-toggle-tab-does-not-download-leaflet-map/36257493#36257493
https://gis.stackexchange.com/questions/224932/problem-with-map-tiles-loading-with-leaflet-and-bootstrap

You might be able to do something more elegant.

* added menu entry

This removes the need for setting it as a front-page. Now it can be accessed from the menu and LibreNMS can be accessed by navigating back.

* Create fullscreenmap.inc.php

Notice the line:
$pagetitle[] = 'Fullscreen Map';

* REmoved the original fullscreenmap.php

* Revert "REmoved the original fullscreenmap.php"

This reverts commit 570953c5f5.

* addded the resize event to html/pages/fullscreenmap.inc.php for proper leaflet rendering

* Removed old file

* Adjusted CSS and javascript.

* Reverting to original javascript.

* change Leaflet container CSS to white background

* Made the Geographical Map not hide the menu when not in fullscreen mode.

* Cleaned up the CSS-file a bit.
2018-03-18 22:47:06 -05:00
Kevin Krumm
9001b19ab9 docs: Added docs link to about page (#8397) 2018-03-16 10:22:13 +00:00