Module: check_mk
Branch: master
Commit: 4b424962470d0faff226af4080a05e26d3a9c840
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=4b424962470d0f…
Author: Simon Betz <si(a)mathias-kettner.de>
Date: Fri Jan 13 15:23:37 2017 +0100
new check api function: get_agent_data_time()
Change-Id: Ibea51454b16efe0fc35569c34fa21f849813e2c7
---
modules/check_mk_base.py | 21 ++++++++++++++++++++-
1 file changed, 20 insertions(+), 1 deletion(-)
diff --git a/modules/check_mk_base.py b/modules/check_mk_base.py
index 8dadcef..80414d4 100644
--- a/modules/check_mk_base.py
+++ b/modules/check_mk_base.py
@@ -2053,6 +2053,25 @@ def passwordstore_get_cmdline(fmt, pw):
# | Helper function for being used in checks |
# '----------------------------------------------------------------------'
+
+def get_agent_data_time():
+ return agent_cache_file_age(g_hostname, g_check_type)
+
+
+def agent_cache_file_age(hostname, check_type):
+ if is_snmp_check(check_type):
+ cachefile = cmk.paths.tcp_cache_dir + "/" + hostname + "." +
check_type.split(".")[0]
+ elif is_tcp_check(check_type):
+ cachefile = cmk.paths.tcp_cache_dir + "/" + hostname
+ else:
+ cachefile = None
+
+ if cachefile is not None and os.path.exists(cachefile):
+ return cachefile_age(cachefile)
+ else:
+ return None
+
+
# Generic function for checking a value against levels. This also supports
# predictive levels.
# value: currently measured value
@@ -2068,7 +2087,7 @@ def passwordstore_get_cmdline(fmt, pw):
def check_levels(value, dsname, params, unit="", factor=1.0, scale=1.0,
statemarkers=False):
if unit:
unit = " " + unit # Insert space before MB, GB, etc.
- perfdata = []
+ perfdata = []
infotexts = []
def scale_value(v):