* 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
* Entity state sensors??
* feature: Entity State polling
Display entity state on the Inventory page.
Allows for alerting based on states.
* fix empty last changed, timezones, alarm parsing, and db updates
* do not display unavailable alarms (80)
add tooltip with state value
* remove debug
* Entity state sensors??
* feature: Entity State polling
Display entity state on the Inventory page.
Allows for alerting based on states.
* fix empty last changed, timezones, alarm parsing, and db updates
* do not display unavailable alarms (80)
add tooltip with state value
* remove debug
* Use a discovery module and only fetch the rest of the data if entStateLastChanged is updated.
* A little more efficient sql use in the case nothing has changed.
* disabled by default, add to docs.
* moved schema file to 220.sql
* feature: save application metrics to db for alerting
However, alerting will not work because ResolveGlues() is broken.
Can add workaround after state_translations alerting is merged
Does not update all applications yet, not sure if that should be done here or in another PR.
Introduces two handy functions dbDeleteOrphans() and array_by_column(). Will replace those in other locations after this is merged or separate them out if this is not merged.
* remove accidental inclusions
* Add db schema
* 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.
* fix: Added primary key to perf_times to improve DELETE performance on replicas using ROW based replication
* moved sql file
* moved sql file
* Rebased
* fixed schema
* moved sql file
* Added support for ping only devices.
* Renamed sql-schema/206 to 207.
* Discovery tried to detect the OS when it shouldn't.
* Updated db_schema.yaml
* Added ping icon.
* Don't show unused graphs and tabs when SNMP is disabled.
* Allow the user to specify OS of ping only devices.
* Removing custom OS now changes it to 'ping'.
* Removed unnecessary use of mres().
* UI select box for SNMP enable/disable.
* Hide device_ping_perf if ping is disable on device.
* Fixed SNMP settings update status messages.
* Added functionality to add ping only devices via the web ui.
* Added ping only option to addhost.php
* Added ping only support to snmp-scan.py
* Moved sql 208 to 211
* Fixed scrutinizer issues.
* Fixed broken ossearch.
* Added ping only support to the API.
* Updated API doc.
* Added (optional) to OS and hardware description. Hid Port Settings, Applications, Modules, Storage, Processors, Memory and Components from the edit menu
* Style fix.
* Updated ping icon.
* clean() instead of mres(). More escaping. Better help in snmp-scan.py and addhost.php
* Fixed scrutinizer issue.
* Always try SNMP in snmp-scan.py, new option for it in addhost.php. Slice instead of chunk in ajax_ossuggest.php. Other minor style changes.
* Updated sql modifications to insert the new column in the same place as in db_schema.yaml.
* refactor: convert validations to modules to prep for gui integration
* accidentally dropped, schema update
* fix accidental output to webui
* mention discovery-wrapper.py and re-arrange.
* refine some fix statements
* rename the Config validation group to Configuration.
* fix some scrutinizer issues
remove as many local functions from validator.php as possible
move extensions from pre-check
remove duplicate timezone check
looks like there is some db schema differences between mariadb 10.1 and 10.2, investigating
* mariadb version diff take2
* Check schema version first for database.
Remove stop to go back to command line for install docs.
Add helpful link when there is no devices added to /addhost
* fix incorrect validation for empty string defaults
* Fix style
* Add additional file permissions checks
* catch exception and fail for invalid timezone
Change visuals a bit.
* add php version warning
* fix space
* 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: discovery protocols re-write
extract more code to make it easier to read
use snmpwalk_group
walk lldpRemTable instead of lldpRemoteSystemsData
Optimize discover_device to reduce dns lookups of bad dns names
Make discovery_by_ip behavior consistent between cdp and lldp
move can_skip_discovery to discovery functions
Tested lldp, cdp, and ospf.
* always discover links even if the remote device isn't in system
Fix discover_link always updating
* fix style
* fix update, not fetching id
* increase platform length. Most devices use sysDescr here, which is max length 255
* remove orphaned links
* update db_schema.yaml
* Feature: Notify about failed updates, block detectable bad updates
Ability to post notifications when the update fails.
Detect and roll back updates that will cause broken installs. (Needs testing)
Add severity to notifications, critical (2) notifications will display a toast.
This will be used for removing in-tree dependencies and raising the minimum php version.
* Improve naming a bit add phpdoc to new_notification
In case multiple notifications are created, remove them all.
* Remove notifications when update is disabled.
* update travis to use db testing
* added missing index
* Create librenms-irc.service
basic systemd start up script goes in /etc/systemd/system/librenms-irc.service it is set to start at boot, but it can be stopped or started just like any other systemd script ie. systemctl start librenms-irc.service
* Small changes
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
* 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: 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
* 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
* 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
* Do not show unintended debug messages
* Fix the silly mistake
* Change Cisco UCM category from tele to telephony
* Added telephony definitions
* Changed the category to collaboration as agreed
* Fix snipped service filenames
* rebased
* rebased + fixed schema
* 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.
* feature: Added ability to validate database schema
* small scrut fixes
* Check for extra tables and columns
Print 30 items of schema updates, easier to copy paste sql
* Now supports detections and suggested fix for:
tables: missing, extra
columns: missing, extra, incorrect
indexes: missing, extra, incorrect
* final changes + hook into travis