* Update alert_rules.json
Added devices unpolled alert template
* Update alert_rules.json
* Use coalesce to provide default value
* Update alert_rules.json
Co-authored-by: Tony Murray <murraytony@gmail.com>
* Disable rules from the default list
Too many rules in the default, disabling the customoid rules.
It is easy to add from the collection. Any other suggestions?
* remove bgp and default false
* Default alert rules remove Devices up/down
removed the Devices up/down as the default alert rule. This can be confusing to new users. We already have the alert for SNMP and one for ICMP defaulted.
* Update alert_rules.json
* Change select order from id to name
* added example icmp/snmp down rules given by @kkrumm1
* Renovated Alert Rules
* Defaulted sort by name
* Moved top buttons and results selector outside of table and aligned them with pull-left and pull-right
* Collapsed '#' (ID) into 'Type' and added titles for the icons
* Added Devices and Transports columns for each rule
* Moved Extra column next to transports
* Added icons for Enabled when a user does not have global admin
* Changed row_# variable to rule_id_#
* Some 'else' cleanup
* Added various title tags for more information when hovering
* Moved pagination outside of table and align it with pull-left and added a bootgrid style summary pulled-right
* Added table & th tags for bootgrid (but didn't turn it on)
* code climate, round 1
* code climate, round 2
* add hrefs for device & device group edit
* added trailing slash for device-groups/../edit/
* prevent #name conflict with transport modal
* add hrefs for transport & transport group edit
* use popover consistently
* code climate, round 3
* removed unused variables
* code climate, round 4
* popover variables
* reload after successful delete
* more informative feedback
* use toastr, not #message, & don't reload
* added license header & fail faster if not admin
* use (more informative) ajax error message
* delete confirmation with alert name in the modal
* print each device per line
* add href for all devices
* refresh status & enabled data-content when/if a rule is turned on/off
* use DRY style per @SourceDoctor (& my) preference); codeclimate meh
* point devices popover to the right
* Add inserted column to devices table
* Added schema for devices.inserted
* Show when a device was added and last discovered
* Added collection rule for "Device added within the last 60 minutes"
* fix client count polling, add ap count polling.
* Set low warning/critical thresholds for AP count sensors
* Add Aruba AP Count Warning and Critical Alerts to collection, lint alert_rules.json
* add newline at end of alert_rules.json
* add/update tests/data/arubaos*.json test data
* add the poller for portactivity
* add the ability to get monitor ports for portactivity
* add the graphs for displaying stuff for the portactivity app
* add the portactivity app page
* update the docs for Portactivity
* remove extra line
* minor doc update for Portactivity
* add update_application line
* convert to use json_app_get
* convert curly brackets to square
* style fix
* remote error, errorString, and version after they stop being important so they are not processed
* add alert rule examples
* add the poller for portactivity
* add the ability to get monitor ports for portactivity
* add the graphs for displaying stuff for the portactivity app
* add the portactivity app page
* update the docs for Portactivity
* remove extra line
* minor doc update for Portactivity
* add update_application line
* convert to use json_app_get
* convert curly brackets to square
* style fix
* remote error, errorString, and version after they stop being important so they are not processed
* add alert rule examples
* remove dump of get_portactivity_ports function added during rebase
* update to the current json_app_get
* add portactivity snmprec
* add the portactivity test data
* whoops bad merge when rebasing... fix
* minor formatting cleanup and add a missing comma
* fix some odditities with what one of the tests is doing
* whoops... include the use for the exception
* set the response to okay
* attempt to make snmpsim array check happy again
* the json now lints
* more making metric testing happy
* one more update to make travis-ci happy
* now flattens arrays also add array_flatten
* rename array_flatten to data_flatten as pre-commit chokes on it as laravel has something similarly named
* go through and properly add all the metrics
* tested with the newest one and it works
* whoops, clean up json and remove prototype that was used when putting it together
* doh! make it happy with laravel now
* see if a minor changing in formatting for the numbers makes the polling unit test happy
* order them properly
* remove a comma
* a few more minor fixes
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`
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`
We cannot check if the port is enabled inside the macro because it casts the usage percentage to a boolean (1 / 0)
Remove redundant macros.port in rule collection (was check 3 times before this)
Broken by #8511
* feature: Added new alert rule builder UI
* Updated to export sql queries
* More updates
* more changes
* removed debug
* fix scrut
* Updated to include import options + various other fixes
* fix rule
* Populate name from collection rules.
* Fix default rule import
Allow new and old style rules in the collection.
Don't add new yet as I'm not sure GenSQL() is working.
* Fix GenSQL call
* Extract filter building to class so it is nicely contained in one place
* moved schema
* some fixes and tweaks
* travis fixes
* Some more features / updates
* Fix up my mistakes when adding default rules
* Use a modal for new alert (Incomplete)
Larger dialog!!
Remove page loading stuff.
Working:
Loading rules, resetting dialog, importing from collection.
Not working yet:
select width
device limited rule access? don't know what this is...
Lots of unused stuff to delete...
* reload "table" after save
* fixed editing rule
* Auto select2 width
* Reload window on save
* Restore per-device alert. Remove debug.
* Small cleanups. Rule Name first.
* Restore button to button type. Rename schema.
* Fixes: wrong command to reload window, remove extra attributes, rule is never passed
* Fixed old rule editing
* some small updates for old imports
* travis update to use trusty
* maybe travis fix
* Ability to set alert rule mappings on the rule edit screen
* pip installs one line, no quiet for deploy
* update schema def
* Fix style and some copyright headers
* fix docs missing file
* Allow new versions of snmpsim and libraries
* Parser WIP
* Fix default rules insert
* reorganize
* Legacy import first draft done
* Implement saving
Skip translation to sql for now
* Working on glues
* small rule collection fix
* Working on glues
* Working on glues
* Docs updates + small UI changes
* Parser WIP
* reorganize
* Legacy import first draft done
* Implement saving
Skip translation to sql for now
* Working on glues
* Working on glues
* Working on glues
* Add table mapping, should move to it's own class
* WIP
* Glue working!!
* Extract Schema class
* Some final touches.
revert alerts_rules.json for now.
* Finish up initial implementation
Needs more tests
* Fix a few places
* small doc updates
* Fix finding tables in grouped rules.
* remove unused code
* code format fixes
* Some quick tests for Schema
Simplified output for findRelationshipPath. Always includes start and target in the result.
This simplifies a lot of code in QueryBuilderParser.php
This also always loads the target table data now (which we want)
* Make bill_id the PRIMARY index for the bills table
* Load macros from a json file in misc instead of the database.
* Fix whitespace and wrong key for collection.
* Handle IN properly when generating SQL
* Fix glue (devices.device_id = ports.port_id) is incorrect :D
Show ALL tables we can resolve relationships for in the query builder filter.
* Remove all macros from the database
Remove insert statements, leave updates to update user's existing rules.
Fix the:
MySQL Error: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '= (DATE_SUB(NOW(),INTERVAL 5 MINUTE)) && syslog.msg REGEXP ".*authentication f' at line 1 (SELECT * FROM syslog WHERE (syslog.device_id = '149') && (syslog.timestamp > = (DATE_SUB(NOW(),INTERVAL 5 MINUTE)) && syslog.msg REGEXP ".*authentication failure.*" ))
column in the sensors table. However there is no "type" column. This should be "sensor_type". This is indicated
by the error in the logs:
`MySQL Error: Unknown column 'sensors.type' in 'where clause' (SELECT * FROM devices,sensors WHERE (( sensors.device_id = devices.device_id ) && devices.device_id = '102') && (devices.os = "panos" & sensors.type = "panSysHAState" && sensors.sensor_current = "1" && sensors.sensor_prev = "2" ))
`
Updated the rule to reference the correct column.
* feature: Generic alerts for state sensors
A bit of a hack, but gets the job done. Perhaps someone can refactor the ResolveGlues() function sometime to make it better.
* Fix mistakes
* Add docs and collection rules, critical enabled by default
* moved schema file to 221.sql
* alert rules: alert rules for dell servers
added in dell alert rules to the collection.
* Update alert_rules.json
fixed the ,
* Update alert_rules.json
fixed the "rule":
* Update alert_rules.json
minor fixes and added in MAC address alert. This could be useful when searching for missing devices or rogue devices on your network.
* Update alert_rules.json
removed mac address rule.
* features: added even more rules to the collection
Added in,
HPE iLo Server drive degraded/failure
HPE iLo Server Power Supply degraded/failure
HPE iLo Server fan degraded/failure
HPE iLo Server CPU degraded/failure
HPE iLo Server Memory degraded/failure
Applications OS-Updates, New Updates Available
* Update alert_rules.json
* fixed some line issues and spaces
* fixed syntax error
* Update alert_rules.json
fixed a ,
* Update alert_rules.json
fixed mistake with {
* Update alert_rules.json
fixed typo at the end
* refactor: move default alert rules into the collection
Also adds the wireless rules to the default set.
* Added additional defaults to extra
* Fix up the extra value
Also, missed `rule` column when creating default rules
* 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