Module: check_mk
Branch: master
Commit: 0b3efcfed868e13bba205be6202798de424e0fdd
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=0b3efcfed868e1…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Sun Mar 31 12:46:23 2013 +0200
FIX: hopefully fix computation of Speed-O-Meter
---
ChangeLog | 1 +
web/htdocs/sidebar.py | 51 ++++++++++++++++++++++++++----------------------
2 files changed, 29 insertions(+), 23 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 82a63b5..0fd96f0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -93,6 +93,7 @@
Multisite:
* FIX: fix localization in non-OMD environment
(thanks to あきら)
+ * FIX: hopefully fix computation of Speed-O-Meter
* Add $SERVICEOUTPUT$ and $HOSTOUTPUT$ to allowed macros for
custom notes
diff --git a/web/htdocs/sidebar.py b/web/htdocs/sidebar.py
index fb990f5..7f5cbc5 100644
--- a/web/htdocs/sidebar.py
+++ b/web/htdocs/sidebar.py
@@ -414,39 +414,44 @@ def ajax_speedometer():
# That way we save CPU resources since the computation of the
# scheduled checks rate needs to loop over all hosts and services.
if last_program_start != program_start:
- scheduled_rate = 0.0
-
- # First get data of all active checks
- for what in [ "host", "service" ]:
- data = html.live.query_summed_stats(
- "GET %ss\nStats: suminv check_interval\n"
- "Filter: active_checks_enabled = 1" % what)
-
- scheduled_rate += data[0] / 60.0
-
- # HACK:
- # The Check_MK passive checks are always added to Nagios with
- # a check interval of 1 minute. If one chancges the check interval
- # of the Check_MK service, the intervals of the passive services
- # change in fact. But this change is not added to the nagios config
- # of these objects. Workaround here: Get interval of Check_MK service
- # and add it as interval to the cmk passive checks
+
+ # 1. First compute number of expected host checks per second
+ scheduled_rate = html.live.query_summed_stats(
+ "GET hosts\n"
+ "Stats: suminv check_interval\n")[0] / 60.0
+
+ # 2. Now get data of all active services and of passive/non-check_mk-services.
+ # For passive services we assume that they are scheduled with the rate the
+ # is configured via "check_interval". Nagios does not use this setting for i
+ # passive checks, but we have no other option.
+ scheduled_rate += html.live.query_summed_stats(
+ "GET services\n"
+ "Stats: suminv check_interval\n"
+ "Filter: active_checks_enabled = 1\n"
+ "Filter: check_command ~ ^check_mk-\n"
+ "Negate:\n"
+ "Filter: active_checks_enabled = 0\n"
+ "And: 2\n"
+ "Or: 2\n")[0] / 60.0
+
+ # 3. Acount for check_mk-checks. Here we need to check interval of the
+ # Check_MK services on the host. Its check rate applies to the passive
+ # checks. First get the check intervals of the check_mk checks:
intervals = html.live.query_table(
"GET services\n"
"Columns: host_name check_interval\n"
"Filter: description = Check_MK")
+ # Now get the number of passive check_mk checks for each host and convert
+ # it to a dict from host -> number of services
num_svcs = dict(html.live.query_table(
"GET services\n"
- "Columns:host_name\n"
+ "Columns: host_name\n"
"Stats: check_command ~ ^check_mk-"))
- for line in intervals:
- host_name, check_interval = line
+ for host_name, check_interval in intervals:
num_services = num_svcs.get(host_name, 0)
-
- file('/tmp/3', 'a').write('%s %d %0.2f\n' % (host_name, num_services, 1.0 / (check_interval / 60.0) * num_services))
- scheduled_rate += 1.0 / ((check_interval / 60.0) * num_services)
+ scheduled_rate += float(num_services) / check_interval / 60.0
percentage = 100.0 * current_rate / scheduled_rate;
title = _("Scheduled check rate: %.1f/s, current rate: %.1f/s, that is "
Module: check_mk
Branch: master
Commit: 9ce6fe3cc303301f2e95ea87c1396ad01ff3eb12
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=9ce6fe3cc30330…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Sun Mar 31 00:32:12 2013 +0100
fixed typo in error message
---
web/plugins/userdb/ldap.py | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/web/plugins/userdb/ldap.py b/web/plugins/userdb/ldap.py
index db0b7bf..eeb94f2 100644
--- a/web/plugins/userdb/ldap.py
+++ b/web/plugins/userdb/ldap.py
@@ -108,7 +108,7 @@ def ldap_connect():
try:
ldap
except:
- raise MKLDAPException(_("The python module python-ldap seem to be missing. You need to "
+ raise MKLDAPException(_("The python module python-ldap seems to be missing. You need to "
"install this extension to make the LDAP user connector work."))
# Some major config var validations
Module: check_mk
Branch: master
Commit: 7ed3a3495b39633593a4d06158887828636a04c9
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=7ed3a3495b3963…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Fri Mar 29 09:46:59 2013 +0100
FIX: apc_symmetra_power: resurrect garble PNP template for
Conflicts:
ChangeLog
---
ChangeLog | 4 ++
pnp-templates/check_mk-apc_symmetra_power.php | 64 +++++++++++++++----------
2 files changed, 43 insertions(+), 25 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 7fecf7a..685f1b8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -79,6 +79,10 @@
* Configuration of an alternativ host check command
* Inventory: Display link symbol for ps ruleset
+1.2.2:
+ Checks & Agents:
+ * FIX: apc_symmetra_power: resurrect garble PNP template for
+
1.2.2b5:
Core:
* Checks can now omit the typical "OK - " or "WARN -". This text
diff --git a/pnp-templates/check_mk-apc_symmetra_power.php b/pnp-templates/check_mk-apc_symmetra_power.php
index 93eba5e..63b2c8b 100644
--- a/pnp-templates/check_mk-apc_symmetra_power.php
+++ b/pnp-templates/check_mk-apc_symmetra_power.php
@@ -1,25 +1,39 @@
-<?php
-# +------------------------------------------------------------------+
-# | ____ _ _ __ __ _ __ |
-# | / ___| |__ ___ ___| | __ | \/ | |/ / |
-# | | | | '_ \ / _ \/ __| |/ / | |\/| | ' / |
-# | | |___| | | | __/ (__| < | | | | . \ |
-# | \____|_| |_|\___|\___|_|\_\___|_| |_|_|\_\ |
-# | |
-# | Copyright Mathias Kettner 2013 mk(a)mathias-kettner.de |
-# +------------------------------------------------------------------+
-#
-# This file is part of Check_MK.
-# The official homepage is at http://mathias-kettner.de/check_mk.
-#
-# check_mk is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by
-# the Free Software Foundation in version 2. check_mk is distributed
-# in the hope that it will be useful, but WITHOUT ANY WARRANTY; with-
-# out even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE. See the GNU General Public License for more de-
-# ails. You should have received a copy of the GNU General Public
-# License along with GNU Make; see the file COPYING. If not, write
-# to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
-# Boston, MA 02110-1301 USA.
-
+<?php
+# +------------------------------------------------------------------+
+# | ____ _ _ __ __ _ __ |
+# | / ___| |__ ___ ___| | __ | \/ | |/ / |
+# | | | | '_ \ / _ \/ __| |/ / | |\/| | ' / |
+# | | |___| | | | __/ (__| < | | | | . \ |
+# | \____|_| |_|\___|\___|_|\_\___|_| |_|_|\_\ |
+# | |
+# | Copyright Mathias Kettner 2012 mk(a)mathias-kettner.de |
+# +------------------------------------------------------------------+
+#
+# This file is part of Check_MK.
+# The official homepage is at http://mathias-kettner.de/check_mk.
+#
+# check_mk is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation in version 2. check_mk is distributed
+# in the hope that it will be useful, but WITHOUT ANY WARRANTY; with-
+# out even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE. See the GNU General Public License for more de-
+# ails. You should have received a copy of the GNU General Public
+# License along with GNU Make; see the file COPYING. If not, write
+# to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+# Boston, MA 02110-1301 USA.
+
+$opt[1] = "--vertical-label \"Watt\" -l 0 -u 60 --title \"Current Power\" ";
+
+
+$def[1] = "DEF:var1=$RRDFILE[1]:$DS[1]:MAX ";
+$def[1] .= "AREA:var1#800040:\"Power\:\" ";
+$def[1] .= "GPRINT:var1:LAST:\"%2.0lfW\" ";
+$def[1] .= "LINE1:var1#800040:\"\" ";
+$def[1] .= "GPRINT:var1:MAX:\"(Max\: %2.0lfW,\" ";
+$def[1] .= "GPRINT:var1:AVERAGE:\"Avg\: %2.0lfW)\" ";
+$def[1] .= "HRULE:$CRIT[1]#FF0000:\"Critical\: $CRIT[1]W\" ";
+
+
+
+?>