Commit Graph

209 Commits

Author SHA1 Message Date
Ryan Medlyn
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
Tony Murray
a44dc7bd28 fix bugs introduced to address-search (#7138) 2017-08-10 09:07:39 -05: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
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
b56c6b6adf fix: fdb tables multiple IPs and IPs from other devices adding extra rows (#6930)
Fix missing IPs because the ARP entries are on different port_id
Update arp discovery to use snmpwalk_group() additional fix in that function
Fix removal of arp entries
Fix a debug output type in fdb discovery
2017-07-04 22:27:43 +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
Neil Lathwood
528a14995a webui: Updated link to peeringdb to use asn (#6625) 2017-05-10 18:41:10 -05: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
Tony Murray
02d9b36720 fix: alert flags on wireless sensors table (#6556)
* fix: alert flags on wireless sensors table
Also check the low limit.

* Set null when the value is updated to a non-numeric or empty value.
2017-05-03 22:46:05 +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
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
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
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
Neil Lathwood
04beee6e22 webui: Do not show disabled devices in alerts list as they stale #6213 (#6263) 2017-03-24 17:06:09 -05: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
Neil Lathwood
73a9092c82 fix: Display username in eventlog + allow for searching #6200 (#6205) 2017-03-16 09:20:28 -05:00
Neil Lathwood
fe130ea278 fix: Fix the displaying of alert info for historical alerts #6092 (#6107) 2017-03-11 23:21:30 +00: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
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
268d291c26 webui: Only show sysName once if force_ip_to_sysname is enabled #5600 (#5656)
* webui: Only show sysName once if force_ip_to_sysname is enabled #5600

* now also display IP (again) if sysName is used
2017-02-01 20:15:28 +00:00
Richard Mayhew
6a1fd3ec05 webui: Additional Font Awesome icons (#5572) 2017-01-25 17:42:26 +00:00
Tony Murray
da2c6c5d3c feature: support large vendor logos (#5573)
These are often wider than icons, with a fallback to icons if the logo is not present
Logos are stored in /html/images/logos
SVG is preferred for HiDPI
2017-01-24 22:16:01 +00:00
FTBZ
a0f5fe4f37 feature: Added basic recurring maintenance for alerts #4480 2017-01-22 18:00:15 +00:00
Richard Mayhew
47397d0083 webui: Updated icons to use Font Awesome (#5468) 2017-01-21 11:24:05 +00:00
Søren Rosiak
f2d6eff8e9 webui: Fix Ports Table AdminDown Search (#5426) 2017-01-14 11:02:22 -06: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
Søren Rosiak
cdef7885aa webui: Small Best Practice Fixes 2017-01-02 00:03:23 +00:00
Neil Lathwood
9b9c10e204 fix: Cleanup printing ifAlias (#4874) 2016-12-12 14:25:48 +00:00
Tony Murray
6708c7cb81 fix: eventlog type variable collision (#5046) 2016-11-22 14:27:16 +00:00
Tony Murray
a83e126b40 refactor: Remove inappropriate usages of truncate() (#5028)
Where truncate() is used as substr(), replace with substr()
2016-11-20 11:12:25 +00:00
Neil Lathwood
8376d08c07 fix: Updated syslog table to use display() for msg output (#4859) 2016-11-01 18:05:24 +00:00
crcro
5569884f7f webui: Updated devices view (#4700) 2016-10-16 15:58:48 +01:00
Bennett Blodinger
309beadf10 fix $glyph_ 2016-09-22 13:43:03 -04:00
Bennett Blodinger
07574b27d8 Move to Font Awesome
Keeps the look more in line with the navigation bar icons.
In the future with Bootstrap 4, Glyphicons will not be included, so this
starts the transistions away.
2016-09-22 10:44:17 -04:00
Tony Murray
299f4d91d3 feature: Add last changed, connected, and mtu to all ports data
Thanks to sysvival on reddit for the idea and help with the calculations
2016-09-21 13:19:52 -05:00
Neil Lathwood
bad5ff2eeb Fix quota bills showing 0/0 for in/out (#4462) 2016-09-20 10:23:15 -05:00
Tony Murray
c48b71d0af Remove external uses of GenGroupSQL() 2016-09-18 19:08:33 -05:00
David Bell
5115533c73 Scale up rate by a factor of 8 to go from bytes to bits (#4469) 2016-09-16 18:16:55 -05:00
Neil Lathwood
e8b5c7fe66 fix: Added support for Graylog 2.1 API change (#4411) 2016-09-13 22:23:52 -05:00
Tony Murray
2529109fc4 fix: ports page includes disabled, ignored, and deleted ports (#4419) 2016-09-13 20:33:07 -05:00
Tony Murray
195a8ee349 Small cleanups (#4405)
* Small cleanups

* Small cleanups
2016-09-11 22:11:16 -05:00
Tony Murray
d1ae83a378 webui: Paginate the all ports pages (#4401)
* feature: Paginate the all ports pages
fixes: #2705

* Stopped ports not belonging to any devices from showing up

* phpcs fix
2016-09-11 16:23:16 +01:00
Neil Lathwood
4001f8c60a webui: Updated bootgrid + added syslog colouring based on priority (#4287)
* Updated bootgrid + added syslog colouring based on priority

* Updated functions and removed uneeded file
2016-09-06 07:39:53 -05:00
Aaron Daniels
705a73bda2 webui: Added Pagination and server side search via Ajax to NTP (#4330)
webui: Added Pagination and server side search via Ajax to NTP (#4330)
2016-09-04 16:32:03 +01:00
Tony Murray
b8e9b2d917 Implement an autoloader (#4140)
* Implement an autoloader

When cleaning up classes for psr2, things got a bit unwieldy, so I implemented a class autoloader.
I created a PSR-0 compliant LibreNMS directory and moved all classes there that made sense.
Implemented LibreNMS\ClassLoader which supports adding manual class mappings

This reduces the file includes needed and only loads classes when needed.

* Add teh autoloader to graph.php

* Add a small bit of docs
Fix incomplete class in includes/discovery/functions.inc.php
2016-08-21 14:07:14 +01:00