Module: check_mk
Branch: master
Commit: 67d2c878ac7b411bb702f1d9b2ecb1b85467d479
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=67d2c878ac7b41…
Author: Bernd Stroessenreuther <bs(a)mathias-kettner.de>
Date: Fri Nov 29 12:22:01 2013 +0100
brocade_mlx: Temperature sensors of one module now in one common check
Up to now, in Brocade MLX devices, each temperature sensor got an own check.
Now the temperature sensors of one module are grouped together in one
common check and one common PNP graph. Should improve readability.
---
.werks/83 | 10 ++++
ChangeLog | 3 +-
checks/brocade_mlx | 54 ++++++++++++++------
pnp-templates/check_mk-brocade_mlx.temperature.php | 47 ++++++++++++++++-
4 files changed, 97 insertions(+), 17 deletions(-)
diff --git a/.werks/83 b/.werks/83
new file mode 100644
index 0000000..8bac6a0
--- /dev/null
+++ b/.werks/83
@@ -0,0 +1,10 @@
+Title: brocade_mlx: Temperature sensors of one module now in one common check
+Level: 1
+Component: checks
+Version: 1.2.3i7
+Date: 1385723866
+Class: feature
+
+Up to now, in Brocade MLX devices, each temperature sensor got an own check.
+Now the temperature sensors of one module are grouped together in one
+common check and one common PNP graph. Should improve readability.
diff --git a/ChangeLog b/ChangeLog
index 4926984..cf3af12 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -26,8 +26,9 @@
* 0099 apc_mod_pdu_modules: New check for APC Modular Power Distribution Unit
* 0072 cmciii_pu_access cmciii_pu_canbus cmciii_pu_io cmciii_pu_temp: New checks for the Rittal CMC-III PU Unit
* 0100 juniper_cpu: New check for CPU utilization on Juniper switches
- * 0101 liebert_chiller_status: New check for Liebert Chiller devices
* 0236 windows_agent: each script can now be configured to run sync / async...
+ * 0101 liebert_chiller_status: New check for Liebert Chiller devices
+ * 0083 brocade_mlx: Temperature sensors of one module now in one common check...
* 0024 FIX: cisco_wlc: removed check configuration parameter ap_model...
* 0003 FIX: ps: Remove exceeding [ and ] in service description when using process inventory...
* 0037 FIX: checkman browser (cmk -m) was not working properly in network subtree...
diff --git a/checks/brocade_mlx b/checks/brocade_mlx
index 025c73d..104d1bc 100644
--- a/checks/brocade_mlx
+++ b/checks/brocade_mlx
@@ -30,7 +30,8 @@ brocade_mlx_info = [ ('.1.3.6.1.4.1.1991.1.1.1.2.1.1', [ 1, 2, 3 ]), # power sup
# modules (id, descr, overall status, MemoryTotal, MemoryAvailable)
('.1.3.6.1.4.1.1991.1.1.2.11.1.1.5', [ OID_END, "" ]),
# modules (Rest of OId starting with module ID, CpuUtilPercent)
- ('.1.3.6.1.4.1.1991.1.1.2.13.1.1', [ 3, 4 ]), # temperature sensors (descr, temperature)
+ ('.1.3.6.1.4.1.1991.1.1.2.13.1.1', [ 3, OID_END, 4 ]),
+ # temperature sensors (descr, sensor ID, temperature)
]
def brocade_mlx_scan(oid):
@@ -278,35 +279,58 @@ check_info["brocade_mlx.module_cpu"] = {
brocade_mlx_temperature_default_levels = (50, 60)
+def compose_item(name):
+ name = re.sub(" *temperature", "", name)
+ name = re.sub(", sensor [0-9]+", "", name)
+ return name
+
def inventory_brocade_mlx_temp(info):
inventory = []
- for temp_descr, temp_value in info[4]:
- inventory.append( (temp_descr, "brocade_mlx_temperature_default_levels") )
+ import pprint; pprint.pprint(info[4])
+ for temp_descr, temp_id, temp_value in info[4]:
+ temp_descr = compose_item(temp_descr)
+ if ((temp_descr, "brocade_mlx_temperature_default_levels") not in inventory):
+ inventory.append( (temp_descr, "brocade_mlx_temperature_default_levels") )
return inventory
def check_brocade_mlx_temp(item, params, info):
warn, crit = params
- for temp_descr, temp_value in info[4]:
- # Info from the MIB: "Each unit is 0.5 degrees Celcius."
- temp_value = int(saveint(temp_value) / 2)
- if temp_descr == item:
+ status = 0
+ message = ""
+ perfdata = []
- status = 0
- if temp_value > warn:
+ for temp_descr, temp_id, temp_value in info[4]:
+ # Info from the MIB: "Each unit is 0.5 degrees Celcius."
+ temp_value = int(temp_value) / 2
+ current_item = compose_item(temp_descr)
+ if current_item == item:
+ # OID_END needs to be used for sensor id because especially
+ # Active management modules may have more temperature sensors
+ # with the same description
+ temp_id = re.sub("[0-9]+\.", "", temp_id)
+ #print "%s : %s : %s" % (temp_descr, temp_id, temp_value);
+
+ if (message != ""):
+ message += ", "
+ message += "Sensor %s: %s°C" % (temp_id, temp_value)
+ if temp_value > warn and status < 1:
status = 1
- if temp_value > crit:
+ message += "(!)"
+ if temp_value > crit and status < 2:
status = 2
+ message += "(!!)"
- perfdata = [ ('temperature', str(temp_value) + 'C', warn, crit, '', '') ]
-
- return status, "Temperature is %s°C" % temp_value, perfdata
+ perfdata.append( ('sensor%s' % temp_id, str(temp_value) + 'C', warn, crit, '', '') )
- return 3, "temp supply %s not found" % item
+ if (message == ""):
+ return 3, "Temperature sensors for %s not found" % item
+ else:
+ return status, message, perfdata
check_info["brocade_mlx.temperature"] = {
"check_function" : check_brocade_mlx_temp,
"inventory_function" : inventory_brocade_mlx_temp,
- "service_description" : "%s",
+ "service_description" : "Temperature %s",
"snmp_info" : brocade_mlx_info,
"snmp_scan_function" : brocade_mlx_scan,
"has_perfdata" : True,
diff --git a/pnp-templates/check_mk-brocade_mlx.temperature.php b/pnp-templates/check_mk-brocade_mlx.temperature.php
deleted file mode 120000
index fd89bc4..0000000
--- a/pnp-templates/check_mk-brocade_mlx.temperature.php
+++ /dev/null
@@ -1 +0,0 @@
-check_mk-dell_powerconnect_temp.php
\ No newline at end of file
diff --git a/pnp-templates/check_mk-brocade_mlx.temperature.php b/pnp-templates/check_mk-brocade_mlx.temperature.php
new file mode 100644
index 0000000..eb9cfbd
--- /dev/null
+++ b/pnp-templates/check_mk-brocade_mlx.temperature.php
@@ -0,0 +1,46 @@
+<?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.
+
+$opt[1] = "--vertical-label $UNIT[1] --slope-mode -l0 -u 45 --title \"" . $this->MACRO['DISP_HOSTNAME'] . ' / ' . $this->MACRO['DISP_SERVICEDESC'] . "\" -w 600";
+
+$line_colors = array( "5f7a2f", "2f8077", "2f5580", "662f80", "802f71", "802f36", "804b2f", "80762f");
+$def[1] = "";
+
+foreach ($NAME as $i => $n) {
+ $def[1] .= "DEF:$n=$RRDFILE[$i]:$DS[1]:AVERAGE ";
+}
+foreach ($NAME as $i => $n) {
+ $ii = $i % 8;
+ $def[1] .= "LINE:$n#$line_colors[$ii]:\"$n\" ";
+ $def[1] .= "GPRINT:$n:LAST:\"Cur\: %.0lf C \" ";
+ $def[1] .= "GPRINT:$n:AVERAGE:\"Avg\: %.0lf C \" ";
+ $def[1] .= "GPRINT:$n:MIN:\"Min\: %.0lf C \" ";
+ $def[1] .= "GPRINT:$n:MAX:\"Max\: %.0lf C \\n\" ";
+}
+
+$def[1] .= "HRULE:$WARN[1]#ffe000:\"Warning at $WARN[1] C\" ";
+$def[1] .= "HRULE:$CRIT[1]#ff0000:\"Critical at $CRIT[1] C \\n\" ";
+
+?>
Module: check_mk
Branch: master
Commit: b76e1b9031bac538fbe2ebf33408e80e75bed374
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=b76e1b9031bac5…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Fri Nov 29 12:04:51 2013 +0100
Aufgeräumnt
---
doc/drafts/LIESMICH.inventur | 58 ------------------------------------------
1 file changed, 58 deletions(-)
diff --git a/doc/drafts/LIESMICH.inventur b/doc/drafts/LIESMICH.inventur
deleted file mode 100644
index 7981f1a..0000000
--- a/doc/drafts/LIESMICH.inventur
+++ /dev/null
@@ -1,58 +0,0 @@
-SERVER-INVENTURISIERUNG
------------------------
-
-(aus der Antwort aus einer Email)
-
-in der Tat haben wir über das Thema diskutiert und ich habe mir auch
-einige Gedanken dazu gemacht. Die Ideen aus dem LIESMICH.interval sind
-nicht zuletzt deswegen entstanden.
-
-Das Konzept, dass mir vorschwebt, ist allerdings nicht, einfach Check_MK
-als Transportmechnismus für ein bestehenden Inventurisierungsskript zu
-nehmen, sondern die vorhandenen Mittel auszureizen. Das Beispiel, das Sie
-mir gemailt haben, zeigt den Grund: der aktuelle Agent sendet bereits heute
-einen Großteil der Daten. Wenn man z.B. unter Linux noch ergänzt:
-
-/proc/cpuinfo
-rpm -qa
-lspci
-dmidecode
-
-Dann hat man fast alles, was was man braucht. Die Idee ist wie beim Monitoring
-mit Check_MK, dass der Agent die Daten nicht vorauswertet - also z.B. nicht
-selbst in der Ausgabe von lspci nach einer Soundkarte sucht - sondern dass
-man das im zentralen Check_MK macht. Das ist effizienter, flexibler, leichter
-änderbar und sorgt vor allem für einen viel einfacheren Agenten.
-
-Was man also tun müsste wäre:
-
-* Agenten um eine Handvoll Plugins erweitern, dabei eventuelle Langläufer
-mit größeren Intervall abfedern. Im obigen Beispiel ist das evtl. noch
-nicht mal notwendig.
-
-* Inventur-basierte Parser für die vorhandenen und neuen relevanten Sektionen
-schreiben. Die extrahieren dann Daten und gliedern sie in einen strukturierten
-Baum ein. Der Baum wird pro Host in eine Daten geschrieben.
-
-* Die Check_MK Kommandozeile um Befehle zur Inventur erweitern.
-
-* Auch im WATO eine Bedienung der Inventur ermöglichen - z.B.
-direktes antriggern. Evtl. ist die Inventur aber einfach als aktiver
-Check realisiert. Damit könnte man die Nagios-Funktionen direkt nutzen
-(z.B. Reschedule).
-
-* In der Multisite-GUI Seiten, mit denen das schön angezeigt werden
-kann. Evtl. verwendet man die Tabellenfunktionen, die es aktuell schon
-gibt. Dadurch könnte man alles nutzen, wie Filter/Suchfunktionen, Sortierung,
-Gruppierung, Freie Spaltenauswahl, Export in JSON, etc. und könnte die
-Daten auch sofort mit Monitoringdaten verknüpfen. Evtl. dann noch ein
-Webservice für einen XML-Export.
-
-* Das ganze im Rahmen des verteilten Monitorings auch umsetzen, also Zugriff
-über Multisite auf Inventurdaten, die auf einem anderen Host liegen -
-oder Synchronisation der Daten.
-
-* Und - am schwierigsten - einen guten Begriff für das ganze finden. Denn
-Check_MK verwendet den Begriff "Inventur" bereits für das automatische
-Einrichten von Services....
-
Module: check_mk
Branch: master
Commit: 86697ed309af9cc60558c86152f98be438a09bdf
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=86697ed309af9c…
Author: Bastian Kuhn <bk(a)mathias-kettner.de>
Date: Thu Nov 28 18:16:13 2013 +0100
liebert_chiller_status: New check for Liebert Chiller devices
---
.werks/101 | 8 +++++++
ChangeLog | 14 ++-----------
checkman/liebert_chiller_status | 9 ++++++++
checks/liebert_chiller_status | 44 +++++++++++++++++++++++++++++++++++++++
4 files changed, 63 insertions(+), 12 deletions(-)
diff --git a/.werks/101 b/.werks/101
new file mode 100644
index 0000000..3f401d1
--- /dev/null
+++ b/.werks/101
@@ -0,0 +1,8 @@
+Title: liebert_chiller_status: New check for Liebert Chiller devices
+Level: 1
+Component: checks
+Version: 1.2.3i7
+Date: 1385658944
+Class: feature
+
+
diff --git a/ChangeLog b/ChangeLog
index 495e69d..024feab 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -23,9 +23,9 @@
* 0070 cmciii_lcp_airin cmciii_lcp_airout cmciii_lcp_fans cmciii_lcp_waterflow cmciii_lcp_waterin cmciii_lcp_waterout: new checks for the Rittal CMC-III LCP device
* 0098 apc_inrow_airflow, apc_inrow_fanspeed, apc_inrow_temp: New checks for APC inrow devices
* 0099 apc_mod_pdu_modules: New check for APC Modular Power Distribution Unit
- * 0100 juniper_cpu: New check for CPU utilization on Juniper switches
- * 0070 cmciii_lcp_airin cmciii_lcp_airout cmciii_lcp_fans cmciii_lcp_waterflow cmciii_lcp_waterin cmciii_lcp_waterout: new checks for the Rittal CMC-III LCP device
* 0072 cmciii_pu_access cmciii_pu_canbus cmciii_pu_io cmciii_pu_temp: New checks for the Rittal CMC-III PU Unit
+ * 0100 juniper_cpu: New check for CPU utilization on Juniper switches
+ * 0101 liebert_chiller_status: New check for Liebert Chiller devices
* 0024 FIX: cisco_wlc: removed check configuration parameter ap_model...
* 0065 FIX: veeam_client: check behaviour improved when backup is in progress
* 0066 FIX: veeam_jobs: check behaviour improved when backup is in progress
@@ -95,16 +95,6 @@
* 0233 FIX: Fixed missing entries in log file and availability view...
- * 0026 FIX: snmptd_mkevent.py: fixed crash on startup
- * 0036 FIX: fixed bug in multisite command execution...
-
- Livestatus:
- * 0067 livedump: new option to mark the mode at the beginning of the dump and documentation fixes...
- * 0023 FIX: Fixed incorrect starttime of table statehist entries...
- * 0034 FIX: Availability no longer showes incorrect entries when only one logfile exists...
- * 0233 FIX: Fixed missing entries in log file or availability view...
-
-
1.2.3i6:
Core & Setup:
* 0041 FIX: setup.py now handles non existing wwwuser gracefully...
diff --git a/checkman/liebert_chiller_status b/checkman/liebert_chiller_status
new file mode 100644
index 0000000..dbc072a
--- /dev/null
+++ b/checkman/liebert_chiller_status
@@ -0,0 +1,9 @@
+title: Liebert Chiller
+agents: snmp
+catalog: hw/environment
+license: GPL
+distribution: check_mk
+description:
+ This check monitors the current state of a Liebert Chiller Device
+ It will returns {CRIT} if device is in an not OK state
+
diff --git a/checks/liebert_chiller_status b/checks/liebert_chiller_status
new file mode 100644
index 0000000..75e5b52
--- /dev/null
+++ b/checks/liebert_chiller_status
@@ -0,0 +1,44 @@
+#!/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_liebhert_chiller_status(info):
+ return [(None,None)]
+
+def check_liebhert_chiller_status(_no_item, _no_params, info):
+ status = info[0][0]
+ if status not in [ "5", "7" ]:
+ return 2, "Device is in a non OK state"
+ return 0, "Device is in a OK state"
+
+
+check_info["liebhert_chiller_status"] = {
+ "check_function" : check_liebhert_chiller_status,
+ "inventory_function" : inventory_liebhert_chiller_status,
+ "service_description" : "Chiller status",
+ "has_perfdata" : False,
+ "snmp_scan_function" : lambda oid: oid(".1.3.6.1.2.1.1.2.0").startswith(".1.3.6.1.4.1.476.1.42.4.3.20"),
+ "snmp_info" : (".1.3.6.1.4.1.476.1.42.4.3.20.1.1.20", [ 2 ])
+}
Module: check_mk
Branch: master
Commit: 75f9586d18910ce7c015c11c44a97590bd43057f
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=75f9586d18910c…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Thu Nov 28 16:13:58 2013 +0100
Fixed conflicts in ChangeLog
---
ChangeLog | 97 -------------------------------------------------------------
1 file changed, 97 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index d6e929e..b939f1f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -99,103 +99,6 @@
* 0233 FIX: Fixed missing entries in log file and availability view...
-<<<<<<< HEAD
- * 0236 windows_agent: each script can now be configured to run sync / async...
-=======
- * 0072 cmciii_pu_access cmciii_pu_canbus cmciii_pu_io cmciii_pu_temp: New checks for the Rittal CMC-III PU Unit
- * 0100 juniper_cpu: New check for CPU utilization on Juniper switches
->>>>>>> 24701069454e2677c48a43158a0f615e9b8824fb
- * 0024 FIX: cisco_wlc: removed check configuration parameter ap_model...
- * 0003 FIX: ps: Remove exceeding [ and ] in service description when using process inventory...
- * 0037 FIX: checkman browser (cmk -m) was not working properly in network subtree...
- * 0283 FIX: Interface Checks: ignore invalid error counts while interface is down...
- * 0081 FIX: Fixed corruption in SNMP walks created with cmk --snmpwalk...
-
- Multisite:
- * 0001 New filters for selecting several host/service-groups at once...
- * 0050 New concept of favorite hosts and services plus matching filters and views...
- * 0211 GUI Notify: Added notify method "popup" to really create popup windows...
- * 0215 Added option to make HTML escape in plugin outputs configurable...
- * 0071 livedump: new option to include contact_groups instead of contacts when dumping configuration
- * 0043 FIX: LDAP: Improved error reporting during synchronisation...
- * 0044 FIX: LDAP: Fixed error with empty groups during non nested group sync...
- * 0045 FIX: LDAP: Fixed error when synchronizing non nested groups to roles...
- * 0046 FIX: Fixed editing contactgroup assignments of hosts or folders with "-" in names...
- * 0049 FIX: Fixed useless I/O during page processing...
- * 0203 FIX: Changed sidebar reload interval to be more random...
- * 0204 FIX: Reduced I/O on logins with access time recording or failed login counts...
- * 0206 FIX: Fixed logwatch permission check when using liveproxy for normal users...
- * 0210 FIX: LDAP: Fixed problem syncing contactgroups of a user with umlauts in CN
- * 0035 FIX: http[s] links are display again in the plugin output...
- * 0006 FIX: Checkboxes for hosts/services were missing on modified views...
- * 0284 FIX: Context help toggled on/off randomly...
- * 0285 FIX: Fixed bookmarking of absolute URLs or PNP/NagVis URLs in sidebar snapin...
-
- WATO:
- * 0053 New rule for configuring the display_name of a service...
- * 0216 Supporting float values as SNMP timeout value now...
- * 0082 Improved online help for LDAP connections...
- * 0048 FIX: Tests on host diagnose page are executed parallel now...
- * 0033 FIX: Fixed problem when saving settings in WATOs host diagnostic page...
- * 0205 FIX: NagVis related permissions of roles can be edited again...
- * 0207 FIX: Explicit communities were not saved in all cases...
- * 0094 FIX: Hide SNMPv3 credentials in WATO...
- * 0212 FIX: Fixed broken site edit page in case a TCP socket has been configured...
- * 0095 FIX: Fixed problem with portnumber in Wato Distributed Monitoring dialog
- * 0213 FIX: LDAP: Various small improvements for handling the LDAP user connector...
- * 0039 FIX: Fixed exception on displaying WATO helptexts in the global settings...
- * 0219 FIX: Fixed display problems in WATO folders with long contact group names
- * 0220 FIX: Added HTML escaping to several global settings attributes...
- * 0234 FIX: Improved handling of interface inventory states / types...
-
- Notifications:
- * 0005 Added notification script for sending SMS via mobilant.com...
- * 0032 FIX: Fixed problem when forwarding notification mails in windows...
- * 0218 FIX: Fixed rendering of HTML mails for Outlook (at least 2013)...
-
- Reporting & Availability:
- * 0051 Option for showing timeline directly in availability table...
- * 0052 Visual colorization of availability according to levels...
- * 0054 New labelling options for availability table...
- * 0055 Allow grouping by host, host group or service group...
- * 0056 New concept of service periods in availability reporting...
- * 0002 You can now annotate events in the availability reporting...
-
- Event Console:
- * 0026 FIX: snmptd_mkevent.py: fixed crash on startup
- * 0036 FIX: Fixed bug where multsite commands did not work properly...
-
- Livestatus:
- * 0067 livedump: new option to mark the mode at the beginning of the dump and documentation fixes...
- * 0023 FIX: Fixed incorrect starttime of table statehist entries...
- * 0034 FIX: Availability no longer showes incorrect entries when only one logfile exists...
- * 0233 FIX: Fixed missing entries in log file and availability view...
-
-
-<<<<<<< HEAD
-<<<<<<< HEAD
- * 0026 FIX: snmptd_mkevent.py: fixed crash on startup
- * 0036 FIX: fixed bug in multisite command execution...
-
- Livestatus:
- * 0067 livedump: new option to mark the mode at the beginning of the dump and documentation fixes...
- * 0023 FIX: table statehist: code cleanup / minor performance improvements
- * 0034 FIX: table statehist: no more missing entries if only one logfile exists
- * 0233 FIX: Fixed missing entries in log file and availability view...
-=======
- * 0026 FIX: snmpd_mkevent.py: fixed crash on startup
- * 0036 FIX: Fixed bug where multsite commands did not work properly...
-
- Livestatus:
- * 0067 livedump: new option to mark the mode at the beginning of the dump and documentation fixes...
- * 0023 FIX: Fixed incorrect starttime of table statehist entries...
- * 0034 FIX: Availability no longer showes incorrect entries when only one logfile exists...
- * 0233 FIX: Fixed missing entries in log file or availability view...
->>>>>>> 76d0c2c483e7807fec360708fb2ad5b03479dead
-
-
-=======
->>>>>>> 24701069454e2677c48a43158a0f615e9b8824fb
1.2.3i6:
Core & Setup:
* 0041 FIX: setup.py now handles non existing wwwuser gracefully...
Module: check_mk
Branch: master
Commit: 9ab3d8cbdd92dd2bca17ec6727c8ca0d49d68ff1
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=9ab3d8cbdd92dd…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Thu Nov 28 12:10:12 2013 +0100
FIX Error messages of datasource programs (e.g. VSphere Agent) are now visible within WATO
In previous versions, the error messages produced by datasource programs, e.g. during service
inventory or host diagnose, were not visible in WATO. The messages are now processed to be
shown in the GUI when an error occured.
---
.werks/288 | 10 ++++++++++
ChangeLog | 1 +
modules/check_mk_base.py | 14 ++++++++------
3 files changed, 19 insertions(+), 6 deletions(-)
diff --git a/.werks/288 b/.werks/288
new file mode 100644
index 0000000..49913ea
--- /dev/null
+++ b/.werks/288
@@ -0,0 +1,10 @@
+Title: Error messages of datasource programs (e.g. VSphere Agent) are now visible within WATO
+Level: 1
+Component: core
+Version: 1.2.3i7
+Date: 1385636887
+Class: fix
+
+In previous versions, the error messages produced by datasource programs, e.g. during service
+inventory or host diagnose, were not visible in WATO. The messages are now processed to be
+shown in the GUI when an error occured.
diff --git a/ChangeLog b/ChangeLog
index f7c377c..70ba72e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,7 @@
1.2.3i7:
Core & Setup:
* 0217 FIX: More verbose error output for SNMP errors on the command line...
+ * 0288 FIX: Error messages of datasource programs (e.g. VSphere Agent) are now visible within WATO...
Checks & Agents:
* 0060 cisco_fantray: new check for monitoring fan trays of Cisco Nexus switches
diff --git a/modules/check_mk_base.py b/modules/check_mk_base.py
index a1a5f60..e2aed27 100644
--- a/modules/check_mk_base.py
+++ b/modules/check_mk_base.py
@@ -613,21 +613,23 @@ def get_agent_info(hostname, ipaddress, max_cache_age):
# Get data in case of external program
def get_agent_info_program(commandline):
+ import subprocess
if opt_verbose:
sys.stderr.write("Calling external program %s\n" % commandline)
try:
- sout = os.popen(commandline + " 2>/dev/null")
- output = sout.read()
- exitstatus = sout.close()
+ p = subprocess.Popen(commandline, shell = True, stdout = subprocess.PIPE, stderr = subprocess.PIPE)
+ exitstatus = p.wait()
+ stdout = p.stdout.read()
+ stderr = p.stderr.read()
except Exception, e:
raise MKAgentError("Could not execute '%s': %s" % (commandline, e))
if exitstatus:
- if exitstatus >> 8 == 127:
+ if exitstatus == 127:
raise MKAgentError("Program '%s' not found (exit code 127)" % (commandline,))
else:
- raise MKAgentError("Agent exited with code %d" % (exitstatus >> 8,))
- return output
+ raise MKAgentError("Agent exited with code %d: %s" % (exitstatus, stderr))
+ return stdout
# Get data in case of TCP
def get_agent_info_tcp(hostname, ipaddress, port = None):
Module: check_mk
Branch: master
Commit: 380d49f1aad9853edc96c4170f016feab1c92c40
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=380d49f1aad985…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Thu Nov 28 12:00:00 2013 +0100
Updated bug entries #2092
---
.bugs/2092 | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/.bugs/2092 b/.bugs/2092
new file mode 100644
index 0000000..298da6b
--- /dev/null
+++ b/.bugs/2092
@@ -0,0 +1,10 @@
+Title: Impossible to change availability time range when too long to process the page
+Component: multisite
+State: open
+Date: 2013-11-28 11:58:45
+Targetversion: 1.2.3i6
+Class: bug
+
+It is impossible to fix time ranges set by the user in the GUI, when the currently choosen
+range results in a never loading availability page, since the settings can only be changed
+that page that never loads.