Table of Contents

Author

Description

Sample Report

Requirements

Usage

Setup

Supported Use Cases

Additional Commandline Options

Custom Report Configuration

Setup & Run Health Check Script on Windows

Change Log

Author

William Lam

-

Description:

This script generates a health check report similar to that of vmwareHealthCheckScript but for the new vSphere release of VMware ESX(i) 4.x/5.x and VMware vCenter 4.x/5.x and it's managed entities. User's can now fully customize the report based on the categories that are of importance to their operating environment, including selecting specific set of ESX(i) hosts and/or Virtual Machines.

The script reports on the following:

New vCenter Information including InstanceUUID and hostname

New Storage DRS Configuration

New FDM/HA Heartbeat Policy and State

New Host details (Host Agent, iSCSI, FCoE, Source Packages, Capablities, SMC Hardware, Host Cache, DVS)

New Virtual Machine details (HW Version, Firmware, Overhead Memory, Swap, State, Snapshot Consolidation, HA Protection, EZT Disks)

New updated Color mappings for mulitpath states

New Support for Standalone ESX(i) hosts without vCenter Cluster

New updated Color scheme for HTML Report

DRS GROUP/VM Rules

HA Configuration Issues



COS VMDK Information



Storage I/O COntrol Information



Host Authentication Services



VM count per datastore

VM count / VM-to-Host Ratio in Cluster Section

Report is now completely modular in which categories to display via a configuration file

Report can be configured to output as printer friendly format

Ability to specify specific ESX/ESXi host to query

Ability to specify specific Virtual Mchines to query

vCenter HA Advanced Runtime information

vCenter HA Configuration (primary/secondary and node states)

vCenter HA Advanced Configurations

vCenter DRS Advanced Runtime information

vCenter Resource Pool CPU/MEMORY shares

vCenter Plugin information

ESX/ESXi IP/HOSTNAME of vCenter Management IP

ESX/ESXi Newly improved Hardware and System Health Stuats information

ESX/ESXi Advanced Configurations

ESX/ESXi NUMA information

ESX/ESXi Datastore VMFS block size + version

ESX/ESXi Host capabilities

ESX/ESXi Lockdown Mode information

VM UUID,Bootime,Resource Statistics, Fault Tolerance, Thin provisioned and NPIV information

VM Resource Allocation information

VM Device information

Supports multiple email recipients

vCenter VPX Configurations summary

VMware Applications running in a VM

vCenter Managed IP per ESX(i) host

vCenter User/Group Permissions

Added Host & SCSI LUN Model attribute

Added Host boottime

Additional LUN Mapping information including Datastore,VolumeUUID,DiskName and DeviceName

VM portgroup + dvportgroup mapping

Performance Stats for both Cluster + Hosts (cpu/mem avg + %)

Performance Stats for VM (cpu/mem avg + %, ready & ballon)

Email report capability

Added additional command line options for including Cluster,Host and VM Performance stats (default: off)

New licensing format/summary

EVC Enabled information

Cluster VM monitoring

Cluster Host monitoring}

# off VMotions within a cluster

Datastore uncommitted info

CPU power management info

VM info (FT, Record/Replay, Clean Poweroff)

Host IPv6, FT, SSL Thumbprint

Host Profiles

vApp information

Distributed vSwitch information}

vCenter Build/Release

Active Sessions

ESX/ESXi Build/Release

Cluster(s) Name/Statistics (Hosts,CPU and MEM availabity, HA,DRS and DPM enabled, Resource Pools, Health)

ESX/ESXi Hardware configuration (NICs/HBAs)

ESX/ESXi Hardware Health Sensor via CIM

ESX/ESXi State

ESX/ESXi Configurations (for detailed information, use detail-hosts option)

ESX/ESXi Multipathing Info (only available in host or detail-hosts option)

ESX/ESXi Datastore summary

ESX/ESXi LUN summary

ESX/ESXi Portgroup summary

ESX/ESXi Hostd logs

CDP Summary

Recent Tasks

Virtual Machine summary

VM Storage summary

VM Network summary

VM w/Snapshots

VM w/Snapshot delta age

VM w/RDMs

VM w/NPIV enabled

VM w/connected CD-ROMs

VM w/connected Floppys

