Commit Graph

2262 Commits

Author SHA1 Message Date
Neil Lathwood 592e8aca4c newdevice: Added sensor detection for APC In Row RD devices (#7385)
* newdevice: Added sensor detection for APC In Row RD devices

* Update apc.yaml

* Update apc.yaml

* Update cooling.inc.php

* Update pressure.inc.php
2017-09-29 21:13:27 +01:00
celalemre 973764e7d3 alerts: Added OpsGenie transport. (#7392)
* Add OpsGenie transport.

* Log response body from OpsGenie only when an error occurs.

* Move OpsGenie SQL config to a new sql file.
2017-09-28 21:20:21 +01:00
Ryan Medlyn d6ae852617 Fixes query selector scope for bootgrid destroy (#7379) 2017-09-22 07:06:49 +01:00
Zmegolaz 5441bafc81 fix: Fixed IPv6 host renaming (#7275)
* Fixed IPv6 host renaming

* Added get_rrd_dir() and modified other files to use it where appropriate.

* rrd_name() now uses the new function get_rrd_dir(), to make it simpler to modify the escaping in the future.

* Wrong function name in rrdstep.php
2017-09-02 13:45:31 -05:00
Ryan Medlyn 6077d3a3db webui: Greatly reduces application memory leak for dashboard (#7215) 2017-09-01 17:27:01 +01:00
Richard Mayhew 51da2ba3af docs: Fixed API-Docs Link in webui (#7242)
* New event log severity model

* Revert "New event log severity model"

This reverts commit 0783527af8.

* Fix API-Docs Link
2017-08-29 19:41:20 +01:00
Tony Murray 0def643e09 feature: Notify about failed updates, block detectable bad updates (#7188)
* Feature: Notify about failed updates, block detectable bad updates
Ability to post notifications when the update fails.
Detect and roll back updates that will cause broken installs. (Needs testing)
Add severity to notifications, critical (2) notifications will display a toast.

This will be used for removing in-tree dependencies and raising the minimum php version.

* Improve naming a bit add phpdoc to new_notification
In case multiple notifications are created, remove them all.

* Remove notifications when update is disabled.

* update travis to use db testing

* added missing index
2017-08-26 21:35:39 +01:00
yac01 38cf424417 webui: Added ability for users to configure selectable times for graphs (#7193)
* feat:add links for librenms graph

* added widescreen config
2017-08-25 20:11:01 +01:00
darthsco e0d3083791 Fixed typo: Predicated -> Predicted (2 instances) (#7222)
The text that should have been "Predicted usage" was written as "Predicated usage" for both occurrences in the file.
2017-08-24 15:06:32 -05:00
mbwall c8f695d387 webui: Updated pi-hole graphs for better grouping (#7179) 2017-08-18 07:56:50 +01:00
Tony Murray 1d777693e1 feature: New IP parsing classes. Removes usage of Pear Net_IPv4 and Net_IPv6. (#7106)
* Refactor remove use of pear Net_IPv4 and Net_IPv6

Caution, I added tests to test the functionality of the new functions, but I'm not 100% certain the replaced usages match 100%.  Please test.

Left usage in generate-iplist.php because I'm not sure the use of that script, so I didn't want to implement additional functionality to support it.

Add support for ipv6 fo ipInNetwork() function

Add phpdocs to functions
Remove accidental inclusion

Use binary operations instead of string for networKFromIp()
Tidy up binary operations in ipInNetwork()

tidy parsing cidr network

Change to a class based implementation.

Update phpdocs.
Fully catch exceptions for hex parsing.

Fix mistake.

support older phpunit versions

Fix php shifting to negative with php 5

* Fix graph authorization. Uncaught exception and checking an ipv4 against an ipv6 network == fail.

* Also remove colons from hex strings.

* Fix typo in bgp polling
Two passes of removing invalid characters from hex strings. (That way we don't mangle valid IPs)
2017-08-08 14:14:58 -05:00
Lorenzo Zafra faaa94a1e9 webui: Loading speed improvement when viewing syslogs for specific device (#7062)
* Changed query to filter for device_id when searching for programs and priorities

* Fixed sql, use prepared statements

* appending to param moved to appropriate line

* Update syslog.inc.php
2017-07-25 21:47:57 +01:00
Aldemir Akpinar c592f901b0 feature: Added jira alert transport (#7040)
* feature: added jira transport

* Trying to fix travis-ci sql problem

* Surpress mysql warnings

* Fix for typo

* Update Alerting.md
2017-07-19 16:25:03 +01:00
Tony Murray 1e77d4b3ea refactor: validate.php improvements (#6973)
Always output header (may be missing mysql data)
Improve version display, now looks like '1.28-129-g74e6c3edf' <tag>-<commits since tag>-<shortag>
Add mysqli to the list of required extensions, check extensions before init
Add dbIsConnected() function, used to check if we have db in version_info()
Do not die on IPv4 and IPv6 so validate can print errors.
Move git checks so they are output together
fix rrdtool 1.7.0 reports version as 1.7.01.7.0
2017-07-17 19:02:28 +01:00
Aldemir Akpinar 550e412808 webui: Added an empty option for delete device selection, and a minor db performance fix (#7018)
* webui: Added an empty option, also minor performance fix on the db query

* Added missing backtick

* Added html options per Laf's suggestion
2017-07-14 11:40:29 +01:00
crcro 61103938dc normalized file names fixing the webui (#6991) 2017-07-09 21:17:57 +01:00
Svennd 6c449b41d0 webui: Split up the complex nfs v3 graphs (#6963)
* split up the complex graph

* overview page had some excessive graphs
2017-07-05 20:20:30 +01:00
Aldemir Akpinar 9c957ee1d4 webui: Minor visual changes in schedule maintenance window and its modal (#6934)
* webui: minor visual changes in schedule maintenance window and it's modal

* Removed unnecessary comments

* Auto close alerts
2017-07-04 22:29:54 +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
Tony Murray 08c21b5734 remove some extra html tags (#6925) 2017-06-30 07:45:18 +01:00
Tony Murray e8dd72e8db feature: Support fdb table on generic devices (#6902)
* feature: support fdb table on generic devices
refactored code to use snmpwalk_group
refactored ajax table code to use joins and reduce extra queries
add indexes for device_id and port_id, drop primary index
Make all columns sortable
Fix a few other small issues

* Add index for vlan_id since that field can be searched by the user

* fix whitespace

* Rename 197.sql to 198.sql

* set row count for table
2017-06-29 21:03:56 +01:00
Tony Murray bf0df7266a feature: Added fdb discovery module (#6887)
revert the context_name changes to snmp.inc.php and use the same method as other parts of the code
2017-06-26 13:58:17 +01:00
Neil Lathwood 54365985a6 Revert "feature: fdb tables (#6616)" (#6886)
This reverts commit 81ddab86af.
2017-06-25 07:04:04 +01:00
Lorenzo Zafra 81ddab86af feature: fdb tables (#6616)
* feature: FDB TABLES for ios and timos

* Fixed coding style issues

* renamed fdb.sql to 191.sql

* fixed travisCI issue

* FDB table discovery working on IOS

* Fixed bug: failing to insert fdb entries into database

* Fix phpcbf issue

* moved sql schema

* rename sql schema

* Add (tentative) FDB support for HP Comware switches

* build schema

* schema changes

* run build schema.......

* FBD Table discovery working on HP ComWare

* FBD Table discovery working on HP ComWare

* Add FDB support for HP Comware

* Discovery regex fix, tested and works for cisco 3750, 2960, 6509

* Use vlan_id instead of raw vlan. Remove Nokia implementation as vlans are not being discovered for it at the moment.

* Use vlan_id instead of vlan.

* Add debug messages, comware support

* Sorry.. phpunit isnt working for me

* Use a file structure instead of if statement per OS

* Make inserts to vlan table if entry does not exist.

* Rename sql schema file

* Use existing context name

Improve output and database synchronization

Remove chromephp and if ios

rename sqlfile

add comware back

update schema

* Delete TIMETRA-CHASSIS-MIB

* Delete TIMETRA-FILTER-MIB

* change index to bigint to be safe
2017-06-24 22:07:31 -05:00
algebur 62cde819a0 webui: Added "system name" for the "Services list" (#6873)
* Update devices.inc.php

* Update devices.inc.php

* Add "system name" to "hostname"

It is easy to watch hosts using system names and IP addresses

* Deleted -H for checking srevice

How wrote this code? 
I could not use additional plugins, because system adds "-H" when plugin runs. But some plugins don't use "-H"

* changed to original file

* Update services.inc.php
2017-06-23 22:17:01 +01:00
network-guy b3c88925d4 webui: Allow editing and deleting of lapsed alert schedules (#6878) 2017-06-22 20:29:04 +01:00
Aldemir Akpinar 0ede9525b0 feature: Added support to use IP addresses for NfSen filenames (#6824)
feature: Added support to use IP addresses for NfSen filenames (#6824)
2017-06-13 21:35:33 +01:00
Aldemir Akpinar 57c9151363 webui: Add bootgrid for authlog page, and fix poll-log searchbar layout on smaller screens (#6805) 2017-06-09 19:50:56 +01:00
Neil Lathwood 4f4719b66a webui: Updated all tables to have the same set number of items showing (#6798) 2017-06-08 22:10:30 -05:00
Freddie Cash dd97ba1046 Update bind.inc.php (#6795)
Fix spelling mistake:  Quiries --> Queries
2017-06-06 23:09:11 +01: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
Slashdoom fbf157c053 webui: Load google maps js library only if globe map widget is used
webui: Load google maps js library only if globe map widget is used
2017-06-02 21:02:50 +01:00
pblasquez cc38930007 feature: Added elasticsearch transport and docs (#6687)
* Add elasticsearch transport and docs

* Fix formatting

* Fix formatting

* Remove librenms string from sql file

* Add missing states

* Use ifAlias not ifDescr

* Update Alerting.md

* Remove unused es_enabled flag

* Fix storage column names

* Fix processor columns

* Rename 194.sql to 193.sql
2017-06-01 12:16:39 +01:00
crcro 5af3048a76 fix: Ensure rrdtool web settings aren't overwrote by defaults (#6698)
* fix for web settings

* revert db config

* revert description

* ensure rrdtool path is set
2017-05-30 19:44:40 +01:00
SLMitch dbaad709fe fix: add column title under device bgp tab (#6747)
* add column title

* Change column name

Change the column name to `Family` to be consistent
2017-05-30 07:54:43 -05:00
Nick Peelman 88e71a58c1 webui: make login form more mobile-friendly (#6707)
* make login form more mobile-friendly

Disable autocomplete, autocorrect, autocapitalize, and spellcheck on username and password input forms.

* Update logon.inc.php
2017-05-23 23:58:38 -05:00
Neil Lathwood d48be5f507 newdevice: Added detection for Cisco EPC devices (#6690)
* newdevice: Added detection for Cisco EPC devices

* updated test file

* added dbm support

* added snr support
2017-05-23 10:28:44 -05:00
Tony Murray 4d0c75343e fix: Two-Factor Authentication (#6672)
* fix: Two-Factor Auth
Moved library to a class to take advantage of namespacing and auto loading.
Update the two factor code to use the AuthenticationException for error messages.
Fix remember me to work with 2fa.

* missing change
2017-05-18 22:08:10 +01:00
Neil Lathwood 612186dabf alerting: Added option to enable/disable option for sending alerts to normal users (#6590)
* alerting: Added option to enable/disable option for sending alerts to normal users

* Update notifications.rss

* added missing sql

* Fix schema

* Update notifications.rss
2017-05-15 23:35:26 +01:00
Aldemir Akpinar 039bf0b961 webui: Fixed Recent events card is misplaced for printer devices (#6637) 2017-05-12 13:28:21 +01:00
Neil Lathwood acaa29c583 webui: Disabled settings button for Shared (read) dashboards if you are not the owner (#6596) 2017-05-05 16:22:01 -05:00
Neil Lathwood 868fe44390 security: Remove possibility of xss in Oxidized and RIPE searches (#6595) 2017-05-05 16:16:39 -05:00
Tony Murray 50d31ad00b fix: Restore access to existing wireless graphs (#6593) 2017-05-05 19:39:23 +01:00
Tony Murray 9d0b35187e webui: split apart max and min sensor limits, allows sorting (#6592) 2017-05-05 18:18:05 +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
Slashdoom bdf1616c76 feature: Added additional Unbound chart for query cache info (#6574)
* Update unbound.inc.php

* Update unbound.inc.php

* Create unbound_cache.inc.php

* Update AUTHORS.md

* Update apps.inc.php
2017-05-04 11:04:10 +01: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
VVelox 62a562b39a feature: Updated BIND application (#6218)
* add BIND named poller

* add BIND named graphs

* add BIND stuff

* add the color pallete used by this

* add app support

* white space cleanup

* document the bind stuff

* expand the linux package stuff a bit

* note the agent and zero_stats value

* now include the $mib stuff

* white space cleanup

* whoops, add the update app bit

* correct a error added when merging

* readd copyright info

* note myself in the copyright info
2017-05-03 15:23:33 +01:00
Tony Murray 4c0412b14d feature: Wireless Sensors Overhaul (#6471)
* feature: Wireless Sensors
Includes client counts for ios and unifi
Graphing could use some improvement.
Alerting and threshold ui not implemented

WIP: starting OO based wireless sensors.

Class based functionality working
remove old functional files
add schema file

discovery needs to be enabled, not polling

fix up schema

fix Unifi discovery not returning an array

Add some debug when discovering a sensor.
Fix style.

Add missing semicolin

Add a null object (Generic) for OS.
Fill out some phpdocs

Re-organized code
Each sensor type now has it's own discovery and polling interface
Custom polling tested with Unifi CCQ

Left to do:
Implement UI (Graphs and Custom thresholds)
Alerting
Testing

Fix event message text

Remove runDiscovery and runPolling from OS, they are unused and don't belong there.

Cleanups/docs

Missed this file.

Remove the requirement to fetch the current value to check validity.
Do that automatically if current is not specified
A few cleanups here and there

First pass at graphing.
device_ and wireless_ graphs added.

Add RouterOS support

Singleton OS instance isn't required right now.
Remove that to allow some memory to be freed.

Add wireless to the device list metrics.
Make all metrics clickable

Tweak graphs a bit

Implement limit configuration page.
Use sensors page as common code instead of duplicating.
Clean up some javascript interactions:  Allow enter on values to save. Cancel if update is not needed. Enable the clear custom button after setting a custom value.
Add some wireless alert rules to the library.

Add documentation.

Add unifi client counts by ssid in addition to radio.
Optimize Sensor polling a bit.

Add HP MSM clients support (for full controller)
Fix function accessibility

Formalize the discovery and poller interfaces.

Add Xirrus clients and noise floor
move module interfaces to a more appropriate place.
push caching code up to os, unsure about this do to the limitations

No point in selectively enabling wireless discovery.  We only discover if the device supports something.

Add RSSI, Power, and Rate.
Add these sensors for Ubnt Airos.
Clean up some copyrights.

Reduce the amount of files need to add new types.
Leave graph files for consistency and to allow customization.

Remove the old wifi clients graph completely.
ciscowlc should have improved counts (total and per-ssid)

Schema didn't get added.

Impelement the rest of the AirOS sensors
Reformat and re-organize the Airos.php class.

Add several UBNT AirFiber sensors

A few fixes add links to the section headers

Add HP MSM mibs.

* Schema file got dropped in rebase.

* Add wireless menu to view sensors across all devices.
Icons in the menu need help :/

* Add HeliOS, Mimosa, and Siklu support
Sensors added SNR + Noise

* Add power and utilization to Unifi

* Update polling to prefetch all sensor data in a few snmp requests as possible

* Add Extendair: tx+rx power, aggregate rate, frequency

* Add a check for duplicate sensors in discovery.  Just print an error for now.

* Add Bit Error Ratio (named error-ratio to allow for bit error rate to be added if needed)
Fix an incorrect link in the wireless sensors table

* Add error rate and change all bps and Hz to use si units

* Fixes to limits and frequency display

* Fix overview graph frequency display
A few decimal place tweaks

* Don't allow switching sensor and wireless-sensor graphs, it doesn't work.
Change individual distance graphs to use si units

* Go through the OS and make sure I got all the sensors I can (probably missed some still)
Because pollWirelessChannelAsFrequency() is generic and a little complex, so pull it up to OS.
Message to help developers adding supports that don't return an array from discover functions.

* Fix some issues

* Remove noise and signal for now at least
A couple more fixes
Add a notification

* Oopsie

* Bonus AirFiber sensors
2017-05-01 23:49:11 -05: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