Skip to content

Commit 6769e2e

Browse files
committed
Merge pull request #6 from Mattikin/master
Added performance metrics for ESXi Host, added thresholds for CPU and Memory usage
2 parents ce5f2fe + d180036 commit 6769e2e

File tree

8 files changed

+598
-265
lines changed

8 files changed

+598
-265
lines changed

ZenPacks/community/VMwareESXiMonitor/ESXiDatastore.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -39,22 +39,22 @@ def device(self):
3939
def usedSpace(self):
4040
capacity = self.capacity
4141
free = self.freeSpace()
42-
if capacity is not None and free is not None:
43-
return capacity - free
44-
return None
42+
if capacity is None or free is None:
43+
return None
44+
return capacity - free
4545

4646
def freeSpace(self):
4747
free = self.cacheRRDValue('diskFreeSpace')
48-
if free is not None and not isnan(free):
49-
return long(free)
50-
return None
48+
if free is None or isnan(free):
49+
return None
50+
return long(free)
5151

5252
def usedPercent(self):
5353
capacity = self.capacity
5454
used = self.usedSpace()
55-
if capacity is not None and used is not None:
56-
return round(100.0 * used / capacity)
57-
return 'Unknown'
55+
if capacity is None or used is None:
56+
return 'Unknown'
57+
return round(100.0 * used / capacity)
5858

5959
InitializeClass(ESXiDatastore)
6060

ZenPacks/community/VMwareESXiMonitor/ESXiVM.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -40,15 +40,15 @@ def device(self):
4040

4141
def adminStatus(self):
4242
status = self.cacheRRDValue('adminStatus')
43-
if status is not None and not isnan(status):
44-
return int(status)
45-
return None
43+
if status is None or isnan(status):
44+
return None
45+
return int(status)
4646

4747
def operStatus(self):
4848
status = self.cacheRRDValue('operStatus')
49-
if status is not None and not isnan(status):
50-
return int(status)
51-
return None
49+
if status is None or isnan(status):
50+
return None
51+
return int(status)
5252

5353
InitializeClass(ESXiVM)
5454

ZenPacks/community/VMwareESXiMonitor/datasources/VMwareDataSource.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ class VMwareDataSource(ZenPackPersistence, RRDDataSource.SimpleRRDDataSource):
2828

2929
sourcetype = 'VMware'
3030
eventClass = Cmd_Fail
31-
parser = 'ZenPacks.community.VMwareESXiMonitor.parsers.vmware'
3231
performanceSource = ''
3332
instance = ''
3433

@@ -70,7 +69,7 @@ def useZenCommand(self):
7069
def addDataPoints(self):
7170
datastore = ['diskFreeSpace','connectionStatus']
7271
guest = ['memUsage','memOverhead','memConsumed','diskUsage','cpuUsageMin','cpuUsageMax','cpuUsageAvg','cpuUsage','adminStatus','operStatus']
73-
host = ['sysUpTime','memSwapused','memGranted','memActive','diskUsage','cpuUsagemhz','cpuUsage','cpuReservedcapacity','netReceived','netTransmitted','netPacketsRx','netPacketsTx','netDroppedRx','netDroppedTx']
72+
host = ['sysUpTime','memUsage','memSwapused','memGranted','memActive','diskUsage','cpuUsageMin','cpuUsageMax','cpuUsageAvg','cpuUsage','cpuReservedcapacity','netReceived','netTransmitted','netPacketsRx','netPacketsTx','netDroppedRx','netDroppedTx']
7473

7574
if self.id == "VMwareDatastore":
7675
self.performanceSource = "VMwareDatastore"

ZenPacks/community/VMwareESXiMonitor/libexec/esxi_monitor.pl

