Commit Graph

345 Commits

Author SHA1 Message Date
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
41882dfd8b fix: perf_times cleanup (#6908)
* fix: perf_times cleanup

* Truncate perf_times to save some headaches
2017-06-28 21:43:19 +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
Neil Lathwood
f72e2ce4b1 fix: Updated sysObjectId column in devices table to varchar(128) (#6832)
* fix: Updated sysObjectId column in devices table to varchar(128)

* correct db_schema
2017-06-13 18:37:21 -05:00
network-guy
dc498be4f0 newdevice: Added Current Connections Graph for Cisco WSA (#6734)
* Added current connections graph for AsyncOS devices

* Fixed issues with AsyncOS connections polling and add name to AUTHORS file

* Update 194.sql
2017-06-02 20:58:02 +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
Neil Lathwood
895801d855 newdevice: Added more health information for APC units (#6619)
* fix: Fixed apc state support emsOutput

* newdevice: Added more health information for APC devices

* update schema file

* schema file renamed
2017-05-17 22:41:53 +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
Tony Murray
6f99cb6d69 tests: test each db schema file for proper format (#6580) 2017-05-04 21:14:14 +01:00
Tony Murray
422b2c8ae1 fix: issue with wireless sensors when there are too many oids (#6578)
fixes: 6560
2017-05-04 19:56:25 +01:00
Tim Stallard
6b2ae00e27 fix: Increased speed of loading syslog pages. (#6433)
* Increased speed of loading syslog pages.
I agree to the conditions of the Contributor Agreement contained in doc/General/Contributing.md.

* moved schema 186->189
2017-05-03 22:41:55 +01:00
Neil Lathwood
41e7689c77 refactor: DB Updates will now file level lock to stop duplicate updates (#6469)
* refactor: DB Updates will now file level lock to stop duplicate updates

* scrut fixes

* renamed function from clear_lock() to release_lock()
2017-05-03 14:48:23 +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
Neil Lathwood
d91a2ece13 fix: Updated cisco and juniper component macros to exclude disabled sensors (#6493) 2017-04-27 22:13:28 -05:00
Aldemir Akpinar
450c980cc1 Fix: Service filenames are snipped when longer than 16 characters (#6459)
* Do not show unintended debug messages

* Fix the silly mistake

* Change Cisco UCM category from tele to telephony

* Added telephony definitions

* Changed the category to collaboration as agreed

* Fix snipped service filenames

* rebased

* rebased + fixed schema
2017-04-19 11:52:13 +01:00
Tony Murray
72ce39cf9b refactor: schema updates (#6370)
Test the schema files with STRICT_TRANS_TABLES and fix any issues
2017-04-13 10:18:12 +01:00
Xavier Beaudouin
4b0972628f Coriant Network Hardware Page. (#6187)
* 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 !

* Add db_schema.yaml update.
2017-04-12 10:39:02 +01:00
Tony Murray
b1483e3d2e feature: Unit test to validate the db schema (#6367)
* Unit test to validate the db schema
Changes build-schema.php to just write misc/db_schema.yaml

* Only build base if needed
Fix 178.sql

* Database is always created by init.php
add dbSchema test too, should guard against testing against an empty database

* 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

* Connect to the database for every test.

* travis fix for blank line
2017-04-07 15:07:44 +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
Neil Lathwood
cf509f138b fix: Fixed the dbTest units so they work (#6293)
* fix: Fixed the dbTest units so they work

* fix schema, should now pass
2017-03-29 16:13:30 -05:00
Jari Schäfer
564c03ab3e fix sql (#6289) 2017-03-28 15:19:37 -05:00
Jari Schäfer
dc01b8b306 fix: add semicolons in build.sql schema file (#6284) 2017-03-28 16:15:17 +01:00
pblasquez
c2cdf14223 feature: Added syslog alert transport (#6246)
* Add syslog alert transport and docs

* Remove redundant priority variable

* Log syslog transport events as critical
2017-03-23 08:46:28 +00:00
Tony Murray
e7057ecea5 feature: Application auto discovery (#6143) 2017-03-22 14:59:39 +00:00
Neil Lathwood
5f5dc2a854 feature: Peeringdb integration to show the Exchanges and peers for your AS' (#6178) 2017-03-22 10:17:13 +00:00
Tony Murray
ff18078e6e fix: allow remember_token to be null (#6231) 2017-03-22 08:05:27 +00:00
Tony Murray
7e72d71dce Fix users table again (#6224)
You can only have one column with CURRENT_TIMESTAMP
2017-03-21 09:07:45 -05:00
towster
605b9d2092 feature: Send default mail when no email destinations found (#6165)
* when an email is attempted to be sent but there are no recipients send to default_mail address
2017-03-14 23:22:43 +00:00
Tony Murray
33ece13c5c Fix table collation for now, full fix later. (#6171) 2017-03-11 11:03:25 -06:00
Neil Lathwood
66d1006d91 feature: Added app_state support for applications #5068 (#6061)
* feature: Added app_state support for applications #5068

* moved schema file 173 -> 174

* Re-arrange code

* added device_id to dbUpdate call

* updated function + missing apps

* Rename 174.sql to 176.sql

* Remove $device, it is unneeded when updating.  Rename update_applications() -> update_application()

* Some apps can return simply 0
2017-03-11 08:39:32 -06: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
towster
7bb9d58a07 feature: Store the username in eventlog for any entries created through the Webui (#6032)
* Added identification of user who removed a device to eventlog entry

* Fixed spaces

* updated to store username for all eventlog where applicable

* moved sql file

* updated
2017-03-11 07:03:52 -06: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
Neil Lathwood
312f74d6d6 drop tables that should have been removed a while ago (#6035) 2017-03-01 10:22:44 +00:00
Neil Lathwood
55384ad1b0 fudge fix (#6033) 2017-02-27 21:07:50 +00:00
Neil Lathwood
24a5f6bd37 Db collation standardisation (#5932)
* initial work to standardise collation

* more updates

* final bits for collation update (famous last words)

* Rename 165.sql to 166.sql

* Update schema version inside 166.sql

* moved schema file 166->171
2017-02-27 18:28:01 +00:00
Tony Murray
0c2edcca6e Fix my typo :( (#6010)
* Add librenmsv2 users fields.

* Rename 168.sql to 169.sql

* Update 169.sql

* updated to unicode

* Fix my typo :(
2017-02-26 13:44:08 +00:00
Tony Murray
7b2926a659 Add v2 users fields. (#6000)
* Add librenmsv2 users fields.

* Rename 168.sql to 169.sql

* Update 169.sql

* updated to unicode
2017-02-25 12:10:15 +00:00
barryodonovan
0f663b3a82 feature: Add Smseagle transport support (#5989)
* added alert transport for SMSEagle hardware gateway (smseagle.eu)

* added newline

* schema file update + small code refactor

* added docs
2017-02-24 11:55:53 +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
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
3b1358b996 fix: Added message column to component_statuslog table #5431 (#5929) 2017-02-17 18:04:04 -06:00
Neil Lathwood
1e2ab73239 tidy up some more eventlog things (#5885)
* tidy up some more eventlog things

* update sql file
2017-02-14 12:06:01 +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
Neil Lathwood
492590bf38 changed ifLastChange to a bigint as we can hit the limits of a current signed int (#5835)
* changed ifLastChange to a bigint as we can hit the limits of a current signed int

* Rename 161.sql to 162.sql
2017-02-10 19:28:12 -06:00
sorano
fd7cf79c72 allow interface names > 64 chars (#5847)
As discussed on IRC, this will allow interface names up to 255 chars to prevent eventlog updates from rinse and repeat ad infinitum
2017-02-09 18:12:25 +00:00
Neil Lathwood
569d82b7bb Changed the default options allowed to accept blank values (#5818) 2017-02-07 22:10:41 -06:00
Neil Lathwood
200b762478 feature: Added phpunit db setup tests (#5594) 2017-02-07 15:08:52 +00:00