Module: check_mk
Branch: master
Commit: 05fb4e3f83a8fbcd8f26dc881eeec0851e7a0c2b
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=05fb4e3f83a8fb…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Fri Oct 18 21:48:09 2013 -0400
Updated bug entries #0930
---
.bugs/930 | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/.bugs/930 b/.bugs/930
index 33ccd2d..b1a9d01 100644
--- a/.bugs/930
+++ b/.bugs/930
@@ -1,13 +1,16 @@
Title: cleanup tmp/nagios/checkresults
Component: core
-State: open
+Class: nastiness
+State: done
Date: 2013-05-08 15:07:10
Targetversion: future
-Class: nastiness
If nagios stops/crashes/reloads while the service Check_MK creates an checkresult file
the .ok file might be missing. Thus thrashing the checkresults directory since no
one is interested in cleaning up this mess.
Solution:
-cronjob in omd which regularly cleans files older than 1 hour
+Clean that directory when starting Nagios
+
+2013-10-18 21:48:01: changed state open -> done
+Done in omdistro.org.
Module: check_mk
Branch: master
Commit: 184f0e31e140d8a3ee76858e7ba2233f9502c2b5
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=184f0e31e140d8…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Fri Oct 18 21:54:17 2013 -0400
Updated bug entries #0952, #0929
---
.bugs/929 | 7 +++++--
.bugs/952 | 2 +-
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/.bugs/929 b/.bugs/929
index 82ab67e..04ba7fe 100644
--- a/.bugs/929
+++ b/.bugs/929
@@ -1,9 +1,9 @@
Title: Notification speedup
Component: core
-State: open
+Class: nastiness
+State: wontfix
Date: 2013-05-08 09:51:56
Targetversion: future
-Class: nastiness
When using large monitoring environments ( thousands of hosts / hundreds of users )
notifications from nagios take quite some time to process (~1 seconds)
@@ -18,3 +18,6 @@ Even worse, nagios hangs while the notifications are processed!
Solution:
Each user gets a precompiled notification file.
So its no longer neccessary to read the entire configuration from scratch when a notication is raised
+
+2013-10-18 21:48:36: changed state open -> wontfix
+Problem solved due keepalive mode in microcore.
diff --git a/.bugs/952 b/.bugs/952
index c7f4078..45a0fb5 100644
--- a/.bugs/952
+++ b/.bugs/952
@@ -3,7 +3,7 @@ Component: livestatus
State: open
Date: 2013-09-16 11:34:56
Targetversion: 1.4.0
-Class: nastiness
+Class: bug
When parsing lines like:
Module: check_mk
Branch: master
Commit: 076840cfe3cd949483d99e93bc43c386cf988092
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=076840cfe3cd94…
Author: Bastian Kuhn <bk(a)mathias-kettner.de>
Date: Fri Oct 18 11:53:30 2013 +0200
windows_tasks: New Check to monitor the Windows Task Scheduler
---
ChangeLog | 1 +
agents/windows/plugins/windows_tasks.ps1 | 2 +
checkman/windows_tasks | 13 ++++++
checks/windows_tasks | 74 ++++++++++++++++++++++++++++++
4 files changed, 90 insertions(+)
diff --git a/ChangeLog b/ChangeLog
index e01e70b..274725a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2297,6 +2297,7 @@
mount points). No external plugin is needed.
* Windows agent: new section <<<fileinfo>>> for monitoring file sizes
(and later possible ages)
+ * windows_tasks: New Check to monitor the Windows Task Scheduler
* logwatch: allow to classify messages based on their count (see
man page of logwatch for details)
* fileinfo: new check for monitoring age and size of files
diff --git a/agents/windows/plugins/windows_tasks.ps1 b/agents/windows/plugins/windows_tasks.ps1
new file mode 100644
index 0000000..4c6420b
--- /dev/null
+++ b/agents/windows/plugins/windows_tasks.ps1
@@ -0,0 +1,2 @@
+echo "<<<windows_tasks:sep(58)>>>"
+schtasks /query /fo csv -v | ConvertFrom-Csv | ? {$_.HostName -match "^$($Env:Computername)$" -and $_.TaskName -notlike '\Microsoft*' -and $_.TaskName -notlike '*zachteHRM*'} | fl taskname,"last run time","next run time","last result","scheduled task state"
\ No newline at end of file
diff --git a/checkman/windows_tasks b/checkman/windows_tasks
new file mode 100644
index 0000000..74a8b35
--- /dev/null
+++ b/checkman/windows_tasks
@@ -0,0 +1,13 @@
+title: Check Windows Task Scheduler
+agents: windows
+catalog: os/misc
+license: GPL
+distribution: check_mk
+description:
+ The Windows Task Scheduler Checks controlls the last return state of windows task scripts.
+ The check goes to {WARNING} state, if the task is disabled. If the Script from the Task returns
+ another return code as 0, the Check goes {CRITICAL}.
+ In order to run, its needed to copy the windows_tasks.ps1 script to the plugin folder of the agent.
+
+inventory:
+ One service will be created for each enabled task
diff --git a/checks/windows_tasks b/checks/windows_tasks
new file mode 100644
index 0000000..a7cd6a9
--- /dev/null
+++ b/checks/windows_tasks
@@ -0,0 +1,74 @@
+#!/usr/bin/python
+# -*- encoding: utf-8; py-indent-offset: 4 -*-
+# +------------------------------------------------------------------+
+# | ____ _ _ __ __ _ __ |
+# | / ___| |__ ___ ___| | __ | \/ | |/ / |
+# | | | | '_ \ / _ \/ __| |/ / | |\/| | ' / |
+# | | |___| | | | __/ (__| < | | | | . \ |
+# | \____|_| |_|\___|\___|_|\_\___|_| |_|_|\_\ |
+# | |
+# | 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.
+
+# Example output from agent:
+
+def windows_tasks_convert(info):
+ data = {}
+ last_task = False
+ for line in info:
+ name = line[0].strip()
+ value = "".join(line[1:]).strip()
+ if last_task and name != "TaskName":
+ data[last_task][name] = value
+
+ if name == 'TaskName':
+ last_task = value
+ data[last_task] = {}
+ return data
+
+def inventory_windows_tasks(info):
+ info = windows_tasks_convert(info)
+ return [ (n, None) for n, v in info.items() if v['Scheduled Task State'] == "Enabled"]
+
+def check_windows_tasks(item, _no_params, info):
+ info = windows_tasks_convert(info)
+ for name, values in info.items():
+ if name == item:
+ last_result = saveint(values['Last Result'])
+ state = 0
+ label = ""
+ msg = []
+ if last_result != 0:
+ state = 2
+ label = "(!!)"
+ msg.append("Service in state: %s%s" % ( last_result, label ) )
+
+ if values['Scheduled Task State'] != 'Enabled':
+ msg.append("Task not Enabled(!)")
+ state = max(state,1)
+
+ return state, ", ".join(msg)
+
+ return 3, "Task not found on server"
+
+check_info["windows_tasks"] = {
+ "check_function" : check_windows_tasks,
+ "inventory_function" : inventory_windows_tasks,
+ "service_description" : "Task %s",
+ "has_perfdata" : False,
+}
+
Module: check_mk
Branch: master
Commit: d074795946a601cfc09b41c320111355dc19b0e2
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=d074795946a601…
Author: Bastian Kuhn <bk(a)mathias-kettner.de>
Date: Fri Oct 18 08:55:57 2013 +0200
Updated bug entries #0833
---
.bugs/833 | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/.bugs/833 b/.bugs/833
new file mode 100644
index 0000000..93c2da3
--- /dev/null
+++ b/.bugs/833
@@ -0,0 +1,9 @@
+Title: It should be possible to submit wato confirmation prompts with enter
+Component: wato
+State: open
+Date: 2013-10-18 08:53:57
+Targetversion: 1.4.0
+Class: feature
+
+If you e.g. delete a Host, there is a confirmation promt asking if you really want to do this.
+The OK button has to be clicked with the mouse, but it would be easyer to push the return key.
Module: check_mk
Branch: master
Commit: 9a9e95fbbe2b6034bd3e5473a91c0cb3c94598ea
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=9a9e95fbbe2b60…
Author: Bastian Kuhn <bk(a)mathias-kettner.de>
Date: Fri Oct 18 08:52:44 2013 +0200
fixed typo
---
web/plugins/wato/active_checks.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/web/plugins/wato/active_checks.py b/web/plugins/wato/active_checks.py
index f6efe8e..c211002 100644
--- a/web/plugins/wato/active_checks.py
+++ b/web/plugins/wato/active_checks.py
@@ -98,8 +98,8 @@ register_rule(group,
title = _("Check FTP Services"),
elements = [
TextAscii ( title = _("Hostname"), allow_empty = False,
- help = _("The hostname of the FTP server you want to check"
- "It is possible to use $HOSTNAME$ or $HOSTADDRESS$ ")
+ help = _("The hostname of the FTP server you want to check. "
+ "It is possible to use $HOSTNAME$.")
),
Dictionary(
elements = [
Module: check_mk
Branch: master
Commit: 508a2da68aafc58902b95d8ff62cd52d10c60cba
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=508a2da68aafc5…
Author: Bastian Kuhn <bk(a)mathias-kettner.de>
Date: Fri Oct 18 15:08:12 2013 +0200
sensatronics_temp: New Check for Sensatronic E4 Temperatur Sensor
---
ChangeLog | 3 +-
checkman/sensatronics_temp | 23 ++++++++++++++
checks/sensatronics_temp | 60 ++++++++++++++++++++++++++++++++++++
web/plugins/perfometer/check_mk.py | 1 +
4 files changed, 86 insertions(+), 1 deletion(-)
diff --git a/ChangeLog b/ChangeLog
index 274725a..02e920f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -47,6 +47,8 @@
* Apache ActiveMQ: New Special Agent and Check to query ActiveMQ Queues
* FIX: hp_proliant: Correct handling of missing snmp data
* FIX: logwatch.ec: No longer forwards "I" lines to event console
+ * windows_tasks: New Check to monitor the Windows Task Scheduler
+ * sensatronics_temp: New Check for Sensatronic E4 Temperatur Sensor
WATO:
* You can now have site-specific global settings when using
@@ -2297,7 +2299,6 @@
mount points). No external plugin is needed.
* Windows agent: new section <<<fileinfo>>> for monitoring file sizes
(and later possible ages)
- * windows_tasks: New Check to monitor the Windows Task Scheduler
* logwatch: allow to classify messages based on their count (see
man page of logwatch for details)
* fileinfo: new check for monitoring age and size of files
diff --git a/checkman/sensatronics_temp b/checkman/sensatronics_temp
new file mode 100644
index 0000000..73a3760
--- /dev/null
+++ b/checkman/sensatronics_temp
@@ -0,0 +1,23 @@
+title: Sensatronic E4 Temperature sensors
+agents: snmp
+catalog: hw/environment
+license: GPL
+distribution: check_mk
+description:
+ This check polls the state of temperature sensors
+ attached to a Sensatronic E4 Device
+
+item:
+ Combination of IO unit number (3-6) and sensors Name
+
+perfdata:
+ One variable: the current temperature in degrees celsius.
+
+inventory:
+ All available temperature sensors are automatically inventorized.
+
+[parameters]
+warn(int): Optional warning level for the temperature. If you use no
+ parameters, then the builtin state will be used (this is the default).
+crit(int): Critical level for the temperature.
+
diff --git a/checks/sensatronics_temp b/checks/sensatronics_temp
new file mode 100644
index 0000000..0fbd9c0
--- /dev/null
+++ b/checks/sensatronics_temp
@@ -0,0 +1,60 @@
+#!/usr/bin/python
+# -*- encoding: utf-8; py-indent-offset: 4 -*-
+# +------------------------------------------------------------------+
+# | ____ _ _ __ __ _ __ |
+# | / ___| |__ ___ ___| | __ | \/ | |/ / |
+# | | | | '_ \ / _ \/ __| |/ / | |\/| | ' / |
+# | | |___| | | | __/ (__| < | | | | . \ |
+# | \____|_| |_|\___|\___|_|\_\___|_| |_|_|\_\ |
+# | |
+# | 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.
+
+sensatronics_temp_default_levels = ( 23.0, 25.0 )
+def inventory_sensatronics_temp(info):
+ return [ (x[0], sensatronics_temp_default_levels) for x in info if savefloat(x[1]) > 0 ]
+
+def check_sensatronics_temp(item, params, info):
+ for line in info:
+ if line[0] == item:
+ warn, crit = params
+ temperatur = savefloat(line[1])
+ message = "Temperatur: %.2f°C" % temperatur
+ perf = [ ('temp', temperatur, warn, crit ) ]
+ if temperatur > crit:
+ return 2, message, perf
+ elif temperatur > warn:
+ return 1, message, perf
+ return 0, message, perf
+
+ return 3, "Sensor not found"
+
+check_info["sensatronics_temp"] = {
+ "check_function" : check_sensatronics_temp,
+ "inventory_function" : inventory_sensatronics_temp,
+ "service_description" : "Sensor %s",
+ "has_perfdata" : True,
+ "group" : "room_temperature",
+ "snmp_scan_function" : lambda oid: oid(".1.3.6.1.2.1.1.2.0") in [".1.3.6.1.4.1.16174.1.1.1"] ,
+ "snmp_info" : (".1.3.6.1.4.1.16174.1.1.1.3",
+ [ x for x in range(16) ],
+ [
+ "1.0", #Sensor Name
+ "2.0", #Sensor Value
+ ]),
+}
+
diff --git a/web/plugins/perfometer/check_mk.py b/web/plugins/perfometer/check_mk.py
index f1d0254..0e1c80a 100644
--- a/web/plugins/perfometer/check_mk.py
+++ b/web/plugins/perfometer/check_mk.py
@@ -274,6 +274,7 @@ perfometers["check_mk-akcp_sensor_temp"] = perfometer_temperature
perfometers["check_mk-fsc_temp"] = perfometer_temperature
perfometers["check_mk-viprinet_temp"] = perfometer_temperature
perfometers["check_mk-hwg_temp"] = perfometer_temperature
+perfometers["check_mk-sensatronics_temp"] = perfometer_temperature
def perfometer_blower(row, check_command, perf_data):
rpm = saveint(perf_data[0][1])
Module: check_mk
Branch: master
Commit: c4a90c75a1abf0635645624836d2c2a84aed0130
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=c4a90c75a1abf0…
Author: Bastian Kuhn <bk(a)mathias-kettner.de>
Date: Fri Oct 18 16:00:29 2013 +0200
akcp_sensor_drycontact: New Check for AKCP drycontact Sensors
---
ChangeLog | 1 +
checkman/akcp_sensor_drycontact | 17 +++++++++++++
checks/akcp_sensor_drycontact | 52 +++++++++++++++++++++++++++++++++++++++
3 files changed, 70 insertions(+)
diff --git a/ChangeLog b/ChangeLog
index 02e920f..1116424 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -49,6 +49,7 @@
* FIX: logwatch.ec: No longer forwards "I" lines to event console
* windows_tasks: New Check to monitor the Windows Task Scheduler
* sensatronics_temp: New Check for Sensatronic E4 Temperatur Sensor
+ * akcp_sensor_drycontact: New Check for AKCP drycontact Sensors
WATO:
* You can now have site-specific global settings when using
diff --git a/checkman/akcp_sensor_drycontact b/checkman/akcp_sensor_drycontact
new file mode 100644
index 0000000..ff5b61f
--- /dev/null
+++ b/checkman/akcp_sensor_drycontact
@@ -0,0 +1,17 @@
+title: AKCP Drycontact Sensor
+agents: snmp
+catalog: hw/environment
+license: GPL
+distribution:
+description:
+ This check monitors the status of a AKCP Drycontact Sensor.
+ The Sensor can have a state {OK} or {CRITICAL} and Check_MK display
+ this states.
+
+item:
+ The item is the sensor description of the sensor as string.
+
+
+inventory:
+ All available sensors are automatically inventorized.
+
diff --git a/checks/akcp_sensor_drycontact b/checks/akcp_sensor_drycontact
new file mode 100644
index 0000000..ff0a5c7
--- /dev/null
+++ b/checks/akcp_sensor_drycontact
@@ -0,0 +1,52 @@
+#!/usr/bin/python
+# -*- encoding: utf-8; py-indent-offset: 4 -*-
+# +------------------------------------------------------------------+
+# | ____ _ _ __ __ _ __ |
+# | / ___| |__ ___ ___| | __ | \/ | |/ / |
+# | | | | '_ \ / _ \/ __| |/ / | |\/| | ' / |
+# | | |___| | | | __/ (__| < | | | | . \ |
+# | \____|_| |_|\___|\___|_|\_\___|_| |_|_|\_\ |
+# | |
+# | 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.
+
+def inventory_akcp_sensor_drycontact(info):
+ return [ ( x[0], None ) for x in info if x[2] == "1" ]
+
+def check_akcp_sensor_drycontact(item, _no_params, info):
+ for line in info:
+ if item == line[0]:
+ state = saveint(line[1])
+ if state == 2:
+ return 0, "Drycontact OK"
+ return 2, "Drycontact on Error"
+ return 3, "Drycontact not found anymore"
+
+check_info["akcp_sensor_drycontact"] = {
+ "check_function" : check_akcp_sensor_drycontact,
+ "inventory_function" : inventory_akcp_sensor_drycontact,
+ "service_description" : "Device %s",
+ "has_perfdata" : False,
+ 'snmp_scan_function' : lambda oid: oid(".1.3.6.1.2.1.1.2.0") in\
+ [ ".1.3.6.1.4.1.3854.1.2.2.1.1", ".1.3.6.1.4.1.3854.1" ],
+ 'snmp_info' : ( ".1.3.6.1.4.1.3854.1.2.2.1.18.1" , [
+ 1, #Sensor Name
+ 3, #Sensor Status (2 = OK, 4 = Not ok)
+ 5, #Sensor Online
+ ] ),
+}
+