Commit Graph

118 Commits

Author SHA1 Message Date
Jellyfrog
e5849ca055 Remove function report_this_text() (#10728) 2019-10-21 11:39:30 +00:00
pobradovic08
7f32af4f7b Add CISCO-IF-EXTENSION port stats for IOS/IOS-XE (#10644)
* Add CISCO-IF-EXTENSION polling and graph

* Added test data

* Code style

* Move CISCO-IF-EXTENSION-MIB to cisco mib dir

* Test data?

* Recollect test data again

* ios-xe variant 'ports' with ports test data

* Removed unnecessary test data
2019-10-21 00:39:14 +00:00
Tony Murray
1d7347dd62 Validate config schema, add types to all (#10723)
* Vaildate config_definitions.json schema

* finish adding types and other cleanups
2019-10-20 23:08:40 +00:00
Garel Leo
7bebd6ba4a api: add hostname search for list_devices function (#10652)
* api: add domain type for list_devices function

api: add domain type query for list_devices

undo librenms-docker specification.

* api: list_devices change domain query by hostname. fix to search pattern in hostname

* Update Devices.md
2019-10-20 15:18:10 +00:00
Tony Murray
8e1a27eae6 Fix service overview (#10709)
* Fix services device overview widget display

* Add order by
2019-10-19 05:25:30 +00:00
Tony Murray
bc6dda75b7 Fix oxidized (#10706) 2019-10-17 12:05:39 +00:00
theochita
25e8de30c1 Implement Oxidized "config search" as an API (#10648)
* Implement Oxidized config search as API

* Add Oxidized config search DOC.

* Update Devices.md

* change /configsearch/{searchstring} to /config/search/{searchstring}

* Update Devices.md
2019-10-17 02:46:44 +00:00
louis-oui
d3d34a7f4d https://github.com/librenms/librenms/issues/10686 (#10687) 2019-10-17 00:33:53 +00:00
Tony Murray
699aa8a042 Consolidate configuration settings and implement dynamic webui settings (#9809)
* 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
2019-10-16 21:22:05 +00:00
SourceDoctor
2fe392f330 alphabetic sorting of global settings view (#10678) 2019-10-14 02:22:16 +00:00
SourceDoctor
d779d970ed sort app overview RRDs by hostname (#10663) 2019-10-09 00:25:22 +00:00
Tony Murray
be04388137 Store config data serialized (#10651)
* Store config data serialized
This way we can store null, booleans, and more reliably.

* Use model to get the mutated output.

* fix whitespace and unused function

* use json_encode/decode and casts
migration to transfer

* json_encode JSON_UNESCAPED_SLASHES

* Use JSON_UNESCAPED_SLASHES.  That is only relevant if you are printing into an HTML page.

* pre-encode the seed...

* filter other fields besides config_value
2019-10-06 21:51:22 +00:00
pobradovic08
a2c69cd62f Added Cisco QFP module (#10637)
* QFP Discovery module
* QFP Polling module - Utilization
* Add Cisco QFP module in module list
* Web UI QFP discovery module
* Add average packet size graph
* Health overview QFP graph
* Polling and UI improvements, test data
* Reformatting and style checks
* Readd snmprec data
* Fix module performance stats collecting
2019-10-05 11:10:34 +02:00
pobradovic08
43729d7b6f Group total processor utilization per processor type (#10626) 2019-09-28 04:16:18 +00:00
dGs-
dada33ae5e replaced description by ifAlias to fix the sort on Description 2019-09-27 14:26:18 +02:00
SourceDoctor
ee2a847c0b Storage RRD - descriptionlength fix - percent column fix (#10607)
* Storage RRD - descriptionlength fix - percent column fix

* changed percentage column description

* increase also column length on furhter graphs

* fix column title length
2019-09-26 02:51:07 +00:00
brownowski
c4569a620b Allow OS to define config highlighting (pfSense) (#10392)
* Update showconfig.inc.php

Fix display for pfsense config files.

* Update showconfig.inc.php

Change from else if to elseif

* Update showconfig.inc.php

Decode special chars before syntax highlighting.

* Update pfsense.yaml

* Add config_highlighting device property

Add config_highlighting to device definition
Update showconfig.inc.php to use config_highlighting to set language.

* Update showconfig.inc.php

Fix incorrect code. Chose correct variable where config_highlighting is set.

* Update os_schema.json

Add property config_highlighting to schema
 - used for language highlighting when displaying the config file

* Update showconfig.inc.php
2019-09-25 06:42:45 +00:00
pobradovic08
5a8d3aee58 Fix port URLs on minimaps page (#10619) 2019-09-24 18:03:24 +02:00
Vitali Kari
ccfd32457a Fixed wrong formatting of runtime sensor value (#10606)
* fix wrong formatting of runtime sensor value
* avoid else statements
2019-09-16 20:43:24 +02:00
SniperVegeta
82ea950263 Extended 'port previous' graphs (#10556)
* Update ping_perf.inc.php
* Update poller_perf.inc.php
* Update generic_data.inc.php
* Update generic_multi_seperated.inc.php
* Update poller_modules_perf.inc.php
* Update poller_perf.inc.php
* Update ping_perf.inc.php
remove // comment (old code)
* Update poller_perf.inc.php
remove // comment (old code)
* Update generic_multi_seperated.inc.php
remove // comment (old code)
* Update poller_perf.inc.php
remove // comment (old code)
2019-09-14 23:45:38 +02:00
SourceDoctor
52f1bc9e8c geographical map sql query fix for normal user (#10590) 2019-09-09 12:26:44 +02:00
Dragan Savic
b0c20666dd Corrected div element IDs when listing alerts in tables (#10587)
Use $alert['id'] instead of $rulei as HTML div elements ids.
2019-09-06 19:43:13 +02:00
Jellyfrog
e4314922c1 Move Authlog to Laravel (#10559)
* Move Authlog to Laravel

* Update authlog.blade.php
2019-09-05 02:12:48 +00:00
Tony Murray
4fdf1618a1 Show a hint that trend line exists (#10573) 2019-09-02 15:12:27 +02:00
SourceDoctor
2e2c329e9c automatically cleanup plugin-table from removed plugins (#10533)
* automatically cleanup plugin-table from removed plugins

* Update functions.php

* mis-placed bracket
2019-08-27 12:47:04 -05:00
rsys-dev
3cb971e33f Added Graylog to device overview and log level filter mechanism (#10509)
* Added Recent Graylog Entries to Device Overview (WIP)

* Improved "Recent Graylog" entries on device overview (WIP)
Added $config['graylog']['device-page']['rowCount'] to set maximum rows shown in "Recent Graylog" on device overview (Default: 10)
Added $config['graylog']['device-page']['maxLevel'] to set the maximum message level shown in "Recent Graylog" on device overview (Default: 7, validates value to be >= 0 and <= 7)

* Fixed code styling issue

* Added Log Level filter to Graylog widget
Added Log Level filter to Graylog pages (device pages and graylog overview)

* Added documentation for new configuration options

* Removed unneccesary (and already commented) using
Renamed "maxLevel" to "loglevel" as suggested by a colleague

* Added doc for $config['graylog']['loglevel']

* Removed includes/html/print-graylog.inc.php and inlined it in includes/html/pages/device/overview/graylog.inc.php
Removed comma in json object in resources/views/widgets/graylog.blade.php
Replaced translation strings in resources/views/widgets/settings/graylog.blade.php with existing translation strings

* log level -> minimum log level

* Use Config::get() default functionality

* Oops
2019-08-27 12:44:27 -05:00
Jellyfrog
47e4641e04 Convert About page to Laravel (#10551)
* Convert About page to laravel

* clean up callback stuff

* More translatable strings
2019-08-24 16:52:10 -05:00
Tony Murray
f1a7379f4a Fixed some graphs having the wrong timeframe (#10554) 2019-08-22 22:23:24 +01:00
SourceDoctor
9e02040f05 Sort Devices and Groups in Alert Rules 'map to' droplist (#10530)
* alphabetic order of Devices and Groups in Alert Rules
2019-08-21 10:08:58 +02:00
Jason Cheng
49310dc693 Allow adding custom quick links to device navigation (#10403)
* Add Open-Audit link display device asset details

* Add an external link using the template method

* Add external system link setting.

* Update device.inc.php

* Update Customizing-the-Web-UI.md
2019-08-20 20:49:59 +01:00
PipoCanaja
d6862b0e34 Added Cisco-voice IP graphs (#10538)
* Cisco VoIP stats

* Cisco VoIP stats

* codeclimate

* codeclimate
2019-08-20 11:26:44 -05:00
Tom van Leeuwen
36c41bac2c Allowed device_ids as INT or as STRING (#10536) 2019-08-20 14:03:40 +02:00
Tony Murray
8d669a8a39 Simple linear port graph prediction (#10520)
* Simple linear port graph prediction
Simple linear prediction line for in and out if graph "to" value is in the future
Improve graph date handling

* thinner line

* Make test specify timezone
2019-08-19 22:53:48 -05:00
Tony Murray
d3243bd32e Fix public status location (#10526)
* Fix public status location
Implementing __toString() seemed to be the most elegant way to fix it.
Added pre-loading for locations too

* Take advantage of new __toString function
2019-08-19 22:52:21 -05:00
SniperVegeta
57ae718011 Fixed recovery in PDF alert reporting (#10524) 2019-08-15 18:55:22 +02:00
Tony Murray
f1c67ac5f4 Ports API: Workaround for ifNames with slashes (#10502)
* Workaround for ifNames with slashes

Basically,

/api/v0/devices/3/ports/0%2f4 -> /api/v0/devices/3/ports/ifName?ifName=0/4
/api/v0/devices/3/ports/0%2f4/port_bits -> /api/v0/devices/3/ports/ifName/port_bits?ifName=0/4

Or you can just use port_id.

* Fix API ports using ifName with slashes
hand parse the path for the ports graph endpoints
this way we can respect the original way of handling slashes (%2F)
2019-08-12 09:46:36 -05:00
SourceDoctor
a9cc36bc7f smart -power on hour - view fix (#10466)
* smart id9 view fix

* Update smart.inc.php

* Update smart_runtime.inc.php

* Update smart.inc.php
2019-08-07 07:32:25 -05:00
Zane C. Bowers-Hadley
0a6ded9ba3 nfdump support for with NFSen (#10376)
* rework the nfsen stuff

* add the new netflow stats page

* update the docs for nfsen

* add the functions back in

* readd the defaults

* rework lowest_five_minutes into lowest_time

* nfsen_channel_rrds removed and will rework it in later post rewriting

* rework something that accidentally got nuked in merging

* rework formatting a bit

* remove a accidentaly added chunk of text =^.^=

* rework some tag capitalization

* remove a accidentally added [

* '='=>' = '
2019-08-06 19:16:34 -05:00
Tony Murray
c18ba96f08 Fix isDemo calls (#10498) 2019-08-06 16:46:49 -05:00
Orsiris de Jong
01a519ef25 Watchguard Fireware is FirewareOS in oxidized (#10494) 2019-08-05 23:34:28 +02:00
Tony Murray
e99f421511 Remove legacy auth usage of $_SESSION (#10491)
* 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
2019-08-05 14:16:05 -05:00
PipoCanaja
f2163edcd8 unauth graphs null exception (#10483) 2019-08-03 23:32:46 -05:00
SniperVegeta
7e676b78e1 Update services.inc.php (#10486)
* Update services.inc.php

Added clickabel link to Services 
Added hover of the services status
2019-08-02 22:25:09 +02:00
Tony Murray
89fae9be1d Move API routing to Laravel (#10457)
* 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
2019-07-29 16:32:37 -05:00
Filippo Giunchedi
5400a908f3 Fix Google maps lat/lon query string (#10463)
* Fix Google maps lat/lon query string

Using , as latitude and longitude separate makes Google maps DTRT

* Just comma
2019-07-28 00:52:56 -05:00
Vitali Kari
1de640c3aa MPLS Services (#10421)
* initial database migrations

* first part, discovery

* second part, polling

* add SAP polling and discovery

* style checks

* rename variables in more generic way

* html global pages for sdp and sdp binds

* add Services and SAPs

* port links, database, etc.

* html device routing pages

* add tests

* checks

* rework database id relationship

* scruntinizer inspection

* fix unit test for new mpls tables
2019-07-27 23:11:04 -05:00
CirnoT
60c538ad8c Don't display INF% for percentage of used transfer when billing is CDR (#10446) 2019-07-27 22:56:51 -05:00
rsys-dev
6394c35ce6 Graylog entry matching device if source is not hostname or primary ip (#10458)
* Added findByHostnameOrIp($hostnameOrIp) for devices.
    Returns Device or null
Fixed Graylog device links, "device" parameter in URL was IP or Hostname instead of device id before
Added Severity number to name conversion. Can be activated by setting $config['graylog']['severity-names'] = "true" in config
Added Facility number to name conversion. Can be activated by setting $config['graylog']['facility-names'] = "true" in config

* Added $config['graylog']['match-any-address']. To enable matching Graylog entries by any interface address set to "true"
Added code to match Graylog entries by any interface address instead of only hostname or primary address

* Fixed missing quotation marks in <script> block in includes/html/common/graylog.inc.php:46, causing graylog page only load header with empty table. Introduced in https://github.com/librenms/librenms/pull/10447

* Modified code to reduce complexity as mentioned by codeclimate

* Changed findByHostnameOrIp($hostnameOrIp) as mentioned by https://github.com/murrant

* Added Language File "syslog.php" for Syslog Severity and Facility
Merged functions "levelName($level)" and "facilityName($facility)" to "syslogPrioParser($type, $value)" where $type should be "facility" or "severity" and $value the numeric or text facility or severity. Returns "NUMBER (NAME)" if possible, otherwhise returns $value

* Shortened findByHostnameOrIp($hostnameOrIp) as mentioned by https://github.com/murrant

* Add shortcut ipv4 and ipv6 device relationships
Better code for adding source addresses
Only translate level and facility if they are numeric
Allow level and facility to be sortable
No need for device link if we know it won't work.  Before the code was punting to save sql queries.

* Cache devices
Took queries from 69 to 6 in my quick test.

* Added Documentation for $config['graylog']['match-any-address']

* Fixed missing quotation marks in app/ApiClients/GraylogApi.php:125
2019-07-26 15:13:35 -05:00
CirnoT
2b13072ff0 Properly format 95th CDR as SI Mbps in billing (#10444) 2019-07-23 23:47:05 -05:00
jozefrebjak
625864ffa2 Added Support For Teltonika RUT2XX Devices (#10358)
* Added Support For TLT RUT2XX Devices

* Deleted unnecessary vaules

* required changes

* delete group unix

* updated tests

* Update rutos-2xx.json

* Update rutos-2xx.yaml

* Update rutos-2xx.json
2019-07-23 20:56:42 -05:00