Module: check_mk
Branch: master
Commit: 33937f0317905fd388d34ca4614252c4fb9922ed
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=33937f0317905f…
Author: Götz Golla <gg(a)mathias-kettner.de>
Date: Wed Nov 6 16:40:05 2013 +0100
veeam_jobs: new check to monitor the backup jobs of the veeam backup tool
This check monitors the status of the backups jobs run by the Veeam
backup tool. In order to carry out the check, the Veeam agent plugin
for windows needs to be installed on the backup server.
---
.werks/64 | 10 +++++++++
ChangeLog | 1 +
checkman/veeam_jobs | 21 +++++++++++++++++++
checks/veeam_jobs | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 88 insertions(+)
diff --git a/.werks/64 b/.werks/64
new file mode 100644
index 0000000..cd4929c
--- /dev/null
+++ b/.werks/64
@@ -0,0 +1,10 @@
+Title: veeam_jobs: new check to monitor the backup jobs of the veeam backup tool
+Level: 1
+Component: checks
+Version: 1.2.3i7
+Date: 1383751852
+Class: feature
+
+This check monitors the status of the backups jobs run by the Veeam
+backup tool. In order to carry out the check, the Veeam agent plugin
+for windows needs to be installed on the backup server.
diff --git a/ChangeLog b/ChangeLog
index 57acd14..0916322 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -3,6 +3,7 @@
* 0060 cisco_fantray: new check for monitoring fan trays of Cisco Nexus switches...
* 0061 cisco_cpu: check now recognizes new object cpmCPUTotal5minRev...
* 0063 veeam_client: new check to monitor status of veeam clients with special agent plugin...
+ * 0064 veeam_jobs: new check to monitor the backup jobs of the veeam backup tool...
* 0024 FIX: cisco_wlc: removed configuration parameter ap_model...
Multisite:
diff --git a/checkman/veeam_jobs b/checkman/veeam_jobs
new file mode 100644
index 0000000..e9121e3
--- /dev/null
+++ b/checkman/veeam_jobs
@@ -0,0 +1,21 @@
+title: veeam backup server check
+agents: windows
+catalog: os/storage
+license: GPL
+distribution: check_mk
+description:
+ This check monitors the status of the backups jobs run by the Veeam
+ backup tool. In order to carry out the check, the Veeam agent plugin
+ needs to be installed on the backup server. See special instructions in the
+ comment section of the two Veeam agent plugin scripts on how to install
+ the scripts.
+
+ This check is {OK} if the result of the backup is {Success}.
+ It is {CRIT} if the result of the backup is {Failed}. It is
+ {UNKNOWN} in all other cases.
+
+inventory:
+ A check will be created for all backup jobs run by the Veeam tool.
+
+item:
+ The name of the backup job.
diff --git a/checks/veeam_jobs b/checks/veeam_jobs
new file mode 100644
index 0000000..491cef9
--- /dev/null
+++ b/checks/veeam_jobs
@@ -0,0 +1,56 @@
+#!/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.
+
+state = { "Success": 0, "Failed": 2, "Warning":1, "InProgress":0, "Pending":0 }
+
+def inventory_veeam_jobs(info):
+ return [ (x[0], None) for x in info ]
+
+
+def check_veeam_jobs(item, params, info):
+ for line in info:
+ if line[0] == item:
+ if line[3] == "Success":
+ state = 0
+ elif line[3] == "Failed":
+ state = 2
+ else:
+ state = 3
+ infotxt = "Result: %s, " % line[3]
+ line.pop(3)
+ line.pop(0)
+ infotxt += ", ".join(map(str,line) )
+ return (state, infotxt )
+
+ return 3, "item not found in agent output"
+
+check_info["veeam_jobs"] = {
+ 'check_function': check_veeam_jobs,
+ 'inventory_function': inventory_veeam_jobs,
+ 'service_description': 'VEEAM Job',
+ 'has_perfdata': False,
+}
+
Module: check_mk
Branch: master
Commit: da280d72ab132f57ba49fe4fe4e96377f836982e
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=da280d72ab132f…
Author: Götz Golla <gg(a)mathias-kettner.de>
Date: Wed Nov 6 16:22:02 2013 +0100
veeam_client: new check to monitor status of veeam clients with special agent plugin
This new check monitors client operations of the veeam backup tool. It comes with the
check script, template for pnp4nagios, and a special windows agent plugin which needs
to be installed on the veeam server. It monitors the state of the backup operation,
and stores the total backup size, backup duration and data thruput of the backup as
performance data.
---
.werks/63 | 12 ++++
ChangeLog | 1 +
agents/windows/plugins/veeam_backup_status.bat | 8 +++
agents/windows/plugins/veeam_backup_status.ps1_ | Bin 0 -> 9654 bytes
checkman/veeam_client | 26 +++++++++
checks/veeam_client | 71 +++++++++++++++++++++++
pnp-templates/check_mk-veeam_client.php | 52 +++++++++++++++++
7 files changed, 170 insertions(+)
diff --git a/.werks/63 b/.werks/63
new file mode 100644
index 0000000..aaddc7e
--- /dev/null
+++ b/.werks/63
@@ -0,0 +1,12 @@
+Title: veeam_client: new check to monitor status of veeam clients with special agent plugin
+Level: 1
+Component: checks
+Version: 1.2.3i7
+Date: 1383751157
+Class: feature
+
+This new check monitors client operations of the veeam backup tool. It comes with the
+check script, template for pnp4nagios, and a special windows agent plugin which needs
+to be installed on the veeam server. It monitors the state of the backup operation,
+and stores the total backup size, backup duration and data thruput of the backup as
+performance data.
diff --git a/ChangeLog b/ChangeLog
index eb78c38..2b6f686 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,7 @@
Checks & Agents:
* 0060: cisco_fantray: new check for monitoring fan trays of Cisco Nexus switches...
* 0061: cisco_cpu: check now recognizes new object cpmCPUTotal5minRev...
+ * 0063: veeam_client: new check to monitor status of veeam clients with special agent plugin...
Multisite:
* 0001: New filters for selecting several host/service-groups at once...
diff --git a/agents/windows/plugins/veeam_backup_status.bat b/agents/windows/plugins/veeam_backup_status.bat
new file mode 100644
index 0000000..1e21286
--- /dev/null
+++ b/agents/windows/plugins/veeam_backup_status.bat
@@ -0,0 +1,8 @@
+@ECHO OFF
+REM version 0.9
+REM Put this file in cmk Plugins-Folder *only* if you need to run
+REM the veeam_backup_status.ps1 powershell script and you
+REM have no 64 bit check_mk agent available
+REM In this case the powershell script needs to be put somewhere else
+REM (see example here) and is called from this .bat script with the 64 bit powershell
+%systemroot%\sysnative\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Unrestricted " & ""C:\skripte\veeam_backup_status.ps1"""
diff --git a/agents/windows/plugins/veeam_backup_status.ps1_ b/agents/windows/plugins/veeam_backup_status.ps1_
new file mode 100644
index 0000000..e63d945
Binary files /dev/null and b/agents/windows/plugins/veeam_backup_status.ps1_ differ
diff --git a/checkman/veeam_client b/checkman/veeam_client
new file mode 100644
index 0000000..e7d54cb
--- /dev/null
+++ b/checkman/veeam_client
@@ -0,0 +1,26 @@
+title: veeam client backup check
+agents: windows
+catalog: os/storage
+license: GPL
+distribution: check_mk
+description:
+ This check monitors the status of backups of clients carried out by the Veeam
+ backup tool. In order to carry out the checks, the Veeam agent plugin
+ needs to be installed on the backup server. See special instructions in the
+ comment section of the two Veeam agent plugin scripts on how to install
+ the scripts.
+
+ The plugin sends data for all virtual machines as piggyback data in the agent
+ output of the backup server.
+
+ This check is {OK} if the status of the backup is {success}, {Pending}
+ or {InProgress}. It is {WARN} if the status is {Warning}. It is {CRIT}
+ if the status of the backup is {Failed}.
+
+inventory:
+ A check will be created for all hosts known to check_mk and reported
+ by the Veeam agent plugin.
+
+perfdata:
+ Total Size, duration and the average speed of the backup will be recorded
+ as performance data.
diff --git a/checks/veeam_client b/checks/veeam_client
new file mode 100644
index 0000000..3513189
--- /dev/null
+++ b/checks/veeam_client
@@ -0,0 +1,71 @@
+#!/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.
+
+state = { "Success": 0, "Failed": 2, "Warning":1, "InProgress":0, "Pending":0 }
+
+def inventory_veeam_client(info):
+ if info[0][0] == "Status":
+ return [ (None, None) ]
+
+def check_veeam_client(item, params, info):
+ if not info[0][0] == "Status":
+ return 3, "No status data found in first line of agent data"
+ result = ""
+ starttime = ""
+ stoptime = ""
+ duration_string = ""
+ infotxt = ""
+ perfdata = []
+ for line in info:
+ if line[0] == "Status":
+ result = line[1]
+ infotxt += line[0] + ":" + line[1] + " "
+ elif line[0] == "DurationDDHHMMSS":
+ duration_string = line[1]
+ spur = map(saveint, duration_string.split(":") )
+ if len(spur) == 4:
+ duration = str(spur[0]*86400 + spur[1] * 3600 + spur[2] * 60 + spur[3])
+ else:
+ duration = "0"
+ perfdata.append(("duration", duration+"s", 0, 0, 0))
+ elif line[0] == "AvgSpeedBps":
+ avgspeed = saveint(line[1])
+ perfdata.append(("avgspeed", avgspeed, 0, 0, 0))
+ elif line[0] == "TotalSizeByte":
+ totalsize = saveint(line[1])
+ perfdata.append(("totalsize", totalsize, 0, 0, 0))
+ else:
+ infotxt += line[0] + ":" + line[1] + " "
+
+ return (state[result], infotxt, perfdata)
+
+check_info["veeam_client"] = {
+ 'check_function': check_veeam_client,
+ 'inventory_function': inventory_veeam_client,
+ 'service_description': 'VEEAM Client',
+ 'has_perfdata': True,
+}
+
diff --git a/pnp-templates/check_mk-veeam_client.php b/pnp-templates/check_mk-veeam_client.php
new file mode 100644
index 0000000..00f00da
--- /dev/null
+++ b/pnp-templates/check_mk-veeam_client.php
@@ -0,0 +1,52 @@
+<?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 'Bytes' -l 0 --title '$hostname: Total Size of Backup' ";
+
+$def[1] = "DEF:mb=$RRDFILE[1]:$DS[1]:MAX ";
+$def[1] .= "CDEF:var1=mb,1048576,/ ";
+$def[1] .= "AREA:mb#d080af:\"Total Size \" ";
+$def[1] .= "LINE1:mb#d020a0: ";
+$def[1] .= "GPRINT:var1:LAST:\"last\: %8.1lf MB\" ";
+$def[1] .= "GPRINT:var1:MAX:\"max\: %8.1lf MB \" ";
+
+$opt[2] = "--vertical-label 'time (sec)' -l 0 -X 0 --title '$hostname: Duration of Backup' ";
+
+$def[2] = "DEF:duration=$RRDFILE[2]:$DS[1]:MAX ";
+$def[2] .= "AREA:duration#d080af:\"duration \" ";
+$def[2] .= "LINE1:duration#d020a0: ";
+$def[2] .= "GPRINT:duration:LAST:\"last\: %8.1lf s\" ";
+$def[2] .= "GPRINT:duration:MAX:\"max\: %8.1lf s \" ";
+$def[2] .= "GPRINT:duration:AVERAGE:\"avg\: %8.1lf s\\n\" ";
+
+$opt[3] = "--vertical-label 'Bytes/sec' -l 0 --title '$hostname: Average Speed of Backup' ";
+$def[3] = "DEF:avgspeed=$RRDFILE[3]:$DS[1]:MAX ";
+$def[3] .= "CDEF:var2=avgspeed,1048576,/ ";
+$def[3] .= "LINE1:avgspeed#d020a0:\"thruput\" ";
+$def[3] .= "GPRINT:var2:LAST:\" last\: %8.2lf MB/s\" ";
+$def[3] .= "GPRINT:var2:MAX:\"max\: %8.2lf MB/s \" ";
+$def[3] .= "GPRINT:var2:AVERAGE:\"avg\: %8.2lf MB/s\\n\" ";
+
+?>
Module: check_mk
Branch: master
Commit: 6630e5148d15128d2929d524098eda623145e892
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=6630e5148d1512…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Wed Nov 6 16:23:36 2013 +0100
FIX Allowing "-" chars in var names again
In last i-releases, we introduced a feature which checks
for invalid URL variable names. It filters out variable
names which contain unwanted chars. The "-" is not evil
and should be allowed again.
---
.werks/46 | 11 +++++++++++
ChangeLog | 5 +++--
web/htdocs/html_mod_python.py | 2 +-
3 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/.werks/46 b/.werks/46
new file mode 100644
index 0000000..9ef505a
--- /dev/null
+++ b/.werks/46
@@ -0,0 +1,11 @@
+Title: Allowing "-" chars in var names again
+Level: 2
+Component: multisite
+Version: 1.2.3i7
+Date: 1383751261
+Class: fix
+
+In last i-releases, we introduced a feature which checks
+for invalid URL variable names. It filters out variable
+names which contain unwanted chars. The "-" is not evil
+and should be allowed again.
diff --git a/ChangeLog b/ChangeLog
index 64fa31d..1694c8a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,7 +1,7 @@
1.2.3i7:
Checks & Agents:
- * 0060: cisco_fantray: new check for monitoring fan trays of Cisco Nexus switches...
- * 0061: cisco_cpu: check now recognizes new object cpmCPUTotal5minRev...
+ * 0060 cisco_fantray: new check for monitoring fan trays of Cisco Nexus switches...
+ * 0061 cisco_cpu: check now recognizes new object cpmCPUTotal5minRev...
* 0024 FIX: cisco_wlc: removed configuration parameter ap_model...
Multisite:
@@ -10,6 +10,7 @@
* 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: Allowing "-" chars in var names again...
WATO:
* 0053 New rule for configuring the display_name of a service...
diff --git a/web/htdocs/html_mod_python.py b/web/htdocs/html_mod_python.py
index fd8a17a..f50d8ad 100644
--- a/web/htdocs/html_mod_python.py
+++ b/web/htdocs/html_mod_python.py
@@ -3,7 +3,7 @@ import htmllib
import os, time, config, weblib, re
import defaults
-varname_regex = re.compile('^[\w\d_.%+]+$')
+varname_regex = re.compile('^[\w\d_.%+-]+$')
class html_mod_python(htmllib.html):
Module: check_mk
Branch: master
Commit: efd48a084403b485d9f49286cf4dfb465cd6d7b8
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=efd48a084403b4…
Author: Andreas Boesl <ab(a)mathias-kettner.de>
Date: Wed Nov 6 13:47:31 2013 +0100
FIX cisco_wlc: removed configuration parameter ap_model
---
.werks/24 | 8 ++++++++
ChangeLog | 1 +
checkman/cisco_wlc | 13 ++++++-------
checks/cisco_wlc | 4 ----
web/plugins/wato/check_parameters.py | 11 -----------
5 files changed, 15 insertions(+), 22 deletions(-)
diff --git a/.werks/24 b/.werks/24
new file mode 100644
index 0000000..29978d2
--- /dev/null
+++ b/.werks/24
@@ -0,0 +1,8 @@
+Title: cisco_wlc: removed configuration parameter ap_model
+Level: 1
+Component: checks
+Version: 1.2.3i7
+Date: 1383741998
+Class: fix
+
+
diff --git a/ChangeLog b/ChangeLog
index eb78c38..12b8d93 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,7 @@
Checks & Agents:
* 0060: cisco_fantray: new check for monitoring fan trays of Cisco Nexus switches...
* 0061: cisco_cpu: check now recognizes new object cpmCPUTotal5minRev...
+ * 0024 FIX: cisco_wlc: removed configuration parameter ap_model...
Multisite:
* 0001: New filters for selecting several host/service-groups at once...
diff --git a/checkman/cisco_wlc b/checkman/cisco_wlc
index 659725b..5640809 100644
--- a/checkman/cisco_wlc
+++ b/checkman/cisco_wlc
@@ -16,16 +16,15 @@ examples:
checkgroup_parameters.setdefault('cisco_wlc', [])
checkgroup_parameters['cisco_wlc'] = [
- ( {'ap_name': [('HOMEOFFICE', 0), ('FALLBACK', 2)], 'ap_model': [('K7-B30329', 3)]}, [], ALL_HOSTS, ALL_SERVICES ),
+ ( {'ap_name': [('HOMEOFFICE', 0), ('FALLBACK', 2)]}, [], ALL_HOSTS, ALL_SERVICES ),
] + checkgroup_parameters['cisco_wlc']
[parameters]
-parameters(dict): with the keys "ap_model" and "ap_name"
+parameters(dict): with the key "ap_name"
- The values in this dict are lists of tuples. Each tuple contains
- either (ap_name(string), action(int)) or (ap_model(string), action(int)),
- where the ap_name is the human readable name of the AP and the ap_model is the model number.
- The action represents the outcome when this model is missing and can be
- from 0 to 3 (OK, WARN, CRIT, UNKNOWN)
+ The values in this dict are lists of tuples. Each tuple contains (ap_name(string), action(int))
+ where the ap_name is the human readable name of the AP.
+ The action represents the outcome when this name missing and
+ ranges from 0 to 3 (OK, WARN, CRIT, UNKNOWN)
diff --git a/checks/cisco_wlc b/checks/cisco_wlc
index f370532..00b6c0f 100644
--- a/checks/cisco_wlc
+++ b/checks/cisco_wlc
@@ -54,10 +54,6 @@ def check_cisco_wlc(item, params, info):
for ap_name, ap_state in params.get("ap_name", []):
if item.startswith(ap_name):
return ap_state, "Accesspoint 1 not found (State set to %s by rule)" % nagios_state_names[ap_state]
- # If the device is missin, with cannot know the model
- #for ap_model, ap_state in params.get("ap_model", []):
- # if mode.startswith(ap_model):
- # return ap_state, "Accesspoint 2 not found (State set to %s by rule)" % nagios_state_names[ap_state]
return 2, "Accesspoint not found"
diff --git a/web/plugins/wato/check_parameters.py b/web/plugins/wato/check_parameters.py
index b026456..c19e5e3 100644
--- a/web/plugins/wato/check_parameters.py
+++ b/web/plugins/wato/check_parameters.py
@@ -1223,17 +1223,6 @@ register_check_parameters(
),
title = _("Access point name"),
add_label = _("Add name"))
- ),
- ( "ap_model",
- ListOf(
- Tuple(
- elements = [
- TextAscii(title = _("AP model")),
- MonitoringState( title=_("State when missing"), default_value = 2)
- ]
- ),
- title = _("Access point device id"),
- add_label = _("Add id"))
)
]
),
Module: check_mk
Branch: master
Commit: 6a6282abf89a75821fe091dbdebc72448016bef1
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=6a6282abf89a75…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Wed Nov 6 13:28:12 2013 +0100
Allow grouping by host, host group or service group
Within the availability reporting there is now a new option <i>Grouping</i>
for grouping by host, host group or service group. When grouping is enabled
then one separate table will be rendered for each host or group that is part
of the selected objects. For objects that are not part of any group (well, this
cannot happen if you group by host) one additional table is being rendered.
The host and service groups are sorted according to their internal ID, but
their aliasses are being displayed. That way you can defined your custom
order of the groups in the report - by wisely choosing the internal IDs.
<b>Note</b>: objects that are part of more than one group will appear in
more than one table.
---
.werks/55 | 5 +++++
web/plugins/views/availability.py | 2 +-
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/.werks/55 b/.werks/55
index 0cf0dc6..07c2545 100644
--- a/.werks/55
+++ b/.werks/55
@@ -11,5 +11,10 @@ then one separate table will be rendered for each host or group that is part
of the selected objects. For objects that are not part of any group (well, this
cannot happen if you group by host) one additional table is being rendered.
+The host and service groups are sorted according to their internal ID, but
+their aliasses are being displayed. That way you can defined your custom
+order of the groups in the report - by wisely choosing the internal IDs.
+
<b>Note</b>: objects that are part of more than one group will appear in
more than one table.
+
diff --git a/web/plugins/views/availability.py b/web/plugins/views/availability.py
index 79b0e9f..c83cb23 100644
--- a/web/plugins/views/availability.py
+++ b/web/plugins/views/availability.py
@@ -990,7 +990,7 @@ def render_availability_table(availability, from_time, until_time, range_title,
else:
title = group_titles.get(group_id, group_id)
titled_groups.append((title, group_id)) ## ACHTUNG
- titled_groups.sort()
+ titled_groups.sort(cmp = lambda a,b: cmp(a[1], b[1]))
# 3. Loop over all groups and render them
for title, group_id in titled_groups:
Module: check_mk
Branch: master
Commit: 44bbaed48928655701c5a15913f57aee1602fa5e
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=44bbaed4892865…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Wed Nov 6 13:22:09 2013 +0100
Allow grouping by host, host group or service group
Within the availability reporting there is now a new option <i>Grouping</i>
for grouping by host, host group or service group. When grouping is enabled
then one separate table will be rendered for each host or group that is part
of the selected objects. For objects that are not part of any group (well, this
cannot happen if you group by host) one additional table is being rendered.
<b>Note</b>: objects that are part of more than one group will appear in
more than one table.
---
.werks/55 | 15 ++++
ChangeLog | 1 +
web/plugins/views/availability.py | 150 ++++++++++++++++++++++++++++++-------
3 files changed, 137 insertions(+), 29 deletions(-)
Diff: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commitdiff;h=44bbaed489…