2614 Commits

Author SHA1 Message Date
ea646bae2c Trailing slash in multi_data graphs removed (#7673) 2017-11-08 14:32:46 +00:00
4dd56bc72e refactor: Wifi cleanup (#7607)
* refactor: remove duplicated data collection in old wifi module
Still a bit more work before we can fully remove it

* remove unused graphs
update overview graphs for some wireless os
2017-11-02 21:07:58 +00:00
ea477e1b28 Add support for a wider range of link speeds when mapping links. (#7533)
Use a formula to work out link speed on network map, rather than using defined speeds.
2017-11-01 23:14:03 -05:00
f00e896e93 webui: Added toner support in health metrics list (#7595) 2017-10-31 20:31:56 +00:00
03820d3bd8 Fix: availability-map showed ping devices as warning. (#7592) 2017-10-31 08:15:23 -05:00
9d73cd401a feature: LDAP auth update: alerts, api, remember me (#7335)
* feature: LDAP auth update: alerts, api, remember me
Defer ldap connection until it is needed (saves connections from pollers)
Add ability to use a bind account if the server does not allow anonymous bind.
If the server does allow anonymous bind, no config change is needed.
Use Config class

FYI, I have no way to test this.

TODO: update/validate docs

* prevent duplicate users in get_userlist()

* fix bug in Config get for auth_ldap_uid_attribute, `.` should have been `,`
Change case of uidNumber to match common configs (should be case insensitive anyway)

* revert uidnumber case changes and fix up user supplied ones as it is unintuitive that they need to be lowercase.
Add auth_ldap_binddn setting to allow more a more specific way to enter the bind user.
2017-10-30 19:28:40 +00:00
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
bc3d1ed47e feature: Improve Freeswitch agent: add ability to get data via snmp and graph more data (#7549)
* Add ability to get Freeswitch application data via snmp

On your Freeswitch server install the script from
https://github.com/librenms/librenms-agent/blob/master/agent-local/freeswitch
into /etc/snmp, make it executable and adjust it to your installation.
Configure your snmpd to use the sript as an extension. For example on Debian
add the following line to your /etc/snmp/snmpd.conf:

extend freeswitch /etc/snmp/freeswitch

Activate the Freeswitch application for your server on your LibreNMS server.
it should now start to receive data from your Freeswitch server via snmp.

* Graph "Calls" and "Channels" of Freeswitch agent

The Freeswitch agent sends Calls and Channels count and they weren't graphed
up to now.  This is especially useful in settings where the Freeswitch
server does not act as a Gateway and thus the agent does not sent
Incoming and Outgoing Call numbers.

* Cleanup commented code and add myself to authors
2017-10-26 11:27:11 +01:00
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
e751206f74 newdevice: Added more detection for IgniteNet FusionSwitch (#7384)
* newdevice: Added more detection for IgniteNet FusionSwitch

* fixed current graphs descr

* small updates

* small updates recommended by murrant
2017-10-25 08:10:02 -05:00
ab1658e90a webui: Show only authorized services in availability map (#7498)
* Show only authorized services in availability map

Up until now, normal users could see all configured services in availability map. This PR checks for permissions first, before displaying the items. I haven't looked at the dashboard widget yet, maybe it needs similar changes.

* Update to use userlevel helper function
2017-10-19 07:49:07 +01:00
89ff05ebea newdevice: Added firewall graphs for Palo Alto Networks firewall (#7483)
* Features: Add firewall graphs for Palo Alto Networks firewall

* Features: Add firewall graphs for Palo Alto Networks firewall

* Update db_schema.yaml
2017-10-17 12:42:13 +01:00
96ccc49026 security: Escape sql credentials during install (#7494) 2017-10-17 11:49:56 +01:00
62867a6661 webui: Allow user to display ok/warning/critical alerts only (#7484)
* Allow user to display ok/warning/critical alerts only

* Update alerts.inc.php

* Update alerts.inc.php
2017-10-15 19:50:55 +01:00
348f5012b1 api: Added sysname as filtering group for oxidized (#7485)
* Add sysname as filtering group for oxidized

* Updated Oxidized docs with new filtering option
2017-10-15 19:37:20 +01:00
a9ab96e83f feature: Improve Device Neighbour WebUI (#7487) 2017-10-15 09:26:01 -05:00
82fb20cc19 feature: Configurable 95th percentile (#7442)
See issue #7406 for detail.
2017-10-11 13:21:11 +01:00
503500f978 feature: AD now supports nested groups (resubmit #7175) (#7259)
* feature: AD support nested groups (resubmit #7175)
Don't let groups with periods in the name cause issues.

* Merge #7245 into this PR

* Capture Exceptions in get_userlevel()

* Throw generic error if auth_ad_debug is not enabled to prevent information leak.
2017-10-04 21:31:17 +01:00
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
98e509c27c webui: Updated alert rule collection to be table (#7371) 2017-09-29 21:12:22 +01:00
30318b7427 webui: Show how long a device has been down if it is down (#7336) 2017-09-29 21:05:51 +01:00
0376f92cc3 webui: Added device description to overview page (#7328) 2017-09-13 19:46:16 -05:00
9f553af71e newdevice: Added DHCP Leases Graph for Mikrotik (#7333) 2017-09-13 19:49:41 +01:00
f97b0b87a3 refactor: Updated ldap auth to allow configurable uidnumber field (#7302) 2017-09-08 12:04:59 -05:00
20aa23508f api: Added simple OSPF API route 2017-09-07 20:04:36 +01:00
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
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
4683736fcf fix: Reverted previous active directory changes #7254 (#7257) 2017-08-29 19:53:05 +01:00
51da2ba3af docs: Fixed API-Docs Link in webui (#7242)
* New event log severity model

* Revert "New event log severity model"

This reverts commit 0783527af8ca492a562cc9a60e3887c24599000d.

* Fix API-Docs Link
2017-08-29 19:41:20 +01:00
96cc9bfaa0 feature: Improve install process (#7223)
Fix incorrectly updating session with build-ok before start of schema update
Set a timeout for progress on the schema build 40s (lock wait time is 30s, so must be more than that).  Allow the user to restart the process if this timeout is reached.
Animate the progress bar while waiting for the schema update. Stop animation on failure or success.
Properly destroy the session after install.  This allows the user to restart if they need to without any tricks.
Move next step buttons to the right.
2017-08-26 19:35:13 +01:00
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
0a5b20c452 feature: Active Directory user in nested groups (#7175)
* Active Directory user in nested groups

* Active Directory user in nested groups

* Active Directory user in nested groups

* Use Config in new function
2017-08-25 00:24:43 -05:00
c8f695d387 webui: Updated pi-hole graphs for better grouping (#7179) 2017-08-18 07:56:50 +01:00
fe408a1f7c webui: Removed ability to use OR for generating rules (#7150) 2017-08-13 18:44:53 +01:00
c5acb65b2f fix: Escape sensor_descr_fixed in dBm sensors graph (#7146)
* Escape sensor_descr_fixed so that graphs with ':' in sensor_descr can be rendered

* Remove superfluous calls to substr and str_pad
2017-08-12 21:05:21 +01:00
34d0fc3199 refactor: Ability to edit default alert template (#7121)
* newfeature: ability to edit default alert template

* Fix style errors

* Added missing db query

* Removed unnecessary code, and added faq section

* Minor documentation about default alert template. And put back wrongly removed lines

* Fixing the silly old mistakes... again
2017-08-12 20:21:13 +01:00
a44dc7bd28 fix bugs introduced to address-search (#7138) 2017-08-10 09:07:39 -05:00
ece0488d96 fix: missed call to removed is_ip function (#7132) 2017-08-08 16:23:03 -05:00
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
2e2e046a81 Remove blank line at the end of the file. 2017-08-02 08:32:43 -04:00
4acf4eafd7 Added get_group_list() to ldap-authorization. The function was copied from ldap.inc.php 2017-08-01 16:16:52 -04:00
fc2041caaf api: Added api routes for eventlog, syslog, alertlog, authlog (#7071) 2017-07-27 19:56:38 +01:00
3ca39c810d webui: Facelift for alert templates, also added bootgrid (#7041)
* webui: facelift for alert templates, also converted the custom code to bootgrid

* Update alert_template.inc.php

removed var = action line, no longer needed.
2017-07-18 23:54:14 +01:00
8e85eebe32 fix: Don't lock the schema during install.php (#7051) 2017-07-18 20:07:21 +01:00
431d15aad9 fix: issues with http-auth when the guest user is created before the intended user (#7000) 2017-07-10 21:48:24 +01:00
61103938dc normalized file names fixing the webui (#6991) 2017-07-09 21:17:57 +01:00
50b3ffb3cf feature: add timeout to AD auth, default is 5s (#6967)
* feature: add timeout to AD auth, default is 5s
Can be configured by $config['auth_ad_timeout']

* only set timeout during bind operation
2017-07-07 23:05:40 -05:00
527a989b4c newdevice: Added wireless sensors for SAF Tehnika (#6975)
Add new sensor type MSE (Mean Squared Error) which is similar to SNR
2017-07-07 16:05:55 +01:00
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
2ba7093d9c api: Added ability to call get_graph_by_port_hostname() with hostname or id (#6936)
* Fix bug get_graph_by_port_hostname() only hostname

From the documentation:

Function: get_graph_by_port_hostname top
Get a graph of a port for a particular device.

hostname can be either the device hostname or id

But the function is only works with a hostname and not with a ID.
I have modified a few things that solve the problem.

* Update api_functions.inc.php
2017-07-04 22:41:22 +01:00