* Refactor FDB Tables to Laravel
Hopefully much better performance with large tables.
Better dns resolution (limit to 4 IPs tried per MAC)
* update style
* de-duplicate IPs
* fixed column width for mac and vlan
* Make DNS column visibility control whether or not we send the dns query.
Hide that column by default.
* Eventlog updates
remove host from eventlog table, retain in api
allow most fields nullable
* updated schema
* revert auth for legacy log_event function
safer check in the model
* add function modifiers
Use Log facility when Laravel is booted.
Update init.php so we can easily boot Laravel for CLI scripts. (and just Eloquent, but that may go away)
Move all debug setup into set_debug() function and use that across all scripts.
Log Laravel database queries.
Send debug output to librenms log file when enabling debug in the webui.
Allow for colorized Log CLI output. (currently will leave % tags in log file output)
** Needs testing and perhaps tweaking still.
DO NOT DELETE THIS TEXT
#### Please note
> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.
- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)
#### Testers
If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
* Copyright correction, no_refresh for plugin page, and typo for parameter array
* Copyright correction, no_refresh for plugin page, and typo for parameter array
* Added new plugin menu_option in the "port" page, which contain hook calling public function port_container($device, $port) in plugins
* Cleaning after pre-commit error
* New method in Plugins.php to allow counting all plugins implementing a specific hook. This allow conditionnal display of the plugin menu_option in the port view.
* Typo after rebase
* Update plugins.inc.php
* Updating the documentation with device_overview_container and port_container hooks.
* Poe Polling Code, Poe Graphs, and Huawei MIB
* Reverting the reindent done after pre-commit script
* Cleaning of code not used for Cisco IOS, removal of untested Procurve code, and restore of legacy generic code (tested with Cisco+huawei)
* Rename MIB file
* Rearranged duplicated code
* Cleaning of variable not used
* Cleaning of commented code after night validation in test environnement
* Cleaning after pre-commit.php comments
* test data with PoE oids for huawei 5720
* test data with PoE oids for cisco 2960X
* * Health/sensor view for specific device/ports/port
* Removed code that didn't comply with standard
* added extra check html/pages/device/port/sensors.inc.php
* Update sensors.inc.php
* 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
* 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
* 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
Implements the CISCO-CLASS-BASED-QOS-MIB to retrieve QOS counters from Cisco devices.
Policy and Class-map details are collected and stored in the database.
Details are presented on a new "CBQoS" tab of the interface that the policy is applied to.
Includes a policy selector that allows you to select which policy-map to show graphs for.
Each class-map has its own rrd file, in which 3 metrics are stored: Bytes, QoS Drops, Buffer Drops.
This can produce a LOT of rrd files.
As an example:
A Cisco 4500 series switch, running MQC on 200 ports. Each port has a common 5 class queueing policy applied, this creates 1000 (5 x 200) RRD's.
Because of this I have currently set:
```
$config['discovery_modules']['cisco-cbqos'] = 0;
```
Includes function snmpwalk_array_num, which performs a numeric SNMPWalk and returns an array containing $count indexes
One Index:
From: 1.3.6.1.4.1.9.9.166.1.15.1.1.27.18.655360 = 0
To: $array['1.3.6.1.4.1.9.9.166.1.15.1.1.27.18']['655360'] = 0
Two Indexes:
From: 1.3.6.1.4.1.9.9.166.1.15.1.1.27.18.655360 = 0
To: $array['1.3.6.1.4.1.9.9.166.1.15.1.1.27']['18']['655360'] = 0
And so on...