Module: check_mk
Branch: master
Commit: 57f584f9786b91cba4046ce8f7e9effae3a32d42
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=57f584f9786b91…
Author: Florian Kromer <fk(a)mathias-kettner.de>
Date: Thu Apr 25 13:36:12 2019 +0200
postgres_stats: refactoring 1
CMK-2037
Change-Id: I8389724e6d2425888d21cea5f42590a9eebda938
---
checks/postgres_stats | 22 +++++++---------------
.../checks/generictests/datasets/postgres_stats.py | 6 +++---
2 files changed, 10 insertions(+), 18 deletions(-)
diff --git a/checks/postgres_stats b/checks/postgres_stats
index 7238b3a..52a9469 100644
--- a/checks/postgres_stats
+++ b/checks/postgres_stats
@@ -77,22 +77,14 @@ def check_postgres_stats(item, params, parsed):
now = time.time()
if oldest_element:
- oldest_time = int(oldest_element[stats_field])
- warn, crit = params.get("last_%s" % paramskey, (None, None))
yield 0, "Table: %s" % oldest_element["tname"]
-
- state = 0
- if crit and now - crit > oldest_time:
- state = 2
- elif warn and now - warn > oldest_time:
- state = 1
-
- extra_info = ""
- if state:
- extra_info = " (warn/crit at %s/%s)" %
(get_age_human_readable(warn),
- get_age_human_readable(crit))
- yield state, "Time since last vacuum %s%s" %
(get_age_human_readable(now - oldest_time),
- extra_info)
+ oldest_age = time.time() - int(oldest_element[stats_field])
+ yield check_levels(
+ oldest_age,
+ None,
+ params.get("last_%s" % paramskey),
+ human_readable_func=get_age_human_readable,
+ infoname='Time since last vacuum')
key = "postgres_stats.%s" % item
if not never_checked:
diff --git a/tests/unit/checks/generictests/datasets/postgres_stats.py
b/tests/unit/checks/generictests/datasets/postgres_stats.py
index 686a11f..087e883 100644
--- a/tests/unit/checks/generictests/datasets/postgres_stats.py
+++ b/tests/unit/checks/generictests/datasets/postgres_stats.py
@@ -35,12 +35,12 @@ checks = {
'': [
(u'ANALYZE adwebconnect', {'never_analyze_vacuum': (1000, 1100)},
[
(0, u'Table: auftrag', []),
- (0, 'Time since last vacuum 674 d', []),
+ (0, 'Time since last vacuum: 674 d', []),
(2, u'2 tables were never analyzed: anrede/auftrag_mediadaten (warn/crit
at 16 m/18 m)', []),
]),
(u'ANALYZE adwebconnect', {}, [
(0, u'Table: auftrag', []),
- (0, 'Time since last vacuum 674 d', []),
+ (0, 'Time since last vacuum: 674 d', []),
(1, u'2 tables were never analyzed: anrede/auftrag_mediadaten', []),
]),
(u'ANALYZE postgres', {}, [
@@ -48,7 +48,7 @@ checks = {
]),
(u'VACUUM adwebconnect', {}, [
(0, u'Table: auftrag', []),
- (0, 'Time since last vacuum 674 d', []),
+ (0, 'Time since last vacuum: 674 d', []),
(1, u'2 tables were never vacuumed: anrede/auftrag_mediadaten', []),
]),
(u'VACUUM postgres', {}, [