Sample Report

For more details, please take a look at the following sample report: here

Issues/Feature Request

Please join the vSphereHealthCheck Group to post comments/discussions

Requirements:

Usage

[vi-admin@scofield ]$ ./vmwarevSphereHealthCheck.pl Required command option 'type' not specified. Synopsis: ./vmwarevSphereHealthCheck.pl OPTIONS Command-specific options: --cluster The name of a vCenter cluster to query --clusterperformance (default 'no') Enable Cluster Performance gathering [yes|no] (Can potentially increase your runtime) --conf File containing Host and VM specific configurations to output --datacenter The name of a vCenter datacenter to query --demo (default 'no') [yes|no] --email (default 'no') [yes|no] --hostlist File containting list of ESX/ESXi host(s) to query --hostperformance (default 'no') Enable Host Performance gathering [yes|no] (Can potentially increase your runtime) --logcount (default '15') The number of lines to output from hostd logs --printerfriendly (default 'no') Whether the html output will be printer friendly [yes|no] --report (default 'vmware_health_report.html') The name of the report to output. Please add ".html" extension --type (required) Type: [vcenter|datacenter|cluster|host] --vmlist File containting list of VM(s) to query --vmperformance (default 'no') Enable VM Performance gathering [yes|no] (Can potentially double your runtime) Common VI options: --config (variable VI_CONFIG) Location of the VI Perl configuration file --credstore (variable VI_CREDSTORE) Name of the credential store file defaults to <HOME>/.vmware/credstore/vicredentials.xml on Linux and <APPDATA>/VMware/credstore/vicredentials.xml on Windows --encoding (variable VI_ENCODING, default 'utf8') Encoding: utf8, cp936 (Simplified Chinese), iso-8859-1 (German), shiftjis (Japanese) --help Display usage information for the script --passthroughauth (variable VI_PASSTHROUGHAUTH) Attempt to use pass-through authentication --passthroughauthpackage (variable VI_PASSTHROUGHAUTHPACKAGE, default 'Negotiate') Pass-through authentication negotiation package --password (variable VI_PASSWORD) Password --portnumber (variable VI_PORTNUMBER) Port used to connect to server --protocol (variable VI_PROTOCOL, default 'https') Protocol used to connect to server --savesessionfile (variable VI_SAVESESSIONFILE) File to save session ID/cookie to utilize --server (variable VI_SERVER, default 'localhost') VI server to connect to. Required if url is not present --servicepath (variable VI_SERVICEPATH, default '/sdk/webService') Service path used to connect to server --sessionfile (variable VI_SESSIONFILE) File containing session ID/cookie to utilize --url (variable VI_URL) VI SDK URL to connect to. Required if server is not present --username (variable VI_USERNAME) Username --verbose (variable VI_VERBOSE) Display additional debugging information --version Display version information for the script

-

Setup

1. Download the packaged script vmwarevSphereHealthCheck.tar.gz and transfer it to your vMA host

2. Extract the contents:

[vi-admin@scofield ~]$ tar -zxvf vmwarevSphereHealthCheck.tar.gz vmwarevSphereHealthCheck/ vmwarevSphereHealthCheck/vmwarevSphereHealthCheck.pl vmwarevSphereHealthCheck/healthCheck.conf

3. You should now have a directory called vmwarevSphereHealthCheck and the script is located inside with a sample configuration file

4. If you decide to create a custom user to run this script, ensure the user has a minimum of the following permissions:

Datastore.Browse Global.Diagnostics Global.Licenses Sessions.TerminateSession Sessions.ValidateSession System.Anonymous System.Read System.View

Supported Use Cases:

1) This will collect information about all cluster(s)/host(s) providing vCenter Server:

./vmwarevSphereHealthCheck.pl --server VC_SERVER --username VC_USERNAME --password VC_PASSWORD --type vcenter

2) This will collect information about a specific datacenter provided with vCenter Server:

./vmwarevSphereHealthCheck.pl --server VC_SERVER --username VC_USERNAME --password VC_PASSWORD --type datacenter --datacenter DATACENTER_NAME

3) This will collect information about a specific cluster provided with vCenter Server:

./vmwarevSphereHealthCheck.pl --server VC_SERVER --username VC_USERNAME --password VC_PASSWORD --type cluster --cluster CLUSTER_NAME

