Commit Graph

272 Commits

Author SHA1 Message Date
Neil Lathwood
03076c4025 feature: Added new alert rule builder UI and rule mapping UI (#8293)
* feature: Added new alert rule builder UI

* Updated to export sql queries

* More updates

* more changes

* removed debug

* fix scrut

* Updated to include import options + various other fixes

* fix rule

* Populate name from collection rules.

* Fix default rule import
Allow new and old style rules in the collection.
Don't add new yet as I'm not sure GenSQL() is working.

* Fix GenSQL call

* Extract filter building to class so it is nicely contained in one place

* moved schema

* some fixes and tweaks

* travis fixes

* Some more features / updates

* Fix up my mistakes when adding default rules

* Use a modal for new alert (Incomplete)
Larger dialog!!
Remove page loading stuff.

Working:
Loading rules, resetting dialog, importing from collection.

Not working yet:
select width
device limited rule access? don't know what this is...

Lots of unused stuff to delete...

* reload "table" after save

* fixed editing rule

* Auto select2 width

* Reload window on save

* Restore per-device alert. Remove debug.

* Small cleanups. Rule Name first.

* Restore button to button type. Rename schema.

* Fixes: wrong command to reload window, remove extra attributes, rule is never passed

* Fixed old rule editing

* some small updates for old imports

* travis update to use trusty

* maybe travis fix

* Ability to set alert rule mappings on the rule edit screen

* pip installs one line, no quiet for deploy

* update schema def

* Fix style and some copyright headers

* fix docs missing file

* Allow new versions of snmpsim and libraries

* Parser WIP

* Fix default rules insert

* reorganize

* Legacy import first draft done

* Implement saving
Skip translation to sql for now

* Working on glues

* small rule collection fix

* Working on glues

* Working on glues

* Docs updates + small UI changes

* Parser WIP

* reorganize

* Legacy import first draft done

* Implement saving
Skip translation to sql for now

* Working on glues

* Working on glues

* Working on glues

* Add table mapping, should move to it's own class

* WIP

* Glue working!!

* Extract Schema class

* Some final touches.
revert alerts_rules.json for now.

* Finish up initial implementation
Needs more tests

* Fix a few places

* small doc updates

* Fix finding tables in grouped rules.

* remove unused code

* code format fixes

* Some quick tests for Schema
Simplified output for findRelationshipPath. Always includes start and target in the result.
This simplifies a lot of code in QueryBuilderParser.php
This also always loads the target table data now (which we want)

* Make bill_id the PRIMARY index for the bills table

* Load macros from a json file in misc instead of the database.

* Fix whitespace and wrong key for collection.

* Handle IN properly when generating SQL

* Fix glue (devices.device_id = ports.port_id) is incorrect :D
Show ALL tables we can resolve relationships for in the query builder filter.

* Remove all macros from the database
Remove insert statements, leave updates to update user's existing rules.
2018-03-14 20:25:19 +00:00
endofline
b70ff543bf webui: S.M.A.R.T visualization improvements (#8310)
* Increase description length in graphs
* Add SMART attr177, previously recorded, but not displayed
* Change the multi-graph titles to better reflect their content
* Change SMART attr numbers to a more human-friendly description
* Minor text corrections
2018-03-13 13:26:23 +00:00
Richard Mayhew
df724a78b7 webui: Fix panel device header for themes (#8238)
* New event log severity model

* Revert "New event log severity model"

This reverts commit 0783527af8.

* Fixed Panel Bar - #8157

* Reverted back the counter
2018-02-12 15:50:16 +00:00
Aldemir Akpinar
5880f06780 webui: Added sysNames to pulldowns and the main page (#8137)
* Add dependency info for api

* webui: made dev dependency list more like devices page. Also added sysNames to pulldowns and the manin page

* Create common function for sysname display

* A better function name
2018-02-10 13:18:53 +00:00
Tony Murray
6bbe5038e8 fix linkify to work with with ip addresses (#8226)
* fix linkify to work with with ip addresses

* update tests
2018-02-07 20:48:18 -06:00
Zmegolaz
3740467858 Added settings validations. (#8037) 2018-01-16 22:21:21 -06:00
crcro
c21e9c2f4a feature: Added powerdns dnsdist application (#7987)
* powerdns dnsdist app support

* fix conflict

* added doc

* fix new lines

* alphabetic order

* no data manipulation on host side
changed rrd from gauge to counter
2018-01-06 20:05:06 +00:00
Zmegolaz
d7b4a30acf webui: Added validation for Oxidized API URL config (#7978)
* Add http:// to oxidized URLs missing them.

* Fixed typo.

* Form validation instead of backend fix.

* Don't update setting on invalid pattern.
2018-01-05 08:58:42 +00:00
VVelox
eaf70e96f6 feature: Added ZFS support for FreeBSD (#7938)
* add the ZFS graphs

* And now the ZFS non-graph stuff.

Still need to move it over to using JSON.

* Now uses JSON.

* use stripslashes as SNMPD loves to slash up the JSON

* Document ZFS.

* very minor formatting cleanup

* minor formatting cleanup and remove a bit of code from when I was mucking around debugging it all
2017-12-30 11:42:51 +00:00
Aldemir Akpinar
a644057a68 Make left and right texts on percentage bar look better. (#7958) 2017-12-26 20:34:46 +00:00
crcro
599572562a webui: Health / Sensors pages refresh (#7834)
* inital release

* added missing copyrights

* removed old commented lines

* do not center progresss bar

* integrated in page navbar, removed useless div

* changes to match latest style, fix for pagetitle
2017-12-24 20:18:48 +00:00
crcro
9e63d3200d webui: Eventlog table refresh (#7793)
* initial release

* added copyright info

* set username to System if empty

* eventlog page cleanup

* added copyright
2017-12-24 19:56:24 +00:00
VVelox
7b36d65cc5 nicecap SMART (#7939) 2017-12-21 20:51:55 -06:00
Aldemir Akpinar
79c42743a6 webui: Added diskusage to top devices widget (#7903)
* webui: added diskusage to top devices widget

* Update top-devices.inc.php
2017-12-13 22:37:36 +00:00
Slashdoom
712201e691 feature: FreeRADIUS application monitoring (#7818)
* Update unbound.inc.php

* Update unbound.inc.php

* Create unbound_cache.inc.php

* Update AUTHORS.md

* Update apps.inc.php

* Update bind.inc.php

* Update bind.inc.php

* Update bind.inc.php

* Update bind.inc.php

* Update tiles.php

* Update Applications.md

* Update Applications.md

* Update Applications.md

* Update Applications.md

* Update Applications.md

* Update Applications.md

* Update apps.inc.php

* Create freeradius_access.inc.php

* Update functions.inc.php

* Create freeradius_auth.inc.php

* Create freeradius_accounting.inc.php

* Create freeradius_proxy_access.inc.php

* Create freeradius_proxy_auth.inc.php

* Create freeradius_proxy_acct.inc.php

* Create freeradius_queue.inc.php

* Update and rename freeradius_accounting.inc.php to freeradius_acct.inc.php

* Update apps.inc.php

* Create freeradius.inc.php

* Create freeradius.inc.php

* Update freeradius.inc.php

* Update freeradius.inc.php

* Update freeradius.inc.php

* Update freeradius.inc.php

* Update freeradius.inc.php

* Update Applications.md

* Update Applications.md

* Update freeradius_access.inc.php

* Update freeradius_acct.inc.php

* Update freeradius_access.inc.php

* Update freeradius_auth.inc.php

* Update freeradius_access.inc.php

* Update freeradius_acct.inc.php

* Update freeradius_proxy_access.inc.php

* Update freeradius_proxy_acct.inc.php

* Update freeradius_proxy_auth.inc.php

* Update freeradius_queue.inc.php

* Update freeradius_queue.inc.php

* Update freeradius.inc.php

* Update freeradius.inc.php

* Update freeradius.inc.php

* Update freeradius_acct.inc.php

* Update freeradius_acct.inc.php

* Update freeradius_access.inc.php

* Update freeradius_access.inc.php

* Update freeradius_auth.inc.php

* Update freeradius_proxy_access.inc.php

* Update freeradius_proxy_acct.inc.php

* Update freeradius_proxy_auth.inc.php

* Update freeradius_queue.inc.php
2017-12-12 21:13:24 -06:00
crcro
995b7069eb webui: Added support for stacked graphs (#7725)
* initial release

* newline fix

* missed some graphs in edit

* style fixes

* revert custom function, use Config

* unified config option
added webui graph config entry
added sql entry for webui config

* removed config_id from sql file

* remove graph stack from defaults

* moved transparency and stacked option to functions.php

* style fixes

* style fixes

* changes in code
added docs about stacked graphs

* return keyed array

* new colors and transparency

* sql rename
2017-12-02 20:28:03 +00:00
mcq8
c9728a1f71 refactor: Refactored authorizers to classes (#7497)
* Refactored authorizers to classes

* Merge changes for #7335

* ! fix php 5.3 incompatibility

* Update ADAuthorizationAuthorizer.php

* Fix get_user -> getUser

* Rename AuthorizerFactory to Auth, fix interface missing functions

* Add phpdocs to all interface methods and normalize the names a bit.

* Re-work auth_test.php AD bind tests to work properly with the new class.
Reflection is not the nicest tool, but I think it is appropriate here.
Handle exceptions more nicely in auth_test.php

* Restore AD getUseList fix

Not sure how it got removed

* fix auth_test.php style
2017-11-18 10:33:03 +00:00
Zmegolaz
f8d7ccfe0d feature: Support for up/down detection of ping only devices.
* Added support for ping only devices.

* Renamed sql-schema/206 to 207.

* Discovery tried to detect the OS when it shouldn't.

* Updated db_schema.yaml

* Added ping icon.

* Don't show unused graphs and tabs when SNMP is disabled.

* Allow the user to specify OS of ping only devices.

* Removing custom OS now changes it to 'ping'.

* Removed unnecessary use of mres().

* UI select box for SNMP enable/disable.

* Hide device_ping_perf if ping is disable on device.

* Fixed SNMP settings update status messages.

* Added functionality to add ping only devices via the web ui.

* Added ping only option to addhost.php

* Added ping only support to snmp-scan.py

* Moved sql 208 to 211

* Fixed scrutinizer issues.

* Fixed broken ossearch.

* Added ping only support to the API.

* Updated API doc.

* Added (optional) to OS and hardware description. Hid Port Settings, Applications, Modules, Storage, Processors, Memory and Components from the edit menu

* Style fix.

* Updated ping icon.

* clean() instead of mres(). More escaping. Better help in snmp-scan.py and addhost.php

* Fixed scrutinizer issue.

* Always try SNMP in snmp-scan.py, new option for it in addhost.php. Slice instead of chunk in ajax_ossuggest.php. Other minor style changes.

* Updated sql modifications to insert the new column in the same place as in db_schema.yaml.
2017-10-27 22:59:25 -05:00
Tony Murray
51ba934e11 feature: Added web validation (#7474)
* refactor: convert validations to modules to prep for gui integration

* accidentally dropped, schema update

* fix accidental output to webui

* mention discovery-wrapper.py and re-arrange.

* refine some fix statements

* rename the Config validation group to Configuration.

* fix some scrutinizer issues
remove as many local functions from validator.php as possible
move extensions from pre-check
remove duplicate timezone check
looks like there is some db schema differences between mariadb 10.1 and 10.2, investigating

* mariadb version diff take2

* Check schema version first for database.
Remove stop to go back to command line for install docs.
Add helpful link when there is no devices added to /addhost

* fix incorrect validation for empty string defaults

* Fix style

* Add additional file permissions checks

* catch exception and fail for invalid timezone
Change visuals a bit.

* add php version warning

* fix space
2017-10-26 07:56:09 +01:00
deepseth
2cbee2dc02 refactor: Added IOS-XR Bundle-Ether shortened/corrected forms (#7283)
* Added IOS-XR Bundle-Ether shortened/corrected forms
2017-09-01 17:14:03 +01:00
Tony Murray
20b08cf595 refactor: finish logic and definition separation (#6883)
Clean up rewrites to only have function definitions
Move authentication initialization into a function
2017-07-03 15:38:58 -05:00
crcro
96f066189e feature: Added pi-hole application support (#6782)
* added data to webui

* added last step on docs

* fix scrutinizer issue

* fix blank lines
2017-06-05 23:00:09 +01:00
Neil Lathwood
34c35f3627 webui: Updated remaining display options where we do not show sysName if hostname is IP (#6585)
* webui: Updated remaining display options where we do not show sysName if hostname is IP

* renamed function + simplified
2017-05-05 06:25:58 -05:00
Tony Murray
2b3ca49bea feature: Added support for populating selects from ajax (#6557)
fixes: #5264

The issue was all the string concatenation...

But I decided to try loading the select via ajax. Seems ok.  We could just use something like select2.  Opinions? Use this approach or load at page load.
I was able to reduce the loading of the 4000 select items from 1.6s to 0.6s on my laptop by optimizing the sql.

I added 4000 devices to my database to check this :)
2017-05-03 22:51:01 +01:00
Svennd
0211c5864b feature: Added NFS-server application support (#6320)
* update

just realized the pull script is a bad idea. not really portable. no
nfsv2 stats for centos 7+

* some php errors

* fixed v4ops

removed nfs-server.sh, as only cat /proc/net/rpc/nfsd is needed as an
extend.

* split rrd

split rrd to store and pull them seperatly

* scrutinizer-ci fix

scrutinizer-ci fix

* phpcbf

* messed up

* stuck, please ignore

* applied reviews murrant suggestions

applied reviews murrant suggestions

* dirty scope

dirty scope was the issue

* style fix ?

* style PSR2

* file handle chart

* fixed style + added documentation

* applied review tasks by murrant, thx murrant!

* applied laf's review, also added tabs in the view to reduce the amount of graphs per page
2017-04-28 22:48:26 +01:00
crcro
238ca0266b feature: Added sdfsinfo application support (#6494)
* initial version

* various fixes, docs updated

* various style fixes

* added missing copyright

* docs correction

* docs correction

* new split char for bash script

* docs correction

* scrutinizer issue

* newline meh

* doc changes
2017-04-27 20:54:39 +01:00
Svennd
b2e6d8abef feature: Added opengridscheduler job tracker application (#6419)
* opengridscheduler job tracker

* wrong copy of file

* applied laf's review. Thx laf!

* now including the modified files; thx laf for the review!

* Update Applications.md
2017-04-24 14:19:36 +01:00
Neil Lathwood
9385bc54de fix: Updated use of ifNameDescr() to cleanPort() (#6454) 2017-04-18 16:42:37 -05:00
VVelox
c222aa41a0 add multi DB support to the Postgres app (#6222)
* now creates a component with all the DBs in it

* add the function get_postgres_databases

* add multi DB support to the Postgres device app page

* add multi DB support to the Postgres graphs

* whoops removed the udpate bit, readd it

* white space cleanup

* now use json for storing DB names

* provide the list of DBs in a cleaner manner

* Update postgres.inc.php
2017-04-12 10:45:12 +01:00
Neil Lathwood
1bbbaff58b refactor: Moved ifLabel -> cleanPort and updated the usage (#6288)
* refactor: Moved ifLabel -> cleanPort and updated the usage

* added list of tags allowed

* few updates as per comments from @murrant

* Added simple unit tests

* double display for javascript popover

* Remove ifNameDescr() function
Fix realtime port page

* remove accidental temp code

* Remove double display calls in ajax tables
2017-04-04 08:08:23 +01:00
Tony Murray
4b9f3f37d7 fix: move user preferences dashboard and twofactor out of users table (#6286)
* fix: move user preferences dashboard and twofactor out of users table
This allows them to work with any authentication method
Add set_user_pref() and get_user_pref() helper functions

* fix edit users for other users

* Fix updated_at default timestamp

* Update and rename 183.sql to 184.sql

* removed commented out debug
2017-04-01 22:18:00 +01:00
VVelox
acd11955d2 use components for fail2ban jails list (#6221)
* add get_fail2ban_jails functions

* now do component stuff for fail2ban for tracking jails

* now use get_fail2ban_jails for getting a list of jails

* readd the accidentally deleted update app bit

* white space cleanup

* Update fail2ban component code

* remove unneeded variable
2017-03-29 22:54:02 -05:00
VVelox
0a4b2658b5 feature: Added SMART application support (#6181) 2017-03-22 14:28:50 +00:00
markabrahams
54deb1d429 fix: API call for graphs not working (#6184) (#6186)
* fix: API call for graphs not working (#6184)

* I agree to the conditions of the Contributor Agreement contained in doc/General/Contributing.md

* updated set_image_type to use new function
2017-03-13 16:39:43 +00:00
Tony Murray
58495a3910 Add php docs for log_event, small cleanups (#6141)
* Add php docs for log_event, clean up eventlog_severity a bit.

* Update functions.php
2017-03-12 13:05:31 +00:00
Robbie Penziol
afb838bc10 webgui: Added ability to set warning percentage for CPU, mempools from device edit page (#5895) 2017-03-03 15:07:12 +00:00
VVelox
354bd2144d feature: Add FreeBSD NFS Client/Server application support (#6008) 2017-03-03 14:48:46 +00:00
VVelox
6844f29217 feature: add get_disks function (#6058) 2017-03-03 14:27:33 +00:00
VVelox
7f91fab663 webui: Cleanup white backgrounds on certain graphs 2017-03-02 18:07:55 +00:00
Søren Rosiak
db58fea2d2 feature: Add Basic Oxidized Node List (#6017)
* feature: Add Basic Oxidized Node List
2017-02-27 22:32:13 +00:00
VVelox
252d0c1055 add a nicecase instance for PHP-FPM (#6007)
* add single pool based poller for php-fpm
2017-02-26 13:46:16 +00:00
Neil Lathwood
a8691680ab feature: Added ability to output graphs as svg (#5959)
* feature: Added ability to output graphs as svg

* Update graph.inc.php

* added ability to gzip various files for web servers
2017-02-22 06:08:18 -06:00
Neil Lathwood
e9d729eedc webui: added link to APs for alert details #5878 (#5898)
* webui: Add links to accesspoints in alerts #5878

* webui: added link to APs for alert details #5878
2017-02-15 07:55:03 +00:00
Richard Mayhew
5bfd23e7eb webui: New eventlog severity classification (#5830)
* New event log severity model

* Revert "New event log severity model"

This reverts commit 0783527af8.

* New event log severity model

* Fixed spaces vs tabs

* Learning the format requirements

* Learning the format requirements

* Moved the colours in to the stylesheet

* change SQL file to stop conflicting

* refactor log_event so severity isn't last, but reference is.

* keep having to move the file due to new PR conflicts

* Revert "keep having to move the file due to new PR conflicts"

This reverts commit f3030e7218.

* extended support to dashboard and eventlog page

* formatting
2017-02-12 22:41:05 +00:00
rockyluke
45c5c20ee1 webui: Replace Ntp with NTP in Apps menu (#5791) 2017-02-06 22:46:21 +00:00
Neil Lathwood
bc72ab916e webui: Remove ifIndex from ports list and add debug button for data access (#5679) 2017-02-03 15:20:25 -06:00
Neil Lathwood
6b0ed757f3 webui: Added function to shorten strings, used for storage overview display #5317 (#5678) 2017-02-01 20:15:50 +00:00
Richard Mayhew
5be1ea9132 webui: Final Font Awesome conversion (#5652) 2017-01-28 23:44:36 +00:00
David Bell
d83d08e268 fix: Allow overlib_link to accept a null class #5522 2017-01-20 18:03:06 +00:00
crcro
a9a02a0f80 feature: Added exim-stats to applications #5008 2017-01-20 08:47:13 +00:00