61 Commits

Author SHA1 Message Date
e24862545d Fix the displayed unit for frequency and distance in the wireless section (#13614)
* Fix the displayed unit for frequency and distance in the wireless menu

* Small style fix
2021-12-13 08:30:57 -06:00
a95efd6d2a Global search: search device display (#13583)
* Global search: search device display
Add display field to search (also port_desc_descr, portName, and bgpPeerDescr)
Rewrite backend
update typeahead bundle
update devices and ports indexes
reduce some port field sizes so we can index them

* Style fixes

* remove nonsense
2021-12-06 16:12:24 +01:00
8e1b9e2989 Show Detail by default Option on Alert Widget (#13309)
* Show Detail by default on Alert Widget

* .

* change to row count length limitation

* .

* .
2021-10-03 01:12:18 +02:00
258505ed44 Apply fixes from StyleCI (#13224) 2021-09-10 20:09:53 +02:00
26b95c0ccc Apply fixes from StyleCI (#13208) 2021-09-08 23:35:56 +02:00
f1dc4435e3 Cleanup Port hover minigraph description when using "Interface Description Parsing" (#13143)
* Cleanup Port hover minigraph description.
Use port_descr_descr if exists or ifDescr.
Use the same generate_port_link() in:
- Devices - Ports
- Ports - All/Errored/Ignored
- Ports - "Types"

* Port-Customers, using Ajax Controller,  Util/Url

* make https://styleci.io/ check happy
2021-08-18 13:02:01 +02:00
29a0310c4f display metric if available only (#13023) 2021-07-11 13:03:54 -05:00
5acece54eb fix application fault detail (#13016) 2021-07-09 21:34:17 +02:00
6b18ee6dfa Fix empty label in generate_port_link (#12870) 2021-05-13 17:03:10 +02:00
bb39b4ad83 Rrd graph optimizations (#12806)
* RRD Graph optimization
Do not use temporary files to generate graphs
Don't start up a process to pipe commands to, just run the command
Error image improvements

* fix style issues

* run the rrdgraph command in the rrd directory
2021-05-03 09:48:15 -05:00
61c89794e4 Remove debug globals (#12811)
* Remove $debug global
and $vdebug global
makes these variables more accessible and protects from collisions.

* the on boot set sends application as the first parameter, just handle that

* Relocate other debug related functions

* Log debug to stdout

* Wrong output

* remove stupid constants

* Fix lint and style issues
2021-04-29 22:42:18 -05:00
76803c2acc Make applications work with rrdcached (#12807) 2021-04-28 22:00:32 -05:00
7de808a4e8 Revert "RRD Graph optimization (#12735)" (#12805)
This reverts commit 2833d935e0a8734b7f304b8cb652e27a7597b20f.
2021-04-28 09:07:31 -05:00
2833d935e0 RRD Graph optimization (#12735)
* RRD Graph optimization
Do not use temporary files to generate graphs
Don't start up a process to pipe commands to, just run the command
Error image improvements

* fix style issues
2021-04-28 05:28:07 -05:00
edb36fd69d More cleanups (#12715)
* PHPDoc

* Replace Auth > Illuminate\Support\Facades\Auth

* Return inside when()

* use str_replace correct

* Misc

* dead code

* use int $port

* styleci
2021-04-08 08:14:49 -05:00
1c379dcd05 Remove legacy function calls (#12651)
* massive inlines

* fix style and wtf

* remove rrdtool.inc.php include

* fix CommonFunctions namespace issues

* looking for missing class space, fix undefined class issues

* style fixes
2021-03-29 00:25:30 +02:00
c88ef64169 Chrony support (#12488)
* initial chrony implementation

* remove unused import

* add testing data

* fix test data

* fix tests

Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
2021-03-18 20:11:25 +01:00
1c3303d8ae Notifications : display sensor state textual value (#12554)
* display sensor state textual value
* style
* if then else
2021-02-25 19:00:47 +01:00
d20e1bdf5d GUI - Fix the detailed access point view (#12543)
* Fix the detailed access point view
* Removing unused old tab file
2021-02-18 15:10:32 +01:00
c06922de43 Nokia sap graph (#12432)
* SAP counters to database

* making rrd works

* Finished SAP polling + graphing

* cleaning up

* resolved ./lnms dev:check failure

* added db_schema and fixed style

* Fixed style

* recoverd file

* fixed

* Clean up

* fixed

* using  graphPopup function
2021-01-15 08:28:22 -06:00
b07b81021a Output image for graphs with no data (#11865)
* 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
2021-01-13 07:23:47 -06:00
7f93e2220d Update functions.inc.php (#12406)
I think left and right text is inverse. Example in page with all processor, percent_used is at the right instead of left
2021-01-02 00:47:41 +01:00
f2f169ae78 Modernize mempools (#12282)
* mempools to modern module
quick hacky hrstorage port

* port ucd-snmp-mib to Mempools

* Populate DB for ucd
Prep for yaml

* initial yaml attempt

* more complex conversions
fixes to YamlDiscovery, make leading $ optional and allow mib::oid format

* walk full tables and skip values
normalize percentages above 100

* handle precent only ones (specify total as 100)

* Move default polling out of YamlMempoolsDiscovery

* fixes

* Update test data hrstorage should be correct.

* perc_warn for hrstorage

* Host Resources, record buffer, cached, and shared

* Host Resources is always better, don't do both HR and UCD

* fix unix, include warning levels

* variable size

* consolidate skip_values

* define mempools schema

* number instead of integer

* more schema refactor

* one more skip_values reference

* throw error for invalid oid translation
aos6

* a*  and Cisco

* updated test data

* update almost all hrstorage data files

* b*

* c* with test data
use standard cache for hrStorage

* use cache for storage module too

* hand bsnmp properly

* bdcom

* exclude total oid from yaml so it is not polled
May add a way to ignore this behavior and poll it, but I don't know if that is needed.

* automatically handle percent only values

* ciscowlc

* only poll used or free if we have used, free, and total.

* fix skipping

* the dlinkoning
fix find value when value "name" is numeric

* support numeric oids

* dnos/ftos attempt

* I guess we can't filter on total > 0

* edgecos

* e*

* f WIP

* f*

* gwd (aka g*)

* h* + procurve

* i*

* j*

* m*

* support 0% used memory (however unlikely)

* n*

* CISCO-PROCESS-MIB memory, share cache with processors module

* ignore mempools with invalid total

* p*

* quanta

* r*
fix raisecom mibs terribly broken

* s-z

* style fixes

* Move VRP back to PHP and make it actually work

* fix zynos

* update schema

* Update Cisco processor data for description bug fixes

* fix comware processors

* comware mempools with memory size
default precision to 1

* sophos-xg updated data

* hrstorage use ram size for buffers, cache, and shared

* Show memory available instead of free in device overview

* UCD, use same rrd format, store available instead of free in the db.

* Calculate availability for HOST-RESOURCES-MIB

* Convert UCD to standard polling

* rename old rrd files

* initial graph work

* graph WIP

* Graph looking decent

* Graph looking decent for hr

* remove old ucd_graph code

* handle availability mempool
more graph cleanup

* color adjustments

* remove accidental free calculation

* Update test data and fix corner cases

* fis pfsense

* update schema

* add default value for mempool_class

* fix whitespace

* update schema

* update schema correctly

* one more time

* fortigate_1500d-sensors missing oids

* Update docs.

* fix indent

* add implements MempoolsDiscovery explicitly to OS

* remove ucd_memory graph references
remove unused device_memory graph

* remove unused functions

* set devices with mempools to rediscover to prevent/minimize gaps

* use a subquery

* add overview graph

* port health mempools table

* Update device mempool

* only show overview if multiple

* Don't override user set warn percentages in discovery

* fix missed usage

* fix style

* Safety check to not rename rrd files incorrectly if migration has not been run.

* Fix overview percent bar and represent available and used on the bar

* missed an item to convert to mempool_class

* percent on the wrong side
2020-11-23 15:35:35 -06:00
f6e3397a80 Cleanup generate_sensor_link (#12154)
* Cleanup generate_sensor_link

* Cleanup generate_sensor_link

* remove fixifname on sensor function

* Update functions.inc.php

Co-authored-by: Tony Murray <murraytony@gmail.com>
2020-10-04 20:45:41 -05:00
29f45ca352 Apply fixes from StyleCI (#12124) 2020-09-21 15:59:34 +02:00
0d56bbd946 Apply fixes from StyleCI (#12123) 2020-09-21 15:51:53 +02:00
82f43cb98d Apply fixes from StyleCI (#12120) 2020-09-21 15:40:17 +02:00
020c5fd7e1 Remove legacy code and fix missing device graphs (#11950)
* removing $graphs global

* remove unused things

* fix some additional graphs

* Fix graphs persisting too soon

* correct name for poller module performance graph

* only one type of graph is used here
2020-07-23 09:57:22 -05:00
3c78e0ccc7 Add permission support to Oxidized config search (#11928) 2020-07-21 20:34:42 -05:00
62f850aef9 Cleanup functions.inc.php (#11835) 2020-06-17 14:00:18 +02:00
867aa132c1 Merge pull request #11661 from SourceDoctor/app_dhcp_enhancement
Application DHCP Upgrade
2020-06-16 17:03:45 -05:00
e911eef0c8 remove unecessary function 2020-06-16 21:13:56 +02:00
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
cbe572f959 Application DHCP Upgrade 2020-05-22 23:02:19 +02:00
d5a52ca4eb Fix various issues with loading os definitions (#11640)
* 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
2020-05-19 14:35:32 -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 <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>
2020-04-29 07:25:13 -05:00
d2247ebda3 Running Alerts colorized depending on to their severity (#11210)
* Running Alerts colorized depending on to their severity

* extra alert styling to generic function

* .

* link from table alerts to alert_layout function

* info icon for information alert severity
2020-03-01 15:50:45 +01:00
441262e739 More verbose Alert Detail Fallback (#11153)
* more verbose fallback output detail

* update if statemen

* Switched

Sorry, I typed them backwards :D

Co-authored-by: Tony Murray <murraytony@gmail.com>
2020-02-19 10:34:37 -06:00
fc280ffb08 Revert "Alert Detail Ping Latency (#11140)" (#11149)
This reverts commit 082a1ee079a8007f369062f52e45ad76274d5555.
2020-02-14 11:46:56 +01:00
082a1ee079 Alert Detail Ping Latency (#11140)
* Alert Detail Ping Latency

* link to ping graph
2020-02-13 10:18:00 +01:00
19a82e1500 Fix inventory page hostname/sysname and default generate_device_link behaviour (#11114)
* Fix inventory page hostname and default behaviour on generate_device_link
* force test re-run
* space
* simplify

Co-authored-by: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com>
2020-02-10 12:07:27 +01:00
36388e25ea Show Alert Detail for Applications (#11088)
* alert detail for applications

* add link on alert application
2020-01-31 17:59:56 -06:00
d893acccda remove redundant information from alert fallback detail (#11081) 2020-01-31 05:42:46 -06:00
198e29c831 Oxidized GUI tweaks (#11066)
* Don't overwrite real port ids with zeros in the FDB

* Remove space to make codeclimate happy

* Provide links to device config view for oxidized config search results

* Use a bootgrid for Oxidized nodes so we can sort, search etc.

* Add a space for codeclimate
2020-01-27 05:31:43 -06:00
0e3c472018 "Disable alerting" on device disables alert rules check (not just alert transport) (#11015)
* Fix disable notify

* Fix disable notify

* Disable all alerting

* fix db migration

* fix db migration

* fix db migration

* Add autoclearing active alerts if disable alerting set

* Add autoclearing active alerts if disable alerting set

* fix check

* Device in gray if disable_notify is set - not ignore tag
2020-01-09 18:46:52 -06:00
4d50feffb3 Added certificate file validity check for services (#10354)
* snmp extend for monitoring certificate file validity

* Update Applications.md

* Update Applications.md
2019-11-05 21:56:31 +00:00
8f1c77545d Added Seafile Server Monitoring (#10465)
* Seafile Monitoring

* generalized function for application with multiple similar entries

* adding snmprec file

* Create linux_seafile-v1.json

* Update linux_seafile-v1.snmprec

Updated linux_seafile-v1.snmprec to use 4x for encoding json data response

* Update Applications.md
2019-10-21 23:28:21 +01:00
e5849ca055 Remove function report_this_text() (#10728) 2019-10-21 11:39:30 +00:00
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
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