Commit Graph

95 Commits

Author SHA1 Message Date
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
djamp42
fd42ea6e83 Add more detail to webgui alerts (#10388)
* alert sysname

* use existing config option

* add location to alert table

* made location a link

* fix formating

* Update alerts.inc.php
2019-07-18 23:24:24 -05:00
Tony Murray
36a5da00ca Fix missed alert function renames (#10452) 2019-07-18 11:05:43 -05:00
Tony Murray
e63dc17e73 Fix ports page javascript (#10451) 2019-07-18 08:29:42 -05:00
Tony Murray
3ead462549 Enable CSRF protection (#10447)
* Enable CSRF protection

* fix style issues
2019-07-17 07:20:26 -05:00
Serazio
902aedcd82 Added F5 ssl tps, global server/client connection rate and active connections (#9883)
* Added ssl tps, global server/client connection rate and active connections

* Added ssl tps, global server/client connection rate and active connections

* Added ssl tps, global server/client connection rate and active connections

* Added ssl tps, global server/client connection rate and active connections

* Moved from  2x snmp_get to snmp_get_multi for SSL TPS

* Rewrite of polling module for f5.  Thanks to @PipoCanaja for code examples.

* Moved files to includes/html/

* changed array definition
2019-07-14 18:33:20 -05:00
CirnoT
a0ac361174 Fix missing background on progress-bar for 95th bills (#10443) 2019-07-14 16:40:55 -05:00
Sander Steffann
164f3a096a Fixed smokeping graphs (#10415)
* Remove duplicate code

* Fix smokeping rrd file discovery

* Fix Smokeping outgoing graphs
2019-07-09 10:28:35 +01:00
Heath Barnhart
5a2f2497bb Allow setting Service Ignore and Disable in UI (#10334)
* Added disable and ignore checkboxes to services modal

* Updated add_services function to set disabled field

* Modified check-services.php respect service_disable value

* Minor code change for consistency in new_service.inc.php

* Removed unneeded includes
2019-07-06 17:58:06 +02:00
Shao Yu-Lung (Allen)
bd1204006a Fixed Nan value broken maps network graph. (#10408)
Error message:
Uncaught TypeError: Cannot read property 'indexOf' of null
at Object.e.overrideOpacity (vis.js:1085)
2019-07-05 08:50:56 +02:00
PipoCanaja
55f67f42fe Refactor Api transport to use Guzzle (and new variables syntax) (#10070)
* Allow new {{ $xxxx }} syntax

* Properly handle urlencode on variable values without braking the URL, and uses Blades

* Doc
Doc typo

* use Guzzle for HTTP requests

* Add Basic auth support

* Doc update

* clean

* Revert Blades, but keep the {{ $xxxx }} syntax

* Revert Blades, but keep the {{ $xxxx }} syntax

* Init Vars and comments

* Notifications

* api-options are not required

* Update notifications.rss
2019-07-04 16:55:29 +01:00
CirnoT
86740a76c0 Replaced color indicator near uptime counter with colored text and change color of status indicator to black on disabled devices instead of gray(#10372)
(matches availablity map with show ignored/disabled enabled)
2019-07-04 10:42:48 +02:00
Tony Murray
f83ce13a7a Fixed tabs and units on the wireless page (#10401) 2019-07-02 13:11:58 +01:00
SniperVegeta
242ab51e4e Fix atuc chan curr tx rate/atur chan curr tx rate (#10383)
* Update adsl_speed.inc.php

Change AtucChanCurrTxRate and AturChanCurrTxRate

AtucChanCurrTxRate  = Downstream
AturChanCurrTxRate  = Upstream

* Update adsl_snr.inc.php

AtucCurrSnrMgn = Down
AturCurrSnrMgn = Up

* Update adsl_attainable.inc.php

AtucCurrAttainableR = Down
AturCurrAttainableR = Up

* Update adsl_attenuation.inc.php

AtucCurrAtn = Down
AturCurrAtn =Up

* Update adsl_power.inc.php
2019-06-29 20:32:42 -05:00
Martijn Schmidt
9d68f27296 Use sensor labels for overview/inventory pages, refactor some html-page related code (#10287)
* Refactor: use get_state_label() for the overview

* Move state translation to get_state_label()

Several html pages used similar database calls and sometimes very
different methodology to determine the state label and state text
before calling get_state_label(), so moved that part of the task
into the function itself instead of replicating the same code
multiple times on different pages.

* Move label creation to get_sensor_label_color()

Also removed a duplicate sensor class to unit function.

* Refactor some if/else statements for simplicity.

* Enable state translations for the inventory page.

* Remove blank line found at end of control structure

* Enable unit translation, fix typos.

* Change to dbFetchRow(), return string directly.

* Update functions.inc.php

* Stop displaying the raw value on state labels.

* Apply 1c7c3ca change for default case too.
2019-06-27 00:30:10 -05:00
Tony Murray
dd2fc0baf8 Fix Dummy alert transport (#10379) 2019-06-26 09:47:03 -05:00
Tony Murray
f3ba8947f7 Use Config helper (#10339)
remove usage of global variable
2019-06-23 00:29:12 -05:00
ckforum
342acf50f1 Add 2 css class graph - minigraph for bg color and other (#10318)
* Add 2 class for graph / mini graph (styles.css)

Add 2 class for graph / mini graph (styles.css) 
for changing bg color and more (mini graph port / device) (graph port / general)

* Update styles.css

Add 2 class for graph / mini graph (styles.css) 
for changing bg color and more (mini graph port / device) (graph port / general)

* Add class CSS for mini graph 

Add class CSS for mini graph

* Update graph.inc.php

Change graph.inc.php, add css class / overlib

* restore original bg #f5f5f5 .graph-all-common

restore original bg #f5f5f5 .graph-all-common

* Update ports.inc.php

correct extra \

* Update graph.inc.php

* Update ports.inc.php

* Update ports.inc.php

* Update graph.inc.php

* Comment line 88 URL.php, because description of location enlarge too much overlib devices's title

* Update Url.php

* Update Url.php

Line 88 -> re ident to pass travis...
2019-06-21 22:44:47 -05:00
Tony Murray
4ad20eedbb Support relative time for graphs again (#10359) 2019-06-21 07:17:43 -05:00
JoshWeepie
72de183775 Improve UI of filter menu (#10348)
* Improve UI of filter menu

In the current UI of the filter menu, it's not readily apparent that one, you are supposed to use the filter tabs, and two, that you need to refresh in order for the filter to apply. This request adds button colors to search, update, and refresh to make the filter bar and action buttons stand out.

* Only change search button color

Changed search button color to blue to fit in better
2019-06-20 13:49:01 -05:00
Tony Murray
1a60c44eb0 Device groups rewrite (#10346)
* Device Groups rewrite
Updated web ui
Static or dynamic groups allowed
Alert rule query builder
Translation support
Permissions support

* cleanup, make relationship save, and validate it

* builder WIP

* rules builder and rules saving/loading

* Parse query builder to Laravel Fluent query

* Upgrade existing groups when editing.
Properly update only dynamic groups when polling.

* remove unused old code
Update API and other places to use Eloquent

* debug output in poller restored

* Fix up some things
creating static
improved validation
fix js error on creation
Fix static groups in polling

* hide pattern for static group

* Implement authorization
Use in the menu too

* update schema

* fix rollback

* Don't abort on invalid queries

* fixes to query builder

* add test data, looks like macros aren't handled (omitted them because groups don't use them generally)

* Add macro support for QueryBuilderFluentParser

* add test for macro that accepts value

* More space in forms
Retain rules when converted to static
no duplicate names allowed

* Better error feedback
Update related devices on save

* Add button icon

* format

* update docs

* fix tests

* Fix some QueryBuilderFluentParser issues with OR
updated/more test data

* Show device groups runtime
fix querybuilder.json format

* Store table joins in the rules to minimize polling time
Update group joins in daily.sh (and when they are saved)

* Update daily.php

* Add units to time
2019-06-19 16:01:53 -05:00
SourceDoctor
2da6c8104b Sort Device Applications in Optionbar alphabetic (#10324) 2019-06-17 10:55:43 +02:00
Tony Murray
c2b09b8f80 Revert "Rewritten device groups (including static) (#10295)" (#10340)
This reverts commit cfc51d51f5.
2019-06-16 21:52:57 -05:00
Tony Murray
cfc51d51f5 Rewritten device groups (including static) (#10295)
* Device Groups rewrite
Updated web ui
Static or dynamic groups allowed
Alert rule query builder
Translation support
Permissions support

* cleanup, make relationship save, and validate it

* builder WIP

* rules builder and rules saving/loading

* Parse query builder to Laravel Fluent query

* Upgrade existing groups when editing.
Properly update only dynamic groups when polling.

* remove unused old code
Update API and other places to use Eloquent

* debug output in poller restored

* Fix up some things
creating static
improved validation
fix js error on creation
Fix static groups in polling

* hide pattern for static group

* Implement authorization
Use in the menu too

* update schema

* fix rollback

* Don't abort on invalid queries

* fixes to query builder

* add test data, looks like macros aren't handled (omitted them because groups don't use them generally)

* Add macro support for QueryBuilderFluentParser

* add test for macro that accepts value

* More space in forms
Retain rules when converted to static
no duplicate names allowed

* Better error feedback
Update related devices on save

* Add button icon

* format

* update docs

* fix tests
2019-06-16 08:27:22 -05:00