26 Commits

Author SHA1 Message Date
54284800c7 Fixed alert rules that use columns in value (#8925)
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`
2018-07-21 10:07:17 +01:00
411a5db269 fix: Fixed Poller taking too long -> device took too long alert rule (#8622)
* Fix poller taking too long rule

* Update alert_rules.json
2018-05-13 20:02:57 +01:00
6c04f92877 fix: Fixed port_usage_perc macro (#8625)
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
2018-04-27 14:27:05 +01:00
03076c4025 feature: Added new alert rule builder UI and rule mapping UI (#8293)
* 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.
2018-03-14 20:25:19 +00:00
1d45d4b73d fix: MySQL query in alert_rules.json (#8300)
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.*"  ))
2018-02-27 09:22:59 +00:00
2755763758 device: Added suspended state to PAN OS (#8125)
* device: add suspended state to PAN OS

* remove bad rules, solution in other PR
2018-01-25 21:08:22 +00:00
f2088a505a fix: Palo Alto HA Alert Rule references non-existent column in sensors table (#8138)
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.
2018-01-24 09:18:28 +00:00
88ecbbff24 alert rules: added Dell iDRAC alert rules (#8010)
* alert rules: added Dell idrac alert rules

to the alerts collection.

* Update alert_rules.json

* added iDRAC

fixed iDRAC naming.

* added iDRAC Global System Status Alert
2018-01-05 16:06:49 -06:00
f7aed1e203 rules: deafult alert rules, updated the name for (#7861)
Sensor Over/Under to better help users understand where this alert is coming from. :)
2017-12-06 08:04:31 -06:00
5405498ed6 alerts: Adde generic alerts for state sensors (#7812)
* 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
2017-12-02 23:03:36 +00:00
b6abf158a0 alerting: Added more rules to collection (#7797)
Comware Sensors PSU, Fan
Cisco Sensors Fan, PSU
UBNT EdgeSwitch Chassis State
2017-11-26 14:32:32 +00:00
597af28093 alerts: Added in dell server sensors alert rules to the collection (#7647)
* 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.
2017-11-07 20:21:37 +00:00
aef1a5f28a newdevice: Added state sensors for Palo Alto Networks firewall (#7482)
* Features: Add state sensors for Palo Alto Networks firewall

* Removed the MIBs files

* fix: Removing echo

* Migrate to YAML

* Migrate to YAML

* Change passive to unknow
2017-11-02 21:41:51 +00:00
2e849e1b02 feature: Added more rules for the alert collection (#7430) 2017-10-04 21:02:17 +01:00
01a48496c8 features: Added HP iLo and OS-updates rules to the rule collection (#7423)
* 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
2017-10-04 08:21:16 +01:00
e16900456c feature: Added alert rules for RFC1628 UPS to the rule collection (#7415) 2017-10-03 21:34:12 +01:00
777eb1f823 feature: Added more rules to the collection of alert rules (#7363)
* Features: Updated collection of alert rules

Added in the following to the Alerts Collection,

Syslog, received Alert Priority Message
Syslog, received Emergency Priority Message
APC UPS Battery Needs Replacement
APC UPS Switched to Battery Power
APC UPS in Hardware Failure Bypass Mode
APC UPS in Emergency Static Bypass Mode

* Update alert_rules.json

* Update alert_rules.json

fixed changes per request.

* Update alert_rules.json

fixed "white spaces and spaces"

* Update alert_rules.json

Fixed spaces and tabs... rookie mistake.
2017-09-20 22:58:24 +01:00
707b6c6954 feature: Added support to cisco sensors to link them to ports + macro/docs for alerting (#6959)
* feature: Added support to cisco sensors to link them to ports + macro/docs for alerting

* renamed sql
2017-08-04 19:37:50 +01:00
Etz
115515f966 fix: Service warning/critical alert rules (#7105)
Name and rule statements were swapped.
2017-08-02 09:20:45 -05:00
09103b2067 feature: Added syslog auth failure to alert_rules.json (#6847)
feature: Added syslog auth failure to alert_rules.json (#6847)
2017-06-17 15:03:18 +01:00
7442f8d40d feature: Added service alert rules (#6772)
* Add service alert rules

https://community.librenms.org/t/configuring-alerting-via-nagios-plugins/1389/5?u=florianbeer

* Fix escaping

* Update alert_rules.json
2017-06-02 19:51:45 +01:00
2dd44fdfdf refactor: move default alert rules into the collection (#6621)
* 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
2017-05-13 09:24:47 +01:00
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
fea705b7f5 alerts: Added new alert rules to collection (#6166)
Added Interface Errors Rate greater than 100
Added Device discovered within the last 60 minutes
2017-03-15 15:41:12 +00:00
laf
0bd08690f3 Updated alert_rules.json with more examples 2016-11-03 07:52:05 +00:00
laf
8a142aa53f feature: Added the option to select alert rules from a collection 2016-10-29 10:56:59 +00:00