Commit Graph

424 Commits

Author SHA1 Message Date
Neil Lathwood
edae33507a feature: Added script to generate config for new OS (#7161)
* feature: Added script to generate config for new OS

* scrut fixes
2017-09-04 21:38:09 +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
Tony Murray
5f8729b1a0 refactor: update the default config generated by install.php (#6914) 2017-06-29 07:09:22 +01:00
rzig
1ba6381d61 security: Enable support for secure cookies (#6868)
* Enable secure cookies for authentication

Enables secure cookies for authentication when HTTPS is used.

* Add line with example secure session cookies

* Fix comment line that's too long

* Remove session secure cookie config

* Added secure cookie config to init.php

Commented out because having this enabled will prevent the server from sending cookies over HTTPS.

* Enable secure cookies if config value provided

* Make code formatting consistent

* Remove secure cookie config

* Use $config['secure_cookies'] to set cookies

* Add default option to turn secure cookies on

* Fix formatting issues

* Set secure cookies to default to false

* Add info about secure cookies

* Fix formatting

* Remove trailing whitespace

* move secure cookie default config to defaults.inc.php

* Remove trailing whitespace

* Fix formatting

* Remove empty line by rrd config

* Remove whitespace
2017-06-26 14:21:21 +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
Olen
127c4b84bd feature: Added Irc ctcp support to IRCBot (#6766)
* Handle basic CTCP-support

* Add an option to toggle ctcp on and off in the config

* Fix whitespace-issue

* Fix null/NULL

* Updating docs, default config and fixing a few whitespace-issues

* Fixing the last whitespace-issues.  Now with "pre-commit.php" as a standard...
2017-06-05 22:45:18 +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
Tony Murray
b6e18db766 fix: page/graph load speed: part 1 (#6611)
* fix: page/graph load speed: part 1
Speed up load_all_os() by caching the full $config['os'] array
Function time goes from 1.13648s -> 0.00073s
The cache is updated during discovery, but only if it is >22hrs old.
Additionally, the cache is not used and a full yaml load is forced if the cache is >24hrs old.
The cache time is controlled by $config['os_def_cache_time'], I don't see any reason anyone would change that time.

* Delete Session.php

* Include the cache directory.
2017-05-10 08:57:10 +01:00
Neil Lathwood
6734e84382 feature: Added ability to whitelist ifDescr values from being ignored with good_if (#6584)
* feature: Added ability to whitelist ifDescr values from being ignored with good_if

* added ras to enterasys yaml
2017-05-05 15:18:33 -05: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
Tony Murray
e521b39a7d refactor: move rfc1628_compat into os yaml (#6424) 2017-04-17 21:57:27 +01:00
Xavier Beaudouin
0997ebaa10 Fix #6187 with some missing definitions. (#6403)
* Fix the definition. Should be mef instead of mef-evc

* Added Coriant TNMS Hardware page.

* Polling and discovery modules for TNMS Network Equipements.

* SQL in one line.

* Only show when OS is coriant

* Fix conflict file

* Conflict file

* Added missing COLLATE

* Refactor poller code for more data to be inserted into DB in the future.
Removed the discovery module and merged it into poller code.

* Removed tnms-nbi discovery also in the yaml

* Removing debug

* Code updates and fixes + schema rename

* bootstrapify the code.
Renamed the sql file

* Bloody tabs !

* Fix missing information for the TNMS #6187
2017-04-12 13:26:12 -05:00
Tony Murray
b1a414e785 feature: support non-standard unix socket (#5724)
* Add support for custom MySQL unix-socket

* NULL must be lowercase!

* Naive edit of html/install.php

* fixup

* Refactor dbConnect
Use it everywhere

* $config needs to be global
Don't need to set $database_link

* small cleanups
2017-04-06 22:02:37 +01:00
Neil Lathwood
90be6d1f68 feature: Added cisco-vpdn to poller modules (#6300) 2017-03-30 22:13:36 +01:00
Falk Stern
affe5090f4 feature: Send collected data to graphite server (#6201)
* Initial support for graphite

* Enable graphite include

* fixed typos.

* Fixed port naming to graphite metric names

* Added documentation for Graphite

* added documentation for graphite

* fixed style

* replace / with _ in interface names for graphite

* sets default graphite port

* adds rrd-name tags to the metric, otherwise metrics get lost

* add suggested storage schema for graphite

* add whitespace

* Updated to show some output

* bad english
2017-03-22 10:35:44 -05:00
Tony Murray
e7057ecea5 feature: Application auto discovery (#6143) 2017-03-22 14:59:39 +00:00
VVelox
0a4b2658b5 feature: Added SMART application support (#6181) 2017-03-22 14:28:50 +00:00
VVelox
bbbb70e2f9 newdevice: ignore FreeBSD Linux compat procfs and sysfs mounts (#6220)
* ignore FreeBSD Linux compat procfs stuff

* Add sysfs mounts
2017-03-22 00:58:03 -05:00
Xavier Beaudouin
fa29839d36 newdevice: Added Coriant support (#6026)
* Added Coriant TNMS MIB and MEF (Metro Ethernet Forum) MIB

* Coriant Logo

* Added Basic Librenms Support and MEF support

* Forgot snmpsim

* Better like this

* Spaces !

* Renamed sql file

* Space

* Fix spaces

* svgo optimized logo

* Removed modules that are by default to 0

* Added sysDescr as requested

* Fix conflict file

* Setting right severity id in the discovery log_event()

* Since MEF-EVC can be used on other devices than Coriant's one, lets this be used by the poller/discovery itself

* Fixed spaces

* Rename 173.sql to 174.sql

* Moved logo from os/  to logos/
Addd Icon

* Fix name

* minimize file

* Change l/w to viewbox and minify

* Renamed mef-evc to mef on request from @laf

* Rename 174.sql to 175.sql
2017-03-11 07:30:31 -06:00
Neil Lathwood
dde32667f0 removed default values for rrd step + heartbeat, rely on db (#5997) 2017-02-24 18:40:16 +00:00
Neil Lathwood
fad5aca1b7 feature: Allow customisation of rrd step/heartbeat when creating new rrd files (#5947)
* feature: Allow customisation of rrd step/heartbeat when creating new rrd files

* revert defaults

* added docs + webui config option

* Move RrdDefinition to an Object to make them easier to create and remove the possibility of typos.

* Fix style/lint issues and missing use statements

* 3 more missing use statements

* updated doc + moved schema file
2017-02-23 22:45:50 +00:00
Neil Lathwood
0b3451bd27 refactor: Updated some default disco/poller modules to be disabled/enabled (#5564) 2017-01-27 23:31:03 +00:00
David Bell
5dd030f438 refactor: Added config option for database port (#5517) 2017-01-27 23:16:04 +00:00
Richard Mayhew
998750ddd9 WebUI: Allows one to view a map of the SNMP location set for a device (#5495) 2017-01-24 09:53:25 +00:00
Aaron Daniels
de45d8d6b4 newdevice: Added loadbalancer information from F5 LTM (#5205) 2017-01-19 08:19:11 +00:00
Neil Lathwood
da5783d917 feature: Add mysql failed query logging + fixed queries that break ONLY_FULL_GROUP_BY (#5327)
* feature: Add mysql failed query logging + fixed queries that break ONLY_FULL_GROUP_BY

* fix all schema errors and update system
2017-01-07 11:32:38 -06:00
Neil Lathwood
f5ce3c509a Revert "Trust PHP session and remove remember me cookie" (#5252) 2016-12-27 20:37:03 +00:00
Eldon Koyle
3b198243d5 refactor: Trust PHP session and remove remember me cookie (#4608) 2016-12-26 23:11:00 +00:00
barryodonovan
4898617ef5 newdevice: removed all references to 'multimatics' and instead added generex OS 2016-12-21 08:01:01 +00:00
Søren Rosiak
17f5cfef90 Revert "F5 LTM" (#5199) 2016-12-20 09:30:49 +00:00
Aaron Daniels
efa0747564 newdevice: Added additional support for F5 BigIP LTM objects 2016-12-19 19:50:44 +00:00
Neil Lathwood
8cc66ece9b refactor: update some devices to disable poller/disco modules by default (#5010) 2016-12-12 14:26:06 +00:00
Neil Lathwood
7bb329661f Set allow_duplicate_sysName to be false by default (#5027) 2016-11-27 22:03:01 +00:00
Tony Murray
9a33464c52 refactor: Centralize includes and initialization (#4991) 2016-11-21 20:12:59 +00:00
laf
6006720b7f Re-added one default 2016-10-20 22:19:07 +00:00
laf
46d2f578e7 added central function and updated 2016-10-18 03:06:03 +00:00
NetworkNub
2aae3e6dff add xdp exclude device filters 2016-10-17 00:38:47 -04:00
Eldon Koyle
5749179cf5 feature: Add the ability to include an LDAP filter for users/groups in AD (#4494)
* Add auth_ad_(group|user)_filter options

* use global

* Fix some AD annoyances

Use the power of the LDAP filter to minimize the number of queries and
hopefully help performance in get_userlist, change semantics of
auth_ad_(user|group)_filter in $config to be anded with
samaccountname=USERNAME.

* remove unused variable

* update documentation

* Update Authentication.md
2016-09-21 14:42:59 -05:00
Tony Murray
ce95ceaa2b refactor: set mysqli as the default + cleanup (#4430)
* refactor: set mysqli as the default
dbFacile.mysqli cleanup
Init $db_stats array
number_format() returns string
remove unreachable statement, commented code, and unused global

* Fix style issues
2016-09-14 09:05:32 +01:00
Neil Lathwood
7dec670494 refactor: Updated a lot of references to LibreNMS - copyright still left intact (#4339) 2016-09-08 08:12:23 -05:00
David Bell
f00c383d60 fix: Stop irc bot crashing on .reload #4353
* Removed duplicate include

* Move set_debug into functions.php, and restore the (re)loading of includes/defaults

* Move debug call until after function has been included
2016-09-07 18:42:49 +01:00
Tony Murray
9284bc60ff Update code in includes to be PSR-2 compliant (#4220)
refactor: Update code in /includes to be psr2 compliant #4220
2016-08-28 18:32:58 +01:00
Tony Murray
15b0cd68ea Move libraries in /includes to /lib (#4217) 2016-08-26 14:04:21 +01:00
Neil Lathwood
1055003d3f Remove requirement for ['enable_printers'] (#4192) 2016-08-24 12:42:06 -05:00
Tony Murray
7b93b564da Centralize class loader (#4169)
Move the classloader to as early as possible in defaults.inc.php
This should cover all application entrances.
Set install_dir based on the location of defaults.inc.php
2016-08-22 23:59:59 +01:00
Tony Murray
e920e28e48 Change the default error_reporting level to include all fatal errors (#4165)
* Change the default error_reporting level
This will hopefully save confusion when there are things like syntax errors and missing required files.

* Add E_PARSE error as well.
This is a fatal error too.
2016-08-22 23:55:21 +01:00
Aaron Daniels
4c060a430a - Made module generic, not cisco specific. 2016-08-12 17:21:55 +10:00