Lines changed: 22 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -66,14 +66,14 @@
6666
}
6767
else {
6868
my $perfmgr_view = Vim::get_view(mo_ref => Vim::get_service_content()->perfManager, properties => [ 'perfCounter' ]);
69-
my $memUsage = get_info($vm_view, $perfmgr_view, 'mem', 'usage', 'minimum');
70-
my $memOverhead = get_info($vm_view, $perfmgr_view, 'mem', 'overhead', 'minimum');
71-
my $memConsumed = get_info($vm_view, $perfmgr_view, 'mem', 'consumed', 'minimum');
72-
my $diskUsage = get_info($vm_view, $perfmgr_view, 'disk', 'usage', 'average');
73-
my $cpuUsageMin = get_info($vm_view, $perfmgr_view, 'cpu', 'usage', 'minimum');
74-
my $cpuUsageMax = get_info($vm_view, $perfmgr_view, 'cpu', 'usage', 'maximum');
75-
my $cpuUsageAvg = get_info($vm_view, $perfmgr_view, 'cpu', 'usage', 'average');
76-
my $cpuUsage = get_info($vm_view, $perfmgr_view, 'cpu', 'usagemhz', 'average');
69+
my $memUsage = get_info($vm_view, $perfmgr_view, 'mem', 'usage', 'minimum') / 100;
70+
my $memOverhead = get_info($vm_view, $perfmgr_view, 'mem', 'overhead', 'minimum') * 1024;
71+
my $memConsumed = get_info($vm_view, $perfmgr_view, 'mem', 'consumed', 'minimum') * 1024;
72+
my $diskUsage = get_info($vm_view, $perfmgr_view, 'disk', 'usage', 'average') * 1024;
73+
my $cpuUsageMin = get_info($vm_view, $perfmgr_view, 'cpu', 'usage', 'minimum') / 100;
74+
my $cpuUsageMax = get_info($vm_view, $perfmgr_view, 'cpu', 'usage', 'maximum') / 100;
75+
my $cpuUsageAvg = get_info($vm_view, $perfmgr_view, 'cpu', 'usage', 'average') / 100;
76+
my $cpuUsage = get_info($vm_view, $perfmgr_view, 'cpu', 'usagemhz', 'average') * 1000000;
7777

7878
my $overallStatus = $$vm_view[0]->get_property('summary.overallStatus')->val;
7979
my $operStatus = 0;
@@ -99,26 +99,29 @@
9999
die "Runtime error\n" if (!defined($host_view));
100100
die "Host \"" . $$host_name{"name"} . "\" does not exist\n" if (!@$host_view);
101101
if (uc($$host_view[0]->get_property('runtime.inMaintenanceMode')) eq "TRUE") {
102-
print "hostperf|sysUpTime= memSwapused= memGranted= memActive= diskUsage= cpuUsagemhz= cpuUsage= cpuReservedcapacity= netReceived= netTransmitted= netPacketsRx= netPacketsTx= netDroppedRx= netDroppedTx=\n";
102+
print "hostperf|sysUpTime= memUsage= memSwapused= memGranted= memActive= diskUsage= cpuUsageMin= cpuUsageMax= cpuUsageAvg= cpuUsage= cpuReservedcapacity= netReceived= netTransmitted= netPacketsRx= netPacketsTx= netDroppedRx= netDroppedTx=\n";
103103
}
104104
else {
105105
my $perfmgr_view = Vim::get_view(mo_ref => Vim::get_service_content()->perfManager, properties => [ 'perfCounter' ]);
106106
my $sysUpTime = get_info($host_view, $perfmgr_view, 'sys', 'uptime', 'latest') * 100;
107-
my $memSwapused = get_info($host_view, $perfmgr_view, 'mem', 'swapused', 'maximum');
108-
my $memGranted = get_info($host_view, $perfmgr_view, 'mem', 'granted', 'maximum');
109-
my $memActive = get_info($host_view, $perfmgr_view, 'mem', 'active', 'maximum');
110-
my $diskUsage = get_info($host_view, $perfmgr_view, 'disk', 'usage', 'average');
111-
my $cpuUsagemhz = get_info($host_view, $perfmgr_view, 'cpu', 'usagemhz', 'average');
112-
my $cpuUsage = get_info($host_view, $perfmgr_view, 'cpu', 'usage', 'average');
113-
my $cpuReservedcapacity = get_info($host_view, $perfmgr_view, 'cpu', 'reservedCapacity', 'average');
114-
my $netReceived = get_info($host_view, $perfmgr_view, 'net', 'received', 'average');
115-
my $netTransmitted = get_info($host_view, $perfmgr_view, 'net', 'transmitted', 'average');
107+
my $memUsage = get_info($host_view, $perfmgr_view, 'mem', 'usage', 'minimum') / 100;
108+
my $memSwapused = get_info($host_view, $perfmgr_view, 'mem', 'swapused', 'maximum') * 1024;
109+
my $memGranted = get_info($host_view, $perfmgr_view, 'mem', 'granted', 'maximum') * 1024;
110+
my $memActive = get_info($host_view, $perfmgr_view, 'mem', 'active', 'maximum') * 1024;
111+
my $diskUsage = get_info($host_view, $perfmgr_view, 'disk', 'usage', 'average') * 1024;
112+
my $cpuUsageMin = get_info($host_view, $perfmgr_view, 'cpu', 'usage', 'minimum') / 100;
113+
my $cpuUsageMax = get_info($host_view, $perfmgr_view, 'cpu', 'usage', 'maximum') / 100;
114+
my $cpuUsageAvg = get_info($host_view, $perfmgr_view, 'cpu', 'usage', 'average') / 100;
115+
my $cpuUsage = get_info($host_view, $perfmgr_view, 'cpu', 'usagemhz', 'average') * 1000000;
116+
my $cpuReservedcapacity = get_info($host_view, $perfmgr_view, 'cpu', 'reservedCapacity', 'average') * 1000000;
117+
my $netReceived = get_info($host_view, $perfmgr_view, 'net', 'received', 'average') * 8192;
118+
my $netTransmitted = get_info($host_view, $perfmgr_view, 'net', 'transmitted', 'average') * 8192;
116119
my $netPacketsRx = get_info($host_view, $perfmgr_view, 'net', 'packetsRx', 'summation');
117120
my $netPacketsTx = get_info($host_view, $perfmgr_view, 'net', 'packetsTx', 'summation');
118121
my $netDroppedRx = get_info($host_view, $perfmgr_view, 'net', 'droppedRx', 'summation');
119122
my $netDroppedTx = get_info($host_view, $perfmgr_view, 'net', 'droppedTx', 'summation');
120123

121-
print "hostperf|sysUpTime=".$sysUpTime." memSwapused=".$memSwapused." memGranted=".$memGranted." memActive=".$memActive." diskUsage=".$diskUsage." cpuUsagemhz=".$cpuUsagemhz." cpuUsage=".$cpuUsage." cpuReservedcapacity=".$cpuReservedcapacity." netReceived=".$netReceived." netTransmitted=".$netTransmitted." netPacketsRx=".$netPacketsRx." netPacketsTx=".$netPacketsTx." netDroppedRx=".$netDroppedRx." netDroppedTx=".$netDroppedTx."\n";
124+
print "hostperf|sysUpTime=".$sysUpTime." memUsage=".$memUsage." memSwapused=".$memSwapused." memGranted=".$memGranted." memActive=".$memActive." diskUsage=".$diskUsage." cpuUsageMin=".$cpuUsageMin." cpuUsageMax=".$cpuUsageMax." cpuUsageAvg=".$cpuUsageAvg." cpuUsage=".$cpuUsage." cpuReservedcapacity=".$cpuReservedcapacity." netReceived=".$netReceived." netTransmitted=".$netTransmitted." netPacketsRx=".$netPacketsRx." netPacketsTx=".$netPacketsTx." netDroppedRx=".$netDroppedRx." netDroppedTx=".$netDroppedTx."\n";
122125
}
123126
}
124127
};

0 commit comments

Comments
 (0)