* Fix invalid json in test data
Most simply needed the syntax fixed
fail2ban needed updated data (added non-zero values in test data too)
awplus: ntp application cannot be enabled by tests since it doesn't use snmp extend... ntp app is enabled by ntp module... pass on that for now.
* missed awplus change somehow...
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.
- [ ] 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`
* Updates to snmptrap handling
fix a bug in findDeviceByIP. Add more tests for that.
Move handle outside of the Trap class, it doesn't fit.
Add developer docs.
* fix tests copy paste issue.
* Fix findByIp when port may not exist.
* Logging: Output context (and extra) if they exist
* Generic trap event logging and new config setting.
Fix for issue #8950
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`
* Fixed snmptraps.
* Fixed space
* Added bgp down/up and authentication failure
* Fixed typo
* Fixed some typos, arrays, astext and format_hostname
* Updated documentation
* Moved code to a function
* Some refactor
* Minor fixes
* Minor fixes 2
* More minor fixes
* Changes requested by Tony
* Minor fixes
* Moved include to snmptrap.php
* Refactor traps to use object oriented code.
Should trigger events too/instead, but we'll leave that.
Testing todo
* Add tests and fix things so they actually work
Not checking events yet.
* Fixed typo and severity level
* Update composer deps, I think the lock file wasn't right.
add json and mbstring extension deps while I'm at it.
* Fix several issues with phpunit fixtures
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.
- [ ] 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`
* Added Arris C3 to cmts.yaml
* Added Arris C3 hardware
* ARRIS CMTS->Move from cmts to arris_c4 yaml
* Fixed some Arris_c4 definitions
* Added Arris C3 CMTS
* Fixed some typos
* Arris C3 test files
* Arris C4 test files
* Deleted not anymore valid files
* Renamed from underscore
* Fixed some typos
* Correct test files
* Removed old snmprec files
* Correct test files v2
* Deleted more old files
* Return to cmts for valid_sensor() for Arris C4/C4c
* Re-done test files
* Re-do test files after rebase
* Fix Calix OS definitions
The main change is EXA (E7, etc) and B6 (Occam) devices are now their own OS
Now the follow OS exist:
exa: E7 EXA, E5-400, E5-48, E3-48, E3-8G
occamos: B6
Unchanged:
calix: E5-1**, E3-12C
axos: E7-2 AXOS, E9-2, E3-2, E5-520, E5-16F, E3-16F, E5-30x
* fix tests
exa_e7-2 seems like bogus data.
* additional tests, fix an error in the yaml
* Remove extra line return
* Add missed file
Added discovery for state of serverscheck flooding sensors.
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`
Hello all,
I guess this is the second version of a more fully fleshed out alert contact mapping feature. The old one was GH-8507
Transports to convert:
- [x] API
- [x] Cisco Spark
- [x] Elasticsearch
- [x] GitLab
- [x] Philips Hue
- [x] Jira
- [x] Mail
- [ ] ~~PagerDuty~~ - Requires a callback so leaving for now
- [x] Nagios
- [x] IRC
- [x] Discord
- [x] Rocket.chat
- [x] Hipchat
- [x] Pushover
- [x] Boxcar
- [x] Telegram
- [x] Pushbullet
- [x] VictorOps
- [x] OpsGenie
- [x] Clickatell
- [x] PlaySMS
- [x] Canopsis
- [x] osTicket
- [x] Microsoft Teams
- [x] SMSEagle
- [x] Syslog
- [x] Slack
The intention is for this feature to have three different levels to it:
1. Alert rule to an alert contact mapping (where the code is at now)
2. Alert rule to an alert group (made up of alert contacts) mapping
3. Alert contact mapping to different transport configurations.
There will be three transport configuration types.
1. Default (the configuration that is held in the configs table)
2. None (no transport configuration - will explain later)
3. Other (a configuration that will be defined in a different able)
Take Mail transport for example. It can either be of a "default" or "other" configuration. The hope is that in the future, users can send mail from different mail servers if they wish.
However, for ciscospark which requires a room ID and an api-token, I've decided that it has no transport configuration. Most likely, every alert contact will contain a different room-id and an api-token - which is why it has the transport config of "none".
For other transports : I am not familiar with them, so hopefully the community can add support for these. I can definitely help!
To add support for each transport will require several things:
- addition to the UI
- addition to forms/alert-contacts.inc.php
- modifications to its object class
Screenshots



