Module: check_mk
Branch: master
Commit: 4835620c068127322ebc7bfc080b113fafddb103
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=4835620c068127…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Fri Mar 6 12:25:46 2015 +0100
#2091 FIX The check-mk-agent RPM packages can now update the old check_mk-agent named RPMs
We added the RPM header "Obsoletes" which marks the new packages named check-mk-agent
as package updating the old named packages check_mk-agent. Updating the old agents
is now possible with these packages.
---
.werks/2091 | 12 ++++++++++++
ChangeLog | 1 +
agents/check-mk-agent.spec | 1 +
3 files changed, 14 insertions(+)
diff --git a/.werks/2091 b/.werks/2091
new file mode 100644
index 0000000..7a9c4fc
--- /dev/null
+++ b/.werks/2091
@@ -0,0 +1,12 @@
+Title: The check-mk-agent RPM packages can now update the old check_mk-agent named RPMs
+Level: 1
+Component: checks
+Class: fix
+Compatible: compat
+State: unknown
+Version: 1.2.7i1
+Date: 1425641049
+
+We added the RPM header "Obsoletes" which marks the new packages named check-mk-agent
+as package updating the old named packages check_mk-agent. Updating the old agents
+is now possible with these packages.
diff --git a/ChangeLog b/ChangeLog
index 6c0ea44..e4c66ee 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -232,6 +232,7 @@
* 2051 FIX: windows agent: no longer outputs stderr of local and plugin scripts...
* 2088 FIX: cisco_cpu: Dealing with non CPU utilization information correctly...
* 2055 FIX: agent_vsphere, licenses check: now really configurable on / off...
+ * 2091 FIX: The check-mk-agent RPM packages can now update the old check_mk-agent named RPMs...
Multisite:
* 1758 Improved exception hander: Shows details without additional debug request, added mailto link for error report...
diff --git a/agents/check-mk-agent.spec b/agents/check-mk-agent.spec
index ddafa42..82639f4 100644
--- a/agents/check-mk-agent.spec
+++ b/agents/check-mk-agent.spec
@@ -34,6 +34,7 @@ BuildRoot: %{_topdir}/buildroot
AutoReq: off
AutoProv: off
BuildArch: noarch
+Obsoletes: check_mk-agent
%description
The Check_MK Agent uses xinetd to provide information about the system
Module: check_mk
Branch: master
Commit: 9af04059a7060c7a52d68db8379de03136712118
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=9af04059a7060c…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Wed Mar 4 11:19:46 2015 +0100
#2041 Notification Spooler can now handle incoming and outgoing persistent TCP connections
The Check_MK Notification Spooler (<tt>mknotifyd</tt>) has completely been rewritten. It
now:
<ul>
<li>uses persistent TCP connections instead of connecting for each notifiction</li>
<li>can use outgoing TCP connections for <i>receiving</i> notifictions</li>
<li>can handle an arbitrary number of parallel connctions</li>
<li>monitors connections with heart beats</li>
<li>is being monitored by two new checks for the general state and for each connection</li>
</ul>
The global configuration for the spooler has changed. Your existing settings
are still supported but have vanished from WATO. As soon as you create a
new configuration that will override your legacy configuration.
The new checks that monitor the spooler require an update of the Check_MK
Agent for Linux on the Check_MK server. It needs OMD based installaions
paths. All spoolers will automatically be discovered. The new checks are
<tt>mknotifyd</tt> and <tt>mknotifyd.connection</tt>.
The spooler write messages into <tt>var/log/mknotifyd.log</tt>. There are
three log levels, which can be configured in the global settings of the
spooler. We propose starting with the highest log level. Also a file
<tt>var/log/mknotifyd.log</tt> is being written every 20 seconds. It
shows the state of the spooler and its connections. This is being used
for the monitoring of the spooler.
---
.werks/2041 | 34 +
ChangeLog | 1 +
agents/check_mk_agent.linux | 14 +-
checkman/mknotifyd | 16 +
checkman/mknotifyd.connection | 19 +
checks/mknotifyd | 226 ++++++
doc/treasures/mknotifyd | 1135 +++++++++++++++++++++---------
modules/catalog.py | 1 +
modules/notify.py | 50 +-
web/htdocs/wato.css | 3 +-
web/plugins/wato/globals_notification.py | 3 +
web/plugins/wato/mknotifyd.py | 208 ++++--
12 files changed, 1295 insertions(+), 415 deletions(-)
Diff: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commitdiff;h=9af04059a7…
Module: check_mk
Branch: master
Commit: 812a5cb38f1f21ca943d43cb8728e2009f502c40
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=812a5cb38f1f21…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Thu Mar 5 12:49:12 2015 +0100
#2089 FIX Debug mode shows details about errors in autochecks as expected now
---
.werks/2089 | 10 ++++++++++
ChangeLog | 3 ++-
modules/discovery.py | 8 ++++----
3 files changed, 16 insertions(+), 5 deletions(-)
diff --git a/.werks/2089 b/.werks/2089
new file mode 100644
index 0000000..58fdc18
--- /dev/null
+++ b/.werks/2089
@@ -0,0 +1,10 @@
+Title: Debug mode shows details about errors in autochecks as expected now
+Level: 1
+Component: core
+Class: fix
+Compatible: compat
+State: unknown
+Version: 1.2.7i1
+Date: 1425556119
+
+
diff --git a/ChangeLog b/ChangeLog
index 3785ddb..de9f62d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -17,6 +17,7 @@
* 2014 FIX: Fixed different issues running Check_MK on CentOS 5.x
* 2037 FIX: Inventorize piggy back data even if access to normal agent fails
* 2016 FIX: Fixed service discovery / monitoring on hosts which have only piggyback data (e.g. ESX VMs)...
+ * 2089 FIX: Debug mode shows details about errors in autochecks as expected now
Checks & Agents:
* 1665 agent_netapp: New special agent for NetApp monitoring via Web-API...
@@ -105,11 +106,11 @@
* 2052 winperf_if: Now able to automatically group teamed interfaces and more...
NOTE: Please refer to the migration notes!
* 2053 New windows plugin: windows_if.ps1, renders wmic_if.ps1 obsolete...
- * 1894 hwg_humidity: New check to monitor humidity sensors attached to HWg-STE...
* 1864 akcp_exp_drycontact, akcp_exp_temp : change to service output and levels...
* 2043 ibm_svc_mdiskgrp: Fix computation of capacity, show and check provisioning...
NOTE: Please refer to the migration notes!
* 2044 IBM SVC checks: renamed services, remove bogus IBM SVC...
+ * 1894 hwg_humidity: New check to monitor humidity sensors attached to HWg-STE...
* 1457 FIX: logins: new check renamed from "users" check...
NOTE: Please refer to the migration notes!
* 1762 FIX: lnx_thermal: Now ignoring trip points with level 0...
diff --git a/modules/discovery.py b/modules/discovery.py
index 0315c32..1c7008c 100644
--- a/modules/discovery.py
+++ b/modules/discovery.py
@@ -721,16 +721,16 @@ def read_autochecks_of(hostname, world="config"):
try:
autochecks_raw = eval(file(filepath).read())
except SyntaxError,e:
- if opt_verbose:
+ if opt_verbose or opt_debug:
sys.stderr.write("Syntax error in file %s: %s\n" % (filepath, e))
if opt_debug:
- sys.exit(3)
+ raise
return []
except Exception, e:
- if opt_verbose:
+ if opt_verbose or opt_debug:
sys.stderr.write("Error in file %s:\n%s\n" % (filepath, e))
if opt_debug:
- sys.exit(3)
+ raise
return []
# Exchange inventorized check parameters with those configured by
Module: check_mk
Branch: master
Commit: a82bd0539e7b12934228ec84187d5c5ceae3c543
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=a82bd0539e7b12…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Thu Mar 5 08:45:11 2015 +0100
Fixed syntax error in man page
---
checkman/statgrab_net | 1 -
1 file changed, 1 deletion(-)
diff --git a/checkman/statgrab_net b/checkman/statgrab_net
index c72f923..90e8f01 100644
--- a/checkman/statgrab_net
+++ b/checkman/statgrab_net
@@ -3,7 +3,6 @@ agents: hpux, solaris
catalog: os/networking
license: GPL
distribution: check_mk
-
description:
Reports the network traffic, the port state and the error counters for interfaces
using the command line tool {statgrab} on Solaris and HP-UX.
Module: check_mk
Branch: master
Commit: 9543fcfffbbc7da656aa7fcecc61a372aaaf86fa
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=9543fcfffbbc7d…
Author: Konstantin Büttner <kb(a)mathias-kettner.de>
Date: Wed Mar 4 18:17:11 2015 +0100
#1894 hwg_humidity: New check to monitor humidity sensors attached to HWg-STE
Accessory humidity sensors attached to HWg-STE ethernet thermometers are now
inventorized and checked.
---
.werks/1894 | 10 +++++
ChangeLog | 1 +
checkman/hwg_humidity | 23 ++++++++++++
checks/humidity.include | 60 +++++++++++++++++++++++++++++
checks/hwg_humidity | 79 +++++++++++++++++++++++++++++++++++++++
web/plugins/metrics/check_mk.py | 1 +
6 files changed, 174 insertions(+)
diff --git a/.werks/1894 b/.werks/1894
new file mode 100644
index 0000000..0ca3ef4
--- /dev/null
+++ b/.werks/1894
@@ -0,0 +1,10 @@
+Title: hwg_humidity: New check to monitor humidity sensors attached to HWg-STE
+Level: 1
+Component: checks
+Compatible: compat
+Version: 1.2.7i1
+Date: 1425489361
+Class: feature
+
+Accessory humidity sensors attached to HWg-STE ethernet thermometers are now
+inventorized and checked.
diff --git a/ChangeLog b/ChangeLog
index dcf70e1..6d29eb9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -105,6 +105,7 @@
* 2052 winperf_if: Now able to automatically group teamed interfaces and more...
NOTE: Please refer to the migration notes!
* 2053 New windows plugin: windows_if.ps1, renders wmic_if.ps1 obsolete...
+ * 1894 hwg_humidity: New check to monitor humidity sensors attached to HWg-STE...
* 1457 FIX: logins: new check renamed from "users" check...
NOTE: Please refer to the migration notes!
* 1762 FIX: lnx_thermal: Now ignoring trip points with level 0...
diff --git a/checkman/hwg_humidity b/checkman/hwg_humidity
new file mode 100644
index 0000000..279c1d1
--- /dev/null
+++ b/checkman/hwg_humidity
@@ -0,0 +1,23 @@
+title: HWg-STE Ethernet Thermometer: Humidity
+agents: snmp
+catalog: hw/environment/hwg
+license: GPL
+distribution: check_mk
+description:
+ This check monitors humidity via an accessory humidity sensor attached to
+ the HWg-STE Ethernet thermometer.
+
+item:
+ The name of the sensor "a string".
+
+perfdata:
+ One variable: the current humidity.
+
+inventory:
+ All available humidity sensors are automatically inventorized.
+
+[parameters]
+critical low (int): lower border for triggering critical level
+warning low (int): lower border for warning level
+warning high (int): upper border for triggering warning level
+critical high (int): upper border for critical level
diff --git a/checks/humidity.include b/checks/humidity.include
new file mode 100644
index 0000000..6ab52ff
--- /dev/null
+++ b/checks/humidity.include
@@ -0,0 +1,60 @@
+#!/usr/bin/python
+# -*- encoding: utf-8; py-indent-offset: 4 -*-
+# +------------------------------------------------------------------+
+# | ____ _ _ __ __ _ __ |
+# | / ___| |__ ___ ___| | __ | \/ | |/ / |
+# | | | | '_ \ / _ \/ __| |/ / | |\/| | ' / |
+# | | |___| | | | __/ (__| < | | | | . \ |
+# | \____|_| |_|\___|\___|_|\_\___|_| |_|_|\_\ |
+# | |
+# | Copyright Mathias Kettner 2015 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.
+
+def check_humidity(humidity, params):
+
+ if params:
+ crit_lower, warn_lower, warn_upper, crit_upper = params
+ else:
+ crit_lower, warn_lower, warn_upper, crit_upper = -1, -1, 101, 101
+
+ perfdata = [ ("humidity", humidity, warn_upper, crit_upper, 0, 100) ]
+ infotext = get_percent_human_readable(humidity)
+ levelstext = ""
+ levelstext_lower = " (warn/crit at or below %s/%s)" % (
+ get_percent_human_readable(warn_lower),
+ get_percent_human_readable(crit_lower))
+ levelstext_upper = " (warn/crit at or above %s/%s)" % (
+ get_percent_human_readable(warn_upper),
+ get_percent_human_readable(crit_upper))
+
+ if humidity <= crit_lower:
+ status = 2
+ levelstext += levelstext_lower
+ elif humidity >= crit_upper:
+ status = 2
+ levelstext += levelstext_upper
+ elif humidity <= warn_lower:
+ status = 1
+ levelstext += levelstext_lower
+ elif humidity >= warn_upper:
+ status = 1
+ levelstext += levelstext_upper
+ else:
+ status = 0
+
+ infotext += levelstext
+ return status, infotext, perfdata
diff --git a/checks/hwg_humidity b/checks/hwg_humidity
new file mode 100644
index 0000000..7307adc
--- /dev/null
+++ b/checks/hwg_humidity
@@ -0,0 +1,79 @@
+#!/usr/bin/python
+# -*- encoding: utf-8; py-indent-offset: 4 -*-
+# +------------------------------------------------------------------+
+# | ____ _ _ __ __ _ __ |
+# | / ___| |__ ___ ___| | __ | \/ | |/ / |
+# | | | | '_ \ / _ \/ __| |/ / | |\/| | ' / |
+# | | |___| | | | __/ (__| < | | | | . \ |
+# | \____|_| |_|\___|\___|_|\_\___|_| |_|_|\_\ |
+# | |
+# | Copyright Mathias Kettner 2015 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.
+
+
+hwg_humidity_defaultlevels = (0, 0, 60, 70)
+
+def inventory_hwg_humidity(info):
+ return [ (line[0], "hwg_humidity_defaultlevels")
+ for line in info
+ if int(line[2]) != 0 and line[4] in ["4"] ]
+
+
+def check_hwg_humidity(item, params, info):
+# status_text = {
+# "0" : "Invalid",
+# "1" : "Normal",
+# "2" : "Out Of Range Low",
+# "3" : "Out Of Range High",
+# "4" : "Alarm Low",
+# "5" : "Alarm High",
+# }
+
+ # Nomenclature in this check: sensorstatus is what the device sends, status is what the check returns.
+ for index, descr, sensorstatus, current, unit in info:
+ if index == item:
+ if unit != "4":
+ return
+
+ humidity = float(current)
+ status, infotext, perfdata = check_humidity(humidity, params)
+ if descr:
+ infotext += " (%s)" % descr
+ return status, infotext, perfdata
+
+
+
+check_info['hwg_humidity'] = {
+ "check_function" : check_hwg_humidity,
+ "inventory_function" : inventory_hwg_humidity,
+ "service_description" : "Humidity %s",
+ "has_perfdata" : True,
+ "snmp_info" : (".1.3.6.1.4.1.21796.4.1.3", [# sensors index (1-2)
+ "1.1",
+ # sensor name string
+ "1.2",
+ # unit state: 0=Invalid, 1=Normal, 2=OutOfRangeLo, 3=OutOfRangeHi, 4=AlarmLo, 5=AlarmHi
+ "1.3",
+ # current value string
+ "1.4",
+ # sensor unit integer 0=unknown, 1=°C, 2=°F, 3=°K, 4=%
+ "1.7",
+ ]),
+ "snmp_scan_function" : lambda oid: "hwg" in oid(".1.3.6.1.2.1.1.1.0").lower(),
+ "group" : "humidity",
+}
+
diff --git a/web/plugins/metrics/check_mk.py b/web/plugins/metrics/check_mk.py
index b292830..ca7c735 100644
--- a/web/plugins/metrics/check_mk.py
+++ b/web/plugins/metrics/check_mk.py
@@ -491,6 +491,7 @@ check_metrics["check_mk-adva_fsp_current"] = {}
check_metrics["check_mk-akcp_exp_humidity"] = {}
check_metrics["check_mk-apc_humidity"] = {}
+check_metrics["check_mk-hwg_humidity"] = {}
check_metrics["check_mk-apache_status"] = { "ReqPerSec" : { "name" : "requests_per_second" }, "BusyWorkers" : { "name" : "busy_workers" }}
Module: check_mk
Branch: master
Commit: 285420523479f04a6fd76bea43d5d75838cfb227
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=285420523479f0…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Wed Mar 4 17:37:10 2015 +0100
#2045 FIX Avoid fetching SNMP data when showing service list in WATO - unless Full Scan is pressed
---
.werks/2045 | 10 ++++++++++
ChangeLog | 1 +
modules/automation.py | 9 ++++++++-
3 files changed, 19 insertions(+), 1 deletion(-)
diff --git a/.werks/2045 b/.werks/2045
new file mode 100644
index 0000000..e26127e
--- /dev/null
+++ b/.werks/2045
@@ -0,0 +1,10 @@
+Title: Avoid fetching SNMP data when showing service list in WATO - unless Full Scan is pressed
+Level: 2
+Component: wato
+Class: fix
+Compatible: compat
+State: unknown
+Version: 1.2.7i1
+Date: 1425487004
+
+
diff --git a/ChangeLog b/ChangeLog
index d599157..f8f80d7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -320,6 +320,7 @@
* 2078 FIX: Fixed exception with some snapshots when using a localized GUI...
* 2080 FIX: Fixed UnicodeDecodeError when using a localized GUI on notification configuration page
* 2084 FIX: Disabled notification for a user is now shown on profile page even when not permitted to edit...
+ * 2045 FIX: Avoid fetching SNMP data when showing service list in WATO - unless Full Scan is pressed
Notifications:
* 1662 notification plugin spectrum: finalized script. now able to handle host notications
diff --git a/modules/automation.py b/modules/automation.py
index 6d20c45..f2044c7 100644
--- a/modules/automation.py
+++ b/modules/automation.py
@@ -193,7 +193,7 @@ def automation_discovery(args):
return counts, failed_hosts
-def automation_try_discovery(args): #### , leave_no_tcp=False, with_snmp_scan=False):
+def automation_try_discovery(args):
use_caches = False
do_snmp_scan = False
if args[0] == '@noscan':
@@ -205,6 +205,13 @@ def automation_try_discovery(args): #### , leave_no_tcp=False, with_snmp_scan=Fa
do_snmp_scan = True
use_caches = False
+ # TODO: Remove this unlucky option opt_use_cachefile. At least do not
+ # handle this option so deep in the code. It should only be handled
+ # by top-level functions.
+ global opt_use_cachefile, check_max_cachefile_age
+ opt_use_cachefile = use_caches
+ if use_caches:
+ check_max_cachefile_age = inventory_max_cachefile_age
hostname = args[0]
table = get_check_preview(hostname, use_caches=use_caches, do_snmp_scan=do_snmp_scan)
return table