Module: check_mk
Branch: master
Commit: b51152b4f63e7df7a5ff958a0b65adfbe319d3cf
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=b51152b4f63e7d…
Author: Sebastian Herbord <sh(a)mathias-kettner.de>
Date: Fri Nov 6 11:58:15 2015 +0100
gitbug
---
.bugs/2400 | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/.bugs/2400 b/.bugs/2400
new file mode 100644
index 0000000..a408324
--- /dev/null
+++ b/.bugs/2400
@@ -0,0 +1,8 @@
+Title: Windows Agent may fail to read large event logs
+Component: checks
+State: open
+Date: 2015-11-06 11:48:19
+Targetversion: future
+Class: bug
+
+Due to a bug in the ReadEventLog function (kb 177199) reading large event logs may fail. This could be worked around in the agent by using sequential read and a manual seek to the right offset but we'd have to check the performance implications.
Module: check_mk
Branch: master
Commit: f18f14f1075766d982122bccd90568df5a872e02
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=f18f14f1075766…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Fri Nov 6 11:49:48 2015 +0100
#2726 FIX veeam_backup_status: Fixed missing agent section error in case of aborted tasks
---
.werks/2726 | 10 ++++++++++
ChangeLog | 1 +
agents/windows/plugins/veeam_backup_status.ps1_ | 16 ++++++++++++++--
3 files changed, 25 insertions(+), 2 deletions(-)
diff --git a/.werks/2726 b/.werks/2726
new file mode 100644
index 0000000..5e97975
--- /dev/null
+++ b/.werks/2726
@@ -0,0 +1,10 @@
+Title: veeam_backup_status: Fixed missing agent section error in case of aborted tasks
+Level: 1
+Component: checks
+Class: fix
+Compatible: compat
+State: unknown
+Version: 1.2.7i4
+Date: 1446806931
+
+
diff --git a/ChangeLog b/ChangeLog
index b3d6d35..81c1705 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -50,6 +50,7 @@
* 2737 FIX: bluecoat_sensors: fix crash when using Nagios as core (missing include)...
* 2738 FIX: Check_MK Caching agent on Linux: introduce timeout for lock...
* 2725 FIX: Dynamic levels: Enforce config of levels for filesystems larger than 0 bytes...
+ * 2726 FIX: veeam_backup_status: Fixed missing agent section error in case of aborted tasks
Multisite:
* 2684 Added icons for downloading agent data / walks of hosts...
diff --git a/agents/windows/plugins/veeam_backup_status.ps1_ b/agents/windows/plugins/veeam_backup_status.ps1_
index 8daed9f..99ee5d3 100644
--- a/agents/windows/plugins/veeam_backup_status.ps1_
+++ b/agents/windows/plugins/veeam_backup_status.ps1_
@@ -60,10 +60,22 @@ foreach ($myJob in $myBackupJobs)
$myJobsText = "$myJobsText" + "$myJobName" + "`t" + "$myJobType" + "`t" + "$myJobLastState" + "`t" + "$myJobLastResult" + "`t" + "$myJobCreationTime" + "`t" + "$myJobEndTime" + "`n"
+ # For Non Backup Jobs (Replicas) we bail out
+ # because we are interested in the status of the original backup but
+ # for replicas the overall job state is all we need.
+ if ($myJob.IsBackup -eq $false) { continue }
+
# Each backup job has a number of tasks which were executed (VMs which were processed)
# Get all Tasks of the L A S T backup session
- # Caution: Each backup job MAY have run SEVERAL times for retries
- $myJobLastSessionTasks = $myJobLastSession | Get-VBRTaskSession -ErrorAction SilentlyContinue
+ # Caution: Each backup job MAY have run SEVERAL times for retries,
+ # thats why we need all sessions related to the last one if its a retry
+ $sessions = @($myJobLastSession)
+ if ($myJobLastSession.IsRetryMode)
+ {
+ $sessions = $myJobLastSession.GetOriginalAndRetrySessions($TRUE)
+ }
+
+ $myJobLastSessionTasks = $sessions | Get-VBRTaskSession -ErrorAction SilentlyContinue
# Iterate through all tasks in the last backup job
$myTask = ""
Module: check_mk
Branch: master
Commit: f8c65a40e06adb52774fdcce3abfbeb3ed7ff146
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=f8c65a40e06adb…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Fri Nov 6 11:08:15 2015 +0100
#2725 FIX Dynamic levels: Enforce config of levels for filesystems larger than 0 bytes
When configuring dynamic levels, e.g. for filesystems, if you configure the dynamic levels
for example like this:
larger than 100GB: 90% WARN / 95% CRIT
larger than 1TB: 95% WARN / 98% CRIT
This will result in all filesystems smaller than 100GB in always being OK. This was confusing
users. The validation of these rules has now been changed to enforce creation of an entry
for filesystems larger than 0 bytes.
---
.werks/2725 | 18 ++++++++++++++++++
ChangeLog | 1 +
web/plugins/wato/check_parameters.py | 8 ++++++++
3 files changed, 27 insertions(+)
diff --git a/.werks/2725 b/.werks/2725
new file mode 100644
index 0000000..d01d383
--- /dev/null
+++ b/.werks/2725
@@ -0,0 +1,18 @@
+Title: Dynamic levels: Enforce config of levels for filesystems larger than 0 bytes
+Level: 1
+Component: checks
+Class: fix
+Compatible: compat
+State: unknown
+Version: 1.2.7i4
+Date: 1446804337
+
+When configuring dynamic levels, e.g. for filesystems, if you configure the dynamic levels
+for example like this:
+
+larger than 100GB: 90% WARN / 95% CRIT
+larger than 1TB: 95% WARN / 98% CRIT
+
+This will result in all filesystems smaller than 100GB in always being OK. This was confusing
+users. The validation of these rules has now been changed to enforce creation of an entry
+for filesystems larger than 0 bytes.
diff --git a/ChangeLog b/ChangeLog
index 4bfb9c6..b3d6d35 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -49,6 +49,7 @@
* 2735 FIX: esx_vsphere_datastores: fix labelling, help and performance data of provisioned space...
* 2737 FIX: bluecoat_sensors: fix crash when using Nagios as core (missing include)...
* 2738 FIX: Check_MK Caching agent on Linux: introduce timeout for lock...
+ * 2725 FIX: Dynamic levels: Enforce config of levels for filesystems larger than 0 bytes...
Multisite:
* 2684 Added icons for downloading agent data / walks of hosts...
diff --git a/web/plugins/wato/check_parameters.py b/web/plugins/wato/check_parameters.py
index 62c5e79..6e938b5 100644
--- a/web/plugins/wato/check_parameters.py
+++ b/web/plugins/wato/check_parameters.py
@@ -2780,8 +2780,14 @@ def get_free_used_dynamic_valuespec(what, name, default_value = (80.0, 90.0)):
)
]
+ def validate_dynamic_levels(value, varprefix):
+ if not [ v for v in value if v[0] == 0 ]:
+ raise MKUserError(varprefix, _("You need to specify levels for "
+ "%ss larger than 0 bytes." % name))
+
return Alternative(
title = _("Levels for %s %s") % (name, title),
+ style = "dropdown",
show_alternative_title = True,
default_value = default_value,
elements = vs_subgroup + [
@@ -2796,6 +2802,8 @@ def get_free_used_dynamic_valuespec(what, name, default_value = (80.0, 90.0)):
]
),
title = _('Dynamic levels'),
+ allow_empty = False,
+ validate = validate_dynamic_levels,
)],
)
Module: check_mk
Branch: master
Commit: c3ac938878ff892bdc3dd4f62e12cc29c21cbc0a
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=c3ac938878ff89…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Fri Nov 6 10:11:22 2015 +0100
#2735 FIX esx_vsphere_datastores: fix labelling, help and performance data of provisioned space
In the check output and the WATO texts for its configuration the words <i>provisioning</i>
and <i>over provisioning</i> where mixed up. This has been fixed. Also in the output
performance data the levels for WARN and CRIT have been corrected. Thanks to Marten
Vanraes.
---
.werks/2735 | 13 +++++++++++++
ChangeLog | 1 +
checks/esx_vsphere_datastores | 27 +++++++++++++--------------
web/plugins/wato/check_parameters.py | 9 ++++++---
4 files changed, 33 insertions(+), 17 deletions(-)
diff --git a/.werks/2735 b/.werks/2735
new file mode 100644
index 0000000..a9511ee
--- /dev/null
+++ b/.werks/2735
@@ -0,0 +1,13 @@
+Title: esx_vsphere_datastores: fix labelling, help and performance data of provisioned space
+Level: 1
+Component: checks
+Class: fix
+Compatible: compat
+State: unknown
+Version: 1.2.7i4
+Date: 1446800972
+
+In the check output and the WATO texts for its configuration the words <i>provisioning</i>
+and <i>over provisioning</i> where mixed up. This has been fixed. Also in the output
+performance data the levels for WARN and CRIT have been corrected. Thanks to Marten
+Vanraes.
diff --git a/ChangeLog b/ChangeLog
index 219e99b..a8f4c60 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -45,6 +45,7 @@
* 1300 FIX: ovs_bonding: Fixed discovery exception in case of not active bond
* 1301 FIX: cmciii: Some rewrites of the cmciii Temperature and Power Phase Checks...
NOTE: Please refer to the migration notes!
+ * 2735 FIX: esx_vsphere_datastores: fix labelling, help and performance data of provisioned space...
Multisite:
* 2684 Added icons for downloading agent data / walks of hosts...
diff --git a/checks/esx_vsphere_datastores b/checks/esx_vsphere_datastores
index ce2c373..d7b55e8 100644
--- a/checks/esx_vsphere_datastores
+++ b/checks/esx_vsphere_datastores
@@ -70,32 +70,31 @@ def check_esx_vsphere_datastores(item, params, info):
if 'uncommitted' in store:
uncommitted_mb = store["uncommitted"] / 1024.0 / 1024.0
used_mb = size_mb - avail_mb
- overprov_mb = used_mb + uncommitted_mb
+ prov_mb = used_mb + uncommitted_mb
if size_mb == 0:
- overprov_percent = 0
+ prov_percent = 0
else:
- overprov_percent = (overprov_mb / size_mb) * 100
+ prov_percent = (prov_mb / size_mb) * 100
- overprov_txt = ''
- overprov_warn_mb = None
- overprov_crit_mb = None
+ prov_txt = ''
if 'provisioning_levels' in params:
warn, crit = params['provisioning_levels']
- overprov_warn_mb = avail_mb / 100 * warn
- overprov_crit_mb = avail_mb / 100 * crit
- if overprov_percent >= crit:
+ levels_text = " (warn/crit at %.1f%%/%.1f%%)" % (warn, crit)
+ if prov_percent >= crit:
state = max(state, 2)
- overprov_txt = ' (!!)'
- elif overprov_percent >= warn:
+ prov_txt = levels_text + '(!!)'
+ elif prov_percent >= warn:
state = max(state, 1)
- overprov_txt = ' (!)'
+ prov_txt = levels_text + '(!)'
infotext += ", uncommitted: %.2f GB, provisioning: %.1f%%%s" % (
- uncommitted_mb / 1024, overprov_percent, overprov_txt)
+ uncommitted_mb / 1024, prov_percent, prov_txt)
if perfdata:
+ prov_warn_mb = size_mb / 100 * warn
+ prov_crit_mb = size_mb / 100 * crit
perfdata += [
('uncommitted', str(uncommitted_mb) + 'MB'),
- ('overprovisioned', str(overprov_mb) + 'MB', overprov_warn_mb, overprov_crit_mb),
+ ('overprovisioned', str(prov_mb) + 'MB', prov_warn_mb, prov_crit_mb),
]
if not store["accessible"]:
diff --git a/web/plugins/wato/check_parameters.py b/web/plugins/wato/check_parameters.py
index b153f59..62c5e79 100644
--- a/web/plugins/wato/check_parameters.py
+++ b/web/plugins/wato/check_parameters.py
@@ -3059,10 +3059,13 @@ register_check_parameters(
elements = filesystem_elements + [
("provisioning_levels", Tuple(
title = _("Provisioning Levels"),
- help = _("Configure thresholds for overprovisioning of datastores."),
+ help = _("A provisioning of more than 100% is called "
+ "over provisioning and can be a useful strategy for saving disk space. But you cannot guarantee "
+ "any longer that every VM can really use all space that it was assigned. Here you can "
+ "set levels for the maximum provisioning. A warning level of 150% will warn at 50% over provisioning."),
elements = [
- Percentage(title = _("Warning at overprovisioning of"), maxvalue = None),
- Percentage(title = _("Critical at overprovisioning of"), maxvalue = None),
+ Percentage(title = _("Warning at a provisioning of"), maxvalue = None, default_value = 120.0),
+ Percentage(title = _("Critical at a provisioning of"), maxvalue = None, default_value = 150.0),
]
)),
],