4) This will collect information about a specific host provided with ESX/ESXi Server:

./vmwarevSphereHealthCheck.pl --server ESX_ESXi_SERVER --username ESX_ESXi_USERNAME --password ESX_ESXi_PASSWORD --type host

-

Additional Commandline Options:

Use a configuration file

./vmwarevSphereHealthCheck.pl --server VC_SERVER --username VC_USERNAME --password VC_PASSWORD --type vcenter --conf healthCheck.conf

Please take a look at the sample healthCheck.conf configuration file attached down below

Specify specific ESX/ESXi hosts to query

./vmwarevSphereHealthCheck.pl --server VC_SERVER --username VC_USERNAME --password VC_PASSWORD --type vcenter --hostlist hostlist

where hostlist can be any filename that contains the display name of a ESX/ESXi separated by a newline

e.g.

[vi-admin@scofield ]$ cat hostlist esx4-1.primp-industries.com esx4-2.primp-industries.com esxi4-1.primp-industries.com esxi4-2.primp-industries.com

Specify specific Virtual Machines to query

./vmwarevSphereHealthCheck.pl --server VC_SERVER --username VC_USERNAME --password VC_PASSWORD --type vcenter --vmlist vmlist

where vmlist can be any filename that contains the display name of a Virtual Machines separated by a newline

e.g.

[vi-admin@scofield ]$ cat vmlist Norman-CL1 ft-test-vm VA-Tomcat reflex-g2 vMA-2 build-centos build-ubuntu sam3testV2 Rhapsody goldmaster test-vm1 test-vm2 dummy

Email report

./vmwarevSphereHealthCheck.pl -server VC_SERVER --username VC_USERNAME --password VC_PASSWORD --type vcenter --email yes

Note:

Ensure that you have all the email variables configured either within the script or in the external configuration file, else the report will not be sent.

Hostd Log

To specify the number of the latest lines in the hostd logs, use --logcount \[number_of_lines\]

(e.g.)

./vmwarevSphereHealthCheck.pl -server VC_SERVER --username VC_USERNAME --password VC_PASSWORD --type vcenter --logcount 20

Cluster Performance Stats

To collect basic performance stats from all Clusters, note that the duration of the script may potentially increase. Only use if you need and by default it's disabled.

(e.g.)

./vmwarevSphereHealthCheck.pl -server VC_SERVER --username VC_USERNAME --password VC_PASSWORD --type vcenter --clusterperforamnce yes

Host Performance Stats

To collect basic performance stats from all Hosts, note that the duration of the script may potentially increase. Only use if you need and by default it's disabled.

(e.g.)

./vmwarevSphereHealthCheck.pl -server VC_SERVER --username VC_USERNAME --password VC_PASSWORD --type vcenter --hostperformance yes

VM Performance Stats

To collect basic performance stats from all VMs, note that the duration of the script may potentially double. Only use if you need and by default it's disabled.

(e.g.)

./vmwarevSphereHealthCheck.pl -server VC_SERVER --username VC_USERNAME --password VC_PASSWORD --type vcenter --vmperforamnce yes

Output printer friendly format

This will update the CSS in the html report to allow you to print the report in a friendly format

./vmwarevSphereHealthCheck.pl -server VC_SERVER --username VC_USERNAME --password VC_PASSWORD --type vcenter --printerfriendly yes

-

Custom Report Configuration

There are 54 parameters that can be configured to display various categories of the health check report. By default, everything is set to "yes" except the following 4:

CLUSTER_PERFORMANCE

HOST_PERFORMANCE

VM_PERFORMANCE

VM_DELTA

as these can potentially increase the amount of time the report takes to generate.

