Module: check_mk
Branch: master
Commit: 203bfd8a62df19dd07a1ee8b9a97dbb3fba60372
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=203bfd8a62df19…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Thu Nov 9 10:30:37 2017 +0100
Huge refactoring of Check_MK base data fetching
* Flipped the data gathering structure.
It was first iterating over all check types and fetching the (agent)
data on demand during the first check and caching these results to
reuse it for the other checks.
This has been changed into two phases:
1. Fetch ALL data (including SNMP scan + walks)
2. Execute discovery/check/inventory logic
* Abstracted collection of data
A new concept of "data sources" has been introduced. Each source
of monitoring data is a data source. The following exist at the
moment:
TCPDataSource
SNMPDataSource
SNMPManagementBoardDataSource
PiggyBackDataSource
DSProgramDataSource
SpecialAgentDataSource
* With the above changes we have a far better situation now
a) Exception handling (-> error reporting) is equal for all sources
b) Caching of raw source data is exactly the same
* This prepares the way for splitting up data fetching, which also
includes expensive timeouts, from the check execution.
Change-Id: I975cb49c8087c5e5d94bdf2786ca60e89c58171c
---
cmk_base/agent_data.py | 1304 +++++++++++++++++++++-----------------
cmk_base/automations/check_mk.py | 30 +-
cmk_base/checking.py | 295 ++++-----
cmk_base/crash_reporting.py | 4 +-
cmk_base/discovery.py | 218 ++-----
cmk_base/inventory.py | 61 +-
cmk_base/modes/check_mk.py | 20 +-
cmk_base/snmp.py | 27 -
lib/paths.py | 4 +-
9 files changed, 977 insertions(+), 986 deletions(-)
Diff:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commitdiff;h=203bfd8a62…