43 Commits

Author SHA1 Message Date
Tony Murray c22c879983 fix: Remove faulty memcached code (not related to distributed polling) (#7881) 2017-12-10 20:40:45 +00:00
Tony Murray 8ab0b2bffd refactor: Replace custom queries with dbDeleteOrphans(). (#7862)
* Replace custom queries with dbDeleteOrphans().
Generalize dbDeleteOrphans() a bit more.  Allow for multiple tables and custom key pairs.

* fix whitespace
2017-12-06 22:44:23 +00:00
Tony Murray a21a3fb2b6 feature: Added support Entity State polling (#7625)
* 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
2017-12-02 20:23:56 +00:00
Tony Murray 4a03e7838e feature: Save application metrics to db for alerting (#7828)
* 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
2017-12-01 07:53:26 +00:00
Tony Murray cbe6cb532d Fix: Discovery validation with ping-only devices (#7665)
* fix: validation check cli php extensions
Fix fatal errors when mysql is not loaded / can't connect

* fix: discovery validation incorrectly detects on ping only devices.
2017-11-07 20:09:49 +00:00
Tony Murray 7b262a6851 refactor: Improve yaml state discovery (#7221)
* feature: Improve yaml state discovery
Handle state values that are returned as strings instead of int
Synchronize state values for existing state translations so we can change them without creating a new translation and losing historical data
More extensive/verbose yaml discovery phpunit tests
dbBulkInsert, use the first entry instead of requiring the first entry to be at index 0

* Update sensor state documentation
re-order values for better readability
remove os check
Use snmpwalk_group since it is more flexible

* Add some more debug output in dynamic discovery
2017-09-03 19:58:39 +01:00
Daniel Preussker d3094fa657 security: Security Patch to deal with reported vulnerabilties (#7164)
* WIP: Security Patch

* Update install.php

Styling fix

* Update install.php

* Update dbFacile.php

* Fix whitespace
2017-08-18 21:29:12 +01:00
Tony Murray 1e77d4b3ea refactor: validate.php improvements (#6973)
Always output header (may be missing mysql data)
Improve version display, now looks like '1.28-129-g74e6c3edf' <tag>-<commits since tag>-<shortag>
Add mysqli to the list of required extensions, check extensions before init
Add dbIsConnected() function, used to check if we have db in version_info()
Do not die on IPv4 and IPv6 so validate can print errors.
Move git checks so they are output together
fix rrdtool 1.7.0 reports version as 1.7.01.7.0
2017-07-17 19:02:28 +01:00
Tony Murray f02b551145 feature: Improved install experience (#6915)
always check that the base sql has been imported.
async db building
After this merge, we could move install.php to the end of the install documentation.  Makes a more natural flow.
2017-07-01 21:28:29 +01:00
Tony Murray 2f4efb2a43 fix tests (#6870)
Injecting into the dev_cache without having hostname set caused the code to run an sql query.
Fix undefined index errors.
2017-06-20 16:56:38 -05:00
Tony Murray 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
Tony Murray b1a414e785 feature: support non-standard unix socket (#5724)
* Add support for custom MySQL unix-socket

* NULL must be lowercase!

* Naive edit of html/install.php

* fixup

* Refactor dbConnect
Use it everywhere

* $config needs to be global
Don't need to set $database_link

* small cleanups
2017-04-06 22:02:37 +01:00
Neil Lathwood da5783d917 feature: Add mysql failed query logging + fixed queries that break ONLY_FULL_GROUP_BY (#5327)
* feature: Add mysql failed query logging + fixed queries that break ONLY_FULL_GROUP_BY

* fix all schema errors and update system
2017-01-07 11:32:38 -06:00
Tony Murray db240cb4eb refactor: Collection and output of db and snmp stats (#5049) 2016-11-23 06:57:19 +00:00
Neil Lathwood cc01969b06 refactor: Default to only using mysqli (#4915)
* refactor: Default to only using mysqli

* Remove includes/dbFacile.mysql.php

* updated mres() function to remove $config global
2016-11-10 19:40:53 -06:00
Tony Murray 9284bc60ff Update code in includes to be PSR-2 compliant (#4220)
refactor: Update code in /includes to be psr2 compliant #4220
2016-08-28 18:32:58 +01:00
laf 4b49c148b6 Added mysqli support 2015-08-08 19:27:18 +00:00
Louis Rossouw c8a5475c08 Fix return in dbBulkInsert. 2015-07-17 06:15:57 +02:00
Louis Rossouw c975b27515 Remove fullsql and comment. 2015-07-17 06:11:01 +02:00
Louis Rossouw 54dd165917 Create dbBulkInsert which allows bulk insertion of records. 2015-07-17 06:08:03 +02:00
Job Snijders d8693f05ae Fix coding style part 2 2015-07-15 11:04:22 +02:00
laf c1ef9b6808 Resolved a large number index issues and update Console_Color to V2 2015-03-01 18:04:57 +00:00
Daniel Preussker 7b43810f34 Merge pull request #484 from laf/issue-483
Updated the way debug=yes in url works to make it visually more appealing
2015-03-01 18:46:47 +01:00
Neil Lathwood 2ef0cf8b80 Fixed the performance issues in scrut 2015-02-22 17:27:22 +00:00
Neil Lathwood d593710fc5 Updated the way debug=yes in url works to make it visually more appealing 2015-02-18 23:03:23 +00:00
Adam Amstrong 7cb9e665e9 colourize sql/rrd debugging yellow/green
git-svn-id: http://www.observium.org/svn/observer/trunk@3224 61d68cd4-352d-0410-923a-c4978735b2b8
2012-05-22 13:41:04 +00:00
Adam Amstrong fe53a6b9ff move cdp detection to dbFacile, make dbFacile debugging output put \n before output
git-svn-id: http://www.observium.org/svn/observer/trunk@2791 61d68cd4-352d-0410-923a-c4978735b2b8
2011-12-16 14:42:37 +00:00
Adam Amstrong a8e6e7b0e9 fixes. speed improvements.
git-svn-id: http://www.observium.org/svn/observer/trunk@2602 61d68cd4-352d-0410-923a-c4978735b2b8
2011-09-28 16:47:12 +00:00
Tom Laermans 3558ea53a0 restore 2516 dbFacile.php, apparently the code layout changes breaking something somewhere?
git-svn-id: http://www.observium.org/svn/observer/trunk@2525 61d68cd4-352d-0410-923a-c4978735b2b8
2011-09-20 15:59:51 +00:00
Tom Laermans 9a1bee1458 more code cleanup (last commit for now)
git-svn-id: http://www.observium.org/svn/observer/trunk@2520 61d68cd4-352d-0410-923a-c4978735b2b8
2011-09-20 14:37:54 +00:00
Tom Laermans dc0ebc7343 more code cleanup
git-svn-id: http://www.observium.org/svn/observer/trunk@2517 61d68cd4-352d-0410-923a-c4978735b2b8
2011-09-20 14:22:34 +00:00
Tom Laermans d864ce234f kill a whole bunch of trailing spaces
git-svn-id: http://www.observium.org/svn/observer/trunk@2516 61d68cd4-352d-0410-923a-c4978735b2b8
2011-09-20 09:55:11 +00:00
Adam Amstrong bb95ed4dc3 fix syslog a little.
git-svn-id: http://www.observium.org/svn/observer/trunk@2406 61d68cd4-352d-0410-923a-c4978735b2b8
2011-09-02 09:01:32 +00:00
Adam Amstrong 232b330f3d fixed syslog? why knows!
git-svn-id: http://www.observium.org/svn/observer/trunk@2405 61d68cd4-352d-0410-923a-c4978735b2b8
2011-09-02 06:56:21 +00:00
Adam Amstrong 402c170b0b fix db update for mac accounting (and enable spitting out sql query on error)
git-svn-id: http://www.observium.org/svn/observer/trunk@2386 61d68cd4-352d-0410-923a-c4978735b2b8
2011-06-01 10:21:09 +00:00
Adam Amstrong 90dfbfa141 fix some things
git-svn-id: http://www.observium.org/svn/observer/trunk@2351 61d68cd4-352d-0410-923a-c4978735b2b8
2011-05-20 14:27:53 +00:00
Adam Amstrong bf1d43ae65 improve efficiency of devices/ports/, add some caching, fix db profiling.
git-svn-id: http://www.observium.org/svn/observer/trunk@2349 61d68cd4-352d-0410-923a-c4978735b2b8
2011-05-19 10:02:55 +00:00
Adam Amstrong 1b956853ad cleanups
git-svn-id: http://www.observium.org/svn/observer/trunk@2340 61d68cd4-352d-0410-923a-c4978735b2b8
2011-05-17 19:21:20 +00:00
Adam Amstrong fc40257da9 more db*
git-svn-id: http://www.observium.org/svn/observer/trunk@2336 61d68cd4-352d-0410-923a-c4978735b2b8
2011-05-16 12:48:50 +00:00
Adam Amstrong bc0cdd2415 move poller.php (inc os/system) to db* (and others, but poller is biggest change)
git-svn-id: http://www.observium.org/svn/observer/trunk@2298 61d68cd4-352d-0410-923a-c4978735b2b8
2011-05-13 11:42:26 +00:00
Adam Amstrong 48f4c0e131 remove debugging. doh. (it was fun debugging though, first time i ever saw all of our queries!)
git-svn-id: http://www.observium.org/svn/observer/trunk@2289 61d68cd4-352d-0410-923a-c4978735b2b8
2011-05-12 21:46:51 +00:00
Adam Amstrong e9865c792b fix quoting in dbFacile :)
git-svn-id: http://www.observium.org/svn/observer/trunk@2288 61d68cd4-352d-0410-923a-c4978735b2b8
2011-05-12 21:46:16 +00:00
Adam Amstrong 66ca98fa63 epic fail :D
git-svn-id: http://www.observium.org/svn/observer/trunk@2281 61d68cd4-352d-0410-923a-c4978735b2b8
2011-05-12 14:15:20 +00:00