################### ## EMAIL OPTIONS ## ################### EMAIL_HOST=mail.primp-industries.com EMAIL_DOMAIN=primp-industries.com EMAIL_TO=william@primp-industries.com,tuan@primp-industries.com,monitoring@primp-industries.com EMAIL_FROM=vMA@primp-industries.com ################################### ## RESOURCE CONSUMPTION WARNINGS ## ################################### # yellow < 30% # orange < 15% # red < 10% YELLOW_WARN=30 ORANGE_WARN=15 RED_WARN=10 ############################ ## SNAPSHOT AGE WARNINGS ## ############################ # yellow > 15 days # orange > 30 days # red > 60 days SNAPSHOT_YELLOW_WARN=15 SNAPSHOT_ORANGE_WARN=30 SNAPSHOT_RED_WARN=60 ################# ## SYSTEM INFO ## ################# SYSTEM_LICENSE=yes SYSTEM_FEATURE=yes SYSTEM_PERMISSION=yes SYSTEM_SESSION=yes SYSTEM_HOST_PROFILE=yes SYSTEM_PLUGIN=yes ################# ## DVS ################# DVS_SUMMARY=yes DVS_CAPABILITY=yes DVS_CONFIG=yes ############################### ## DATASTORE CLUSTER OPTIONS ## ############################### DATASTORE_CLUSTER_SUMMARY=yes DATASTORE_CLUSTER_POD_CONFIG=yes DATASTORE_CLUSTER_POD_ADV_CONFIG=yes DATASTORE_CLUSTER_POD_STORAGE=yes ##################### ## CLUSTER OPTIONS ## ##################### CLUSTER_SUMMARY=yes CLUSTER_PERFORMANCE=no CLUSTER_HA=yes CLUSTER_DRS=yes CLUSTER_DPM=yes CLUSTER_AFFINITY=yes CLUSTER_RP=yes CLUSTER_VAPP=yes ################## ## HOST OPTIONS ## ################## HOST_HARDWARE_CONFIGURATION=yes HOST_MGMT=yes HOST_STATE=yes HOST_HEALTH=yes HOST_PERFORMANCE=no HOST_NIC=yes HOST_HBA=yes HOST_ISCSI=yes HOST_CAPABILITY=yes HOST_CONFIGURATION=yes HOST_ADVOPT=yes HOST_AGENT=yes HOST_NUMA=yes HOST_CDP=yes HOST_LUN=yes HOST_DATASTORE=yes HOST_CACHE=yes HOST_MULTIPATH=yes HOST_PORTGROUP=yes HOST_DVS=yes HOST_LOG=yes HOST_TASK=yes ################ ## VM OPTIONS ## ################ VM_STATE=yes VM_CONFIG=yes VM_STATS=yes VM_RESOURCE_ALLOCATION=yes VM_PERFORMANCE=no VM_FT=yes VM_EZT=yes VM_THIN=yes VM_DEVICE=yes VM_STORAGE=yes VM_NETWORK=yes VM_SNAPSHOT=yes VM_DELTA=no VM_CDROM=yes VM_FLOPPY=yes VM_RDM=yes VM_NPIV=yes VM_TOOL=yes ################# ## VMware Apps ## ################# VMW_APP=yes ################## ## VPX SETTINGS ## ################## VPX_SETTING=yes

-

Setup & Run Health Check Script on Windows

Here are instructions on configuring vSphere Health Check Script to run on Windows with PowerCLI submitted by user whinshaw

http://www.myvmland.com/?p=124

Note: For comments/inquires about this intergration, please refer to the author of the post.

Change Log

##########################################################################

02-17-2013 - v5.1.0

Enhancements:

Updated to support vSphere 5.1 and minor fixes

##########################################################################

12-29-2011 - v5.0.2

Enhancements:

Permission validation was recently added but had several unforeseen issues when logging in with domain accounts. For now, this has been removed. The documentation has been updated with the minimum permission set required to the run the script.

Added --debug flag for troubleshooting

Fixes:

Minor fixes in validation of output

##########################################################################

06-19-2011 - v5.0.0

Enhancements:

vCenter Server Instance UUID

vCenter hostname

Storage DRS Configuration (Maintenance Mode, Stats Aggregation, Stats Collection for Datastores)

FDM/HA Heartbeat Policy + Datastore

FDM/HA State

Host Agent Settings

Host New iSCSI Configuration/Information

Host FCoE HBAs

Host Source Packages for ESXi Services

Host ESXi Capabilities

Host SMC Hardware Information regarding OSX Support

Host Updated Firewall Rules (direction, port type, port, protocol and allowedIPs)

Host Cache SSD Datastore details

Host DVS IPFIX Details + NIOC