I'm not sure if this is the best way to do things, so please let me know if there's a better way to structure the code! Any comments on code/db schema,/UI etc is welcome and encouraged!
The UI is heavily based on alert rules (front end is not my strong suit). And parts of the code are based on the code that was written for alert rules.
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`
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`
fix#8755
I have not added test data as it would require filterting quite some LLDP/IP's etc information.
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.
- [ ] 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`
* Initial start on new templating support
* further updates
* more updates
* More working version
* Last fixes
* Small updates
* modified test to look for dbname.
* Schema update
* Added fix for not being able to disable Philips Hue transport
* Updated sql file
* Updated db_schema
* Set myclabs/deep-copy to be 1.7.x version in composer
* Fixes from murrant
* Forced nikic/php-parser to version 3.1.x in composer
* Updated composer to use custom fork of string-blade-compiler + fixed transport use
* Updated to always use correct template
* Merged legacy and blade templating engines
* Removed template type + fixed test-alert.php
* Added more template placeholders
* Added ability to reference data in templates as $alert->X
* Updated docs for templates
* Updated db_schema.yaml
* Added $alert->builder
* Clarify the use of $alert->builder
* Fixed the use of $alert->transport
* renamed schema file
* Added template validation
* Small update to fix travis issue
* Add Docs text to title bar
* Updated amqp to new of version
* Consistency in alert rule and template title bars
- Added port discovery for cmm3 (not available for cmm4, not that i could find)
- Added discovery for cmm4
- Added Power port cmm4
- Removed Processor bug by disabling processor on device.
I am unable to test CMM4 and may need someone to do so or review for possible errors.
Fixes Issues #8732, #8731
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`
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`
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`
fix#8781
* device: Initial support for Allied Telesis Wireless devices
This commit provides basic info for Allied Telesis TQ Access Points
* device: allied wireless initial test data
* device: allied wireless
Fix up mibs.
-- Moved ATKK-WLAN-ACCESS to awplus mibs folder
--- ATKK-WLAN-ACCESS mib relies on AT-SMI-MIB
-- Changed Allied-wireless to look at awplus mibs folder instead of allied
--- As above due to newer AT-SMI-MIB file
- Performed new snmprec with walk on enterprise OID
-- For some reason the enterprise and wireless specific tables are not
walked by a default snmpwalk.
* add snmpwalk for analysis
* Attempt at wireless polling
* Delete allied-wireless-snmpwalk.txt
* device: fix basic allied wireless
* Update allied-wireless.json
* Simplify Allied Wireless test data
* fix allied-wireless definition
* device: allied-wireless renamed to allied-tq
* Update allied-tq.yaml
* corrected display of minigraph when using sysName as hostname
* Check to see if its an IP or hostname. Make sure all 3 scenarios work.
* removed test rrd symlink
* removed test rrd symlink
* reverted old change
* Improve and add tests.
Currently has a file handle leak (and will eventually run out of handles) related to the self update process.
Either need to fix that or rip out self-update and leave that up to cron or something.
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`
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`
Current implementation for Force10 series doesn't support the switch-blade M-Series model. This PR adds support for mempools and temperature. In my test environment (still 1.31) I have processors utilization support as well, but I have to test that in the new way processors are handled since 1.37
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`
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`
- Added initial detection for EfficientIP SOLIDserver
Changed some values to be explicitly boolean
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`
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`
This was previously a pull request that was closed#8721
Not sure why it was closed or if it was abandoned since the branch they had was deleted, but I just put everything back together along with some test data. Kudos to @centralscrutiniser for the code in the original request.
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`
* Add vrf for non mpls cisco devices, add mib and test data
* Fix custom_where in vrf module
* Better VRF module test data collection
* Update ios_6500.json
* don't include ifVrf in ports
* update all ports add dependencies to pre-commit.php
* new json files
* add json_app_get function
* add numeric testing and version support
* now use json_app_get
* remove some unneeded code
* update the docs for json_app_get some more
* make the format checker happy
* add in min version support and now take extend name instead of the partial OID
* hmm... don't make min version optional
* add Exception usage for this all make min version actually work
* minor formatting cleanup
* minor style cleanup
* update json_app_get with $throw_me setting
* Use exceptions to fully handle errors.
Always update the application. Include error message for use in UI.
Move data to data key for easier parsing.
Add test data
* make a few changes to the lovely changes from @murrant
* style cleanup
* now attempt parsing it the old way if a error of -5 is returned
* add new exceptions and rework them all
* add new exceptions and min version 0 no longer bypasses the key checks
* redo the error codes a bit and improve the comment about it all
* fix a a bit of formatting
* added JsonAppException and make the other JsonApp stuff a sub of it
* note JsonAppException
* fix class creation
* JsonAppBlank now extends JsonApp
* doh! add <?php
* update the poller to properly use the new exceptions
* no longer check for error twice and make sure the data key is present
* cleanup processing of legacy scripts
* tweak this a bit
* white space fix
* fix the tests for fail2ban
Add test data
There were also some sensor name collisions and an incorrect divisor.
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`
* Adding VRP support for FDB table using HUAWEI-L2MAM-MIB
* Test data + review corrections
* Test data correction
* Remove double text
* PHP EOL at the right spot
* Rename vrp_5720.fdb.snmprec to vrp_5720.snmprec
* Update vrp_5720.snmprec
* Create vrp_5720.json
* Update vrp_5720.json
* Update vrp_5720.json
* Fix fdb query, test data, and mibs
* Add fdb-table module to tests
Also add the capability to select fields on joins, makes it easier to have consistent data without extra storage.
* add ticks for safety
* support multiple fields, but not aliasing
* more ticks
* Fix up selects
* Add Vrf Support too
* Fix application select
* 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
* Blue Coat device updates
* Blue Coat device updates
* Updated PHP code per @laf comments
* YAML update for Packetshaper
* SSL Visibility YAML and snmprec file
* Cleanup problematic MIB files which should not have been there
* Reset Packetshaper YAML to original
* Added json test data
* fix OIDs for temperature sensor and add test data
* Add current values to discover sensor and test data
* Redo test data
* Split up power/current/voltage sensors to individual files and remove json data
* Whitespace fix
* Fix temperature sensors - spelling mistakes
* Code changes to voltage/power/current sensors
* Go to yaml, add mibs and json
* Add netspire os support
* Update netspire.yaml
* Change from numerical oid to regular oid and readd poller/discovery modules
* Remove mib_dir and change os polling
* Add Laravel to LibreNMS.
* Try to set permissions during initial install and first composer update to Laravel.
* Fix composer.lock
Fix missing db config keys
* Start building v1 layout
Port ajax_setresolution, inject csrf into jquery ajax calls
Layout works, building menu
Partially done.
* Fix device group list
remove stupid count relationships
* Print messages for common boot errors.
Don't log to laravel.log file.
Log to error_log until booted, then librenms.log
* Fix up some issues with Config loading
Start of custom directives
* Custom blade directives: config, notconfig, admin
* Preflight checks
Only load config files once.
* Update the composer.lock for php 5.6
* Menu through routing
* Start of alert menu
* Better alert scopes
* reduce cruft in models
* Alerting menu more or less working :D
* Fix style
* Improved preflight
* Fix chicken-eggs!
* Remove examples
* Better alert_rule status queries
Debugbar
* fix app.env check
* User Menu
* Settings bar (dropped refresh)
Search JS
* Toastr messages
* Rename preflight
* Use hasAccess(User) on most models.
Add port counts
* Missed a Preflight -> Checks rename
* Fix some formatting
* Boot Eloquent outside of Laravel
Use Eloquent for Config and Plugins so we don't have to connect with dbFacile inside Laravel.
Move locate_binary() into Config class
* Config WIP
* Try to fix a lot of config loading issues.
* Improve menu for non-admins removing unneeded menus
url() for all in menu
* Only use eloquent if it exists
* Include APP_URL in initial .env settings
* Implement Legacy User Provider
* Helper class for using Eloquent outside of Laravel.
Allows access to DB style queries too and checking the connection status.
* Fix up tests
* Fix device groups query
* Checking Travis
* copy config.test.php earlier
* dbFacile check config before connecting
Don't use exception to check if eloquent is connected, it gets grabbed by the exception handler.
Ignore missing config.php error.
* Fix config load with database is not migrated yet.
* Remove Config::load() from early boot.
* Use laravel config settings to init db (this prefers .env settings)
Fix bgp vars not set in menu
add _ide_helper.php to .gitignore
* Restrict dependencies to versions that support php 5.6
* Update ConfigTest
* Fix a couple of installation issues
* Add unique NODE_ID to .env
* Correct handling of title image
* Fix database config not loading. Thanks @laf
* Don't prepend /
* add class_exists checks for development service providers
* Fix config value casting
* Don't use functions that may not exist
* Update dbFacile.php
* d_echo may not be defined when Config used called.
* Add SELinux configuration steps
More detailed permissions check.
Check all and give complete corrective commands in one step.
* Ignore node_modules directory
* Re-add accidetal removal
* Add support for Allied Telesis AlliedWare Plus products
- Uses mibs from 5.4.7-2.1 for AlliedWare Plus products
- Updates Legacy AlliedWare mibs
- Added Allied Telesis svg
* Remove unnecessary "trim" from snmpget
* Add new line to end of file
* Minor fixes for commit
* awplus: initial ntp commit
This isn't completely working, however initial patch of it partially working
* awplus: Add NTP support
- Fixed polling issues for awplus. Now offset and delay graphs work.
- html/includes/graphs/device/ntp_*.inc.php
-- Removed extra "\" from MAX count which showed up in Graph legend
- html/includes/graphs/device/ntp_delay.inc.php
-- Present legend in either seconds, or milliseconds (depending on vendor)
- html/includes/graphs/device/ntp_dispersion.inc.php
-- Present legend in either seconds, or milliseconds (depending on vendor)
- html/includes/graphs/device/ntp_offset.inc.php
-- Removed rrd minimum (-l 0). This is because offset can be below 0.
--- It's better for the graph to auto scale than set a fixed minimum to display here.
- html/includes/graphs/device/ntp_stratum.inc.php
-- Changed graph to go from 0 to max of 16. NTP Stratum can only be 0 to 16.
* awplus: Add NTP test data
* updated awplus ntp poller
* device: awplus convert NTP poller into seconds
* device: fix NTP graph formatting
* device: Improve NTP formatting
* device: unset awplus NTP variable
* fix formatting
* device: awplus change NTP from numerical OIDs to named
* device: update awplus ntp json tests
* device: fix cisco and awplus ntp database creation
* device: update awplus json