Module: check_mk
Branch: master
Commit: 8ac42cf2f2cdda4825f95d76299fee75824cf475
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=8ac42cf2f2cdda…
Author: Andreas Boesl <ab(a)mathias-kettner.de>
Date: Thu Nov 12 11:25:17 2015 +0100
#2788 ESX Monitoring, esx_vsphere_vm subchecks: VM templates are now excluded
Virtual machine templates are no longer detected during the service discovery.
---
.werks/2788 | 9 +++++++++
ChangeLog | 1 +
agents/special/agent_vsphere | 1 +
checks/esx_vsphere_vm | 17 ++++++++++-------
4 files changed, 21 insertions(+), 7 deletions(-)
diff --git a/.werks/2788 b/.werks/2788
new file mode 100644
index 0000000..7096fd1
--- /dev/null
+++ b/.werks/2788
@@ -0,0 +1,9 @@
+Title: ESX Monitoring, esx_vsphere_vm subchecks: VM templates are now excluded
+Level: 1
+Component: checks
+Compatible: compat
+Version: 1.2.7i4
+Date: 1447323663
+Class: feature
+
+Virtual machine templates are no longer detected during the service discovery.
diff --git a/ChangeLog b/ChangeLog
index 1634c35..2715503 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -28,6 +28,7 @@
* 2740 local: better warning output in case of invalid agent output
* 2763 apache_status: Can now be configured to use the protocols default port...
* 2787 netapp_api_snapvaults: Clustermode supported, netapp_api_disks: fixed invalid
total disk space...
+ * 2788 ESX Monitoring, esx_vsphere_vm subchecks: VM templates are now excluded...
* 2660 FIX: fixed windows agent using the wrong working directory...
* 2664 FIX: ps: Speedup in situation with many matching processes...
* 2661 FIX: windows agent: fixed incomplete process list...
diff --git a/agents/special/agent_vsphere b/agents/special/agent_vsphere
index 204817f..0452c9d 100755
--- a/agents/special/agent_vsphere
+++ b/agents/special/agent_vsphere
@@ -250,6 +250,7 @@ telegram_list = {
'<ns1:pathSet>summary.quickStats.overallCpuUsage</ns1:pathSet>'\
'<ns1:pathSet>config.hardware.numCoresPerSocket</ns1:pathSet>'\
'<ns1:pathSet>config.hardware.device</ns1:pathSet>'\
+ '<ns1:pathSet>config.template</ns1:pathSet>'\
'<ns1:pathSet>guest.toolsVersion</ns1:pathSet>'\
'<ns1:pathSet>guestHeartbeatStatus</ns1:pathSet>'\
'<ns1:pathSet>name</ns1:pathSet>'\
diff --git a/checks/esx_vsphere_vm b/checks/esx_vsphere_vm
index 4833ac2..6f0a8f2 100644
--- a/checks/esx_vsphere_vm
+++ b/checks/esx_vsphere_vm
@@ -24,10 +24,15 @@
# to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
# Boston, MA 02110-1301 USA.
+# TODO: name the next new subcheck "esx_vsphere_vm" and introduce a parse
function
def esx_vsphere_vm_convert(info):
data = {}
for line in info:
+ # Do not monitor VM templates
+ if line[0] == "config.template" and line[1] == "true":
+ return {}
data[line[0]] = line[1:]
+
return data
# .--Memory--------------------------------------------------------------.
@@ -41,7 +46,7 @@ def esx_vsphere_vm_convert(info):
def inventory_esx_vsphere_vm_mem(info):
- data = esx_vsphere_vm_convert(info).keys()
+ data = esx_vsphere_vm_convert(info)
if 'summary.quickStats.guestMemoryUsage' in data:
return [(None, {})]
@@ -102,7 +107,7 @@ check_info['esx_vsphere_vm.mem_usage'] = {
# '----------------------------------------------------------------------'
def inventory_esx_vsphere_vm_name(info):
- data = esx_vsphere_vm_convert(info).keys()
+ data = esx_vsphere_vm_convert(info)
if 'name' in data:
return [(None, None)]
@@ -135,7 +140,6 @@ def inventory_esx_vsphere_vm_running_on(info):
data = esx_vsphere_vm_convert(info)
if 'runtime.host' in data:
return [(None, None)]
- return []
def check_esx_vsphere_vm_running_on(no_item, no_params, info):
data = esx_vsphere_vm_convert(info)
@@ -170,7 +174,6 @@ def inventory_esx_vsphere_vm_datastores(info):
# Right now we only handle one datastore per vm
if 'config.datastoreUrl' in data:
return [(None, None)]
- return []
def check_esx_vsphere_vm_datastores(no_item, no_params, info):
data = esx_vsphere_vm_convert(info)
@@ -364,9 +367,10 @@ check_info['esx_vsphere_vm.cpu'] = {
# <<<esx_vsphere_vm>>>
# snapshot.rootSnapshotList 1 1363596734 poweredOff 20130318_105600_snapshot_LinuxI|2
1413977827 poweredOn LinuxI Testsnapshot
-
def inventory_esx_vsphere_vm_snapshots(info):
- return [(None, {})]
+ data = esx_vsphere_vm_convert(info)
+ if data:
+ return [(None, {})]
def check_esx_vsphere_vm_snapshots(_no_item, params, info):
data = esx_vsphere_vm_convert(info)
@@ -407,7 +411,6 @@ def check_esx_vsphere_vm_snapshots(_no_item, params, info):
perfdata
-
check_info['esx_vsphere_vm.snapshots'] = {
"inventory_function" : inventory_esx_vsphere_vm_snapshots,
"check_function" : check_esx_vsphere_vm_snapshots,