Virtual Machine Virtual Hardware Version

Virtual Machine Firmware, Initial overhead memory + swap

Virtual Machine State

Virtual Machine Snapshot consolidation + HA protection

Virtual Machine Detailed Disk Type (zeroedthick,eagerzeroedthick and thin)

Updated color mappings for multipath states

Support for standalone ESX(i) hosts without vCenter Clusters

New healthCheck.conf variables: DVS_SUMMARY, DVS_CAPABILITY, DVS_CONFIG, DATASTORE_CLUSTER_SUMMARY, DATASTORE_CLUSTER_POD_CONFIG, DATASTORE_CLUSTER_POD_ADV_CONFIG, DATASTORE_CLUSTER_POD_STORAGE, HOST_ISCSI, HOST_AGENT, HOST_CACHE, VM_STATE, VM_EZT

Updated color scheme for HTML report

##########################################################################

04-18-2011 - v4.1.9

Enhancements:

Included vCenter Server in title of report

Included time stamp in title of report

Fixes:

VM ratio count issue resolved

Can't locate object method "group" via package "ClusterConfigInfoEx"

Compressed memory metric display issue resolved

##########################################################################

01-23-11 - v4.1.6

Fixes:

Resolved CSS display issues with Chrome & Safari, report now should be compatible with Firefox, Internet Explorer, Chrome and Safari

##########################################################################

01-03-11 - v4.1.5

Fixes:

Minor fix on cluster info that causes the following error "Undefined subroutine &ClusterVmHostRuleInfo::vm called"

##########################################################################

10-16-2010 - v4.1.4

Enhancements:

VM count per cluster displayed in Cluster Summary tab

VM-to-Host ratio displayed in Cluster Summary tab

Fixes:

Minor fix on cluster info

Added VMware/3rd Party Application Section (some reason the code was missing during one of the updates)

##########################################################################

10-10-2010 - v4.1.3

Enhancements:

VM count per datastore

Fixes:

Fixed logic for checking SIOC for non-VMFS volumes

##########################################################################

07-22-2010 - v4.1.2

Fixes:

Updated script to support running on both vMA 4.0 and vMA 4.1. If you're managing ESX(i) or vCenter 4.1 hosts, you must use vMA 4.1

##########################################################################

07-13-2010 - v4.1.0

Enhancements:

DRS Affinity Rules In Compliance Mandatory User Created

DRS GROUP Rules Host group VM group

COS VMDK PATH

HA Configuration Issues

Host capabilities Storage IORM VM Directpath G2 vStorage Hardware Acceleration

Host Datastore SIOC State Congestion Threshold

Host Configurations

Feature specific version information

Host State Uptime Standby mode

VM State Uptime

Host Authentication Services Local Active Directory

VM Config

App Heartbeat

VM Stats Compressed memory

Host LUN vStorage/SIOC capable

Host Advanced Configuratoins VMFS3.HardwareAcceleratedLocking DataMover.Hardwar eAcceleratedMove DataMover.HardwareAcceleratedInit



##########################################################################

06-05-2010 - v4.0.8

Enhancements:

Added two new configuration options VMW_APP and VPX_SETTING

Added vCenter VPX Configuraton tab (only available when connecting to vCenter)

Added VMware Application tab (only available when connecting to vCenter)

Updated HA cluster failover policy display

Fixes:

Resolved minor html mis-match tags

##########################################################################

04-28-2010 - v4.0.7

Fixes:

Resolved issue with HA configuration policy failover

##########################################################################

04-02-2010 - v4.0.6

Enhancements:

Added VMFS blocksize + version in Datastore output

Added param to output printer friendly format

##########################################################################

04-01-2010 - v4.0.5

Enhancements:

Added VM Devices section (VM_DEVICE)

##########################################################################

03-27-2010 - v4.0.4

Enhancements:

Changed "Cluster Statistics" to "Cluster Summary" (CLUSTER_SUMMARY)

Added Table of Contents for Cluster Tab

Changed Cluster Performance "mem.usage.average " to "mem.consumed.average"

Added CLUSTER_SUMMARY as configurable property

Added DRS Current and Target balance information

Added VM list to Affinity Rules

Added CPU/MEMORY Shares info in Resource Pool under Cluster + CPU/MEM Units per VM

Added Lockdown Mode informaiton (applies to ESXi only)

Added 8 addtional Advanced Host Configuration including (NFS + TechSupport Mode configurations) NFS.MaxVolumes SendBufferSize ReceiveBufferSize Net.TcpipHeapSize NFS.HeartbeatFrequency NFS.HeartbeatTimeout NFS.HeartbeatMaxFailures VMkernel.Boot.techSupportMode

Added Host Capabilities section (HOST_CAPABLITIY)

Added VM Resource Allocation (shares/limits/etc) section (VM_RESOURCE_ALLOCATION)

Added vCenter Plugin information (SYSTEM_PLUGIN)

Fixes:

Resolved a few bad HTML tags

Known Issues:

Performance statistics may not display on certain runs due to known bug: http://communities.vmware.com/message/1498805#1498805

Big thanks goes out to Raphaël SCHITZ for providing some feature suggestions + extensive testing of the script!

##########################################################################

03-21-2010 - v4.0.1

Enhancements:

Email report now supports multiple email recipients

Fixes:

Thanks to user arjaysam1 for noticing there was some bad math going on with the hardware numeric sensor values, this has now been fixed so properly display the values (e.g. 48 C instead of 4800)

Thanks to user Altix for suggesting adding addtional padding to the CSS style for the scrollbar at the bottom for better visiblity

##########################################################################

03-18-2010 - v4.0.0

Enhancements:

The script has completely been re-written from the bottom up for better performance and modularity of the output. All categories that can be displayed is now configurable via a configuration file.

Ability to specify specific list of ESX/ESXi host to query via configuration file

Ability to specify specific list of Virtual Machines to query via configuration file

New html layout - Used the following references: http://www.sohtanaka.com/web-design/examples/tabs/#tab2 and http://webdevel.blogspot.com/2008/06/tabs-without-javascript.html

The new color scheme was inspired by VMware's homepage:

Cluster

HA Advanced Runtime information

HA Configuration (primary/secondary and node states)

HA Advanced Configurations

DRS Advanced Configurations

Host

IP/HOSTNAME of vCenter Management IP

Newly improved Hardware and System Health Status information

Advanced Configurations

NUMA information

Virtual Machine

UUID

Bootime

Resource statistics

Fault Tolerance information

Thin provisioned information

NPIV information

##########################################################################

02-28-2010 - v1.5.3

Enhancements:

-Added additional command line options to specify whether or not to includ Cluster,Host or VM performance stats, the default is to not display this information as it can increase the runtime of the script depending on the size of your environment

Fixes:

-Updated email functionality to have the report as an attachment

##########################################################################

02-13-2010 - v1.5.0

Enhancements:

-Added email report capablity

Fixes:

-Finally resolved performance data issue for VMs (Thanks to Raphael Schitz for reporting the initial problem and verifying the fix)

##########################################################################

01-21-2010 - v1.4.1

Fixes:

-Performance data was not properly displaying and now have been fixed for all 3 entity levels (cluster,host and vm)

##########################################################################

01-17-2010 - v1.4

Enhancements:

-Host configurations now includes vCenter managed IP Address

-Summary of User and Group permissions for vCenter server

-Host summary now includes Host & SCSI LUN Model attribute

-Host state summary now includes boottime

-Host LUNs now include additional information including Datastore,VolumeUUID,DiskName and DeviceName

-VM network summary now includes portgroup information from both standard vSwitches + distributed vSwitches

-Performance statistics (cpu/mem AVG+%) for both vCenter clusters and host

-Performance Statistics for VM (cpu/mem avg + %, ready & ballon) is optional.

Note:

Enabling VM performance stats gathering can potentially incrase the script execution up to 2x. From the sample execution in our envrironment, the report went from 46secs to 1.3min. By default this feature is disabled and you'll need to specify param --vmperformance 1 to enable at runtime.

##########################################################################

11-23-2009 - v1.3

Fixes:

-Fixed snmp output, small typo in the script

##########################################################################

05-24-2009 - v1.2

Fixes:

-Minor fix in nDVS that was causing script to halt

##########################################################################

05-04-2009 - v1.1

Enhancements:

-Display additional VM Storage details (committed,uncommitted